Ingress
Ingress 对比
Kubernetes Ingress | NGINX Ingress | Kong Ingress | Traefik | HAproxy | Voyager | Contour | Istio Ingress | Ambassador | Gloo | Skipper | |
Protocols | http/https, http2, grpc, tcp/udp (partial) | http/https, http2, grpc, tcp/udp | http/https, http2, grpc, tcp (l4) | http/https, http2 (h2c), grpc, tcp, tcp+tls | http/https, http2, grpc, tcp, tcp+tls | http/https, http2, grpc, tcp, tcp+tls | http/https, http2, grpc, tcp/udp, tcp+tls | http/https, http2, grpc, tcp/udp, tcp+tls, mongo, mysql, redis | http/https, http2, grpc, tcp/udp, tcp+tls | http/https, http2, grpc, tcp, tcp+tls | http/https |
Based on | nginx | nginx/nginx plus | nginx | traefik | haproxy | haproxy | envoy | envoy | envoy | envoy | — |
Traffic routing | host, path (with regex) | host, path, header, method, query param (all with regex expect host) | host, path, method, header* | host (regex), path (regex), headers (regex), query, path prefix, method | host, path | host, path | host, path | host, path, method, header (all with regex) | host, path, method, header (all with regex) | host, path, method, header, query param (all with regex) | host, path, method, header (all with regex) |
Namespace limitations | All cluster or specified namespaces | All cluster or specified namespaces | Specified namespace | All cluster or specified namespaces | All cluster or specified namespaces | All cluster or specified namespaces | All cluster or specified namespaces | All cluster or specified namespaces | All cluster or specified namespaces | All cluster or specified namespaces | All cluster or specified namespaces |
Traffic distribution | canary, a/b (cookie balancing) | canary, a/b (routing rules), blue-green (service in the upstream) | canary, acl, blue-green, proxy caching* | canary, blue-green, shadowing | blue-green, shadowing | canary, blue-green, acl | canary, blue-green | canary, a/b, shadowing, http headers, acl, whitelist | canary, a/b, shadowing, http headers, acl, whitelist | canary, shadowing | canary, a/b, blue-green, shadowing, whitelist |
Upstream probes | retry, timeouts | retry, timeouts, active health checks (based on http probe for pod)* | active, circuit breaker | retry, timeouts, active, circuit breaker | check-uri, check-address, check-port | haproxy healthchecks | timeouts, active | retry, timeouts, active checks, circuit breakers | retry, timeouts, active checks, circuit breakers | retry, timeouts, circuit breakers | retry, timeouts, circuit breaker |
Load balancing | round-robin, sticky sessions, least-conn, ip-hash, ewma | round-robin, least-conn, ip-hash, hash, random, least-time*, sticky sessions* | weighted-round-robin, sticky sessions | weighted-round-robin, dynamic-round-robin, sticky sessions | round-robin, static-rr, leastconn, first, source, uri, url_param, header, sticky sessions | round-robin, static-rr, leastconn, first, source, uri, url_param, header, sticky sessions | round-robin, sticky sessions, weighted-least-request, ring hash, maglev, random | round-robin, sticky sessions, weighted-least-request, ring hash, maglev, random, limit conn, limit req | round-robin, sticky sessions, weighted-least-request, ring hash, maglev, random | round-robin, sticky sessions, least request, random | round-robin, sticky sessions, random |
Authentication | Basic, Client cert, external Basic, external OAuth | - | Basic, HMAC, Key, LDAP, OAuth 2.0, PASETO, OpenID Connect** | Basic, auth-url, auth-tls, external auth | Basic, OAuth, Auth TLS | Basic, OAuth, auth-tls, OAuth Google, OAuth GitHub | - | Basic, mutual tls, OpenID, custom auth | Basic, external auth, OAuth, OpenID | Basic*, external auth*, OAuth*, OpenID*, LDAP* | Basic, OAuth, OpenID |
Paid subscription | - | + | + | + | + | + | - | - | + | + | - |
GUI | - | + * ** | + * ** | + | - | - | - | - | - | + * | - |
JWT validation | - | + * | + ** | - | + ** | - | - | + | + * | + * | + |
Basic DDoS protection | rate limit, limit conn, liimt rps, limit rpm, limit-rate-after, limit-whitelist | max-conns, rate limit, rate-limits (with custom annotations) | advanced rate limit*, rate limit, request size limit, request termination, response rate limit | max-conns, rate limit, ip whitelist | limit-rps, limit-connections, limit-whitelist | max-conns, rate limit, whitelist | max-conns, max-request | acl, whitelist, rate limit | rate limit, load shedding | rate limit* | rate limit |
Requests tracing | + | + | + | + | - | - | - | + | + | + | + |
Config customization | + | + | + | + | + | + | - | + | - | - | + |
WAF | lua-resty-waf, ModSecurity | + * | Wallarm | - | ModSecurity | - | - | ModSecurity | - | ModSecurity* | - |
GitHub:starscommits (contributors)releases |
Loading...