Cilium Cheatsheet

Cilium CheatsheetKapitel 02 von 11

Cilium-Install und kube-proxy-Replacement

Stand Cilium 1.20 · Edition 2026.11 · Release-Daten geprüft am 30. Oktober 2026

Helm-Install

Ohne kube-proxy müssen k8sServiceHost / k8sServicePort gesetzt sein, sonst findet der Agent den API-Server nicht (den Service löst sonst niemand auf). Chart per OCI, cosign-signiert, Version ohne v pinnen (oder per Digest).

helm install cilium \
  oci://quay.io/cilium/charts/cilium \
  --version 1.20.4 -n kube-system \
  --set kubeProxyReplacement=true \
  --set k8sServiceHost=<api-server-ip> \
  --set k8sServicePort=6443

kube-proxy-Replacement

eBPF übernimmt ClusterIP, NodePort, LoadBalancer, externalIPs und HostPort.

Socket-LB: übersetzt Service auf Backend schon beim connect()/sendmsg(), kein Paket-Rewriting auf dem Pfad.

Mit Istio (Sidecar oder Ambient) immer cni.exclusive=false, damit Istios CNI-Plugin erhalten bleibt. Kube-proxy-frei zusätzlich socketLB.hostNamespaceOnly=true, sonst greift Socket-LB schon im Pod und stört die Umleitung zum Istio-Proxy. Die Cilium-Doku empfiehlt mit Istio weiterhin kubeProxyReplacement=false. Unter Istio-mTLS sieht Cilium kein L7, L7-Policies nicht in beiden Systemen pflegen.

kubectl -n kube-system exec ds/cilium -- \
  cilium-dbg status --verbose | \
  grep KubeProxyReplacement

LoadBalancer ohne Cloud

IP-Pools per CiliumLoadBalancerIPPool (cilium.io/v2), auch für den Gateway-Service. Bekanntgabe per L2 (l2announcements.enabled=true, Beta, braucht kube-proxy-Replacement und ein höheres k8sClientRateLimit, plus CiliumL2AnnouncementPolicy) oder BGP (bgpControlPlane.enabled=true, v2-CRDs). cilium-dbg bgp ist seit 1.20 deprecated, Ersatz im Agent-Pod cilium-dbg shell -- bgp/*.