Sidecar-Sizing
Envoy (Istio): Speicher wächst mit der Zahl
der Listener, Cluster und Routen, also mit dem
Sidecar-Scope (Messwerte: Datapath-Box).
Pflicht: Sidecar-Resource pro
Namespace, sonst bekommt jeder Proxy die Config aller Services.
linkerd2-proxy: keine veröffentlichten Richtwerte, selbst messen.
ztunnel (Ambient): ein Pod je Node (DaemonSet), Kosten skalieren mit Nodes statt Pods.
Push-Storm-Vermeidung
Istio: Sidecar.egress.hosts
einschränken, ab 1.31 auch per Ausschluss (*/*
plus ~ns1/*). Delta-xDS ist seit 1.22 Default. Ambient
ab ∼40.000 Workloads: ISTIO_GPRC_MAXRECVMSGSIZE an
istiod anheben.
Linkerd: kein Full-Push. Jeder Proxy abonniert
je Ziel einen Stream (destination.Get) und bekommt nur
Deltas aus EndpointSlices. Engpass ist der Speicher des
Destination-Controllers bei hohem Pod-Churn (2.20: in
Einzelfällen fast 85 % weniger).
Cilium: L3/L4 ohne xDS (BPF-Maps),
L7-Konfiguration bekommt der Node-Envoy per xDS vom Agent.
cilium-agent-CPU bei vielen Identities prüfen.
Projekte und Quellen
- Istio (CNCF Graduated): istio.io/latest/docs · github.com/istio/istio · cncf.io/projects/istio
- Linkerd (CNCF Graduated): linkerd.io/2-edge · github.com/linkerd/linkerd2 · cncf.io/projects/linkerd
- Cilium (CNCF Graduated): docs.cilium.io, Service Mesh · github.com/cilium/cilium · cncf.io/projects/cilium
- Kuma (CNCF Sandbox): kuma.io/docs · github.com/kumahq/kuma · cncf.io/projects/kuma
- Consul (HashiCorp, kein CNCF-Projekt): developer.hashicorp.com/consul · github.com/hashicorp/consul
- Gateway API (Kubernetes SIG Network): gateway-api.sigs.k8s.io, GAMMA · github.com/kubernetes-sigs/gateway-api
- Envoy (CNCF Graduated, Proxy in Istio, Cilium, Kuma und Consul): envoyproxy.io/docs · github.com/envoyproxy/envoy · cncf.io/projects/envoy