Cilium

Zweck

Cilium wird als CNI (Container Network Interface) für alle Kubernetes-Cluster eingesetzt.

Funktionen

  • Pod Networking

  • Service Load Balancing

  • Network Policies

  • IPv4 / IPv6 Dual Stack

  • Gateway API

  • L2 Announcements

  • eBPF-basierte Datenebene

Architektur

Cilium ersetzt kube-proxy und übernimmt die Netzwerkfunktionen des Clusters.

Pod
  |
Cilium
  |
Node
  |
Netzwerk

Installation

helm upgrade --install cilium \
  oci://quay.io/cilium/charts/cilium \
  --namespace kube-system \
  --values cilium/values.yaml

LoadBalancer

L2 Announcements werden verwendet, um LoadBalancer IPs im lokalen Netzwerk bereitzustellen.

kubectl apply -f cilium/l2-announcement-policy.yaml
kubectl apply -f cilium/loadbalancer-ippool.yaml

Dual Stack

Alle Cluster werden mit IPv4 und IPv6 betrieben.

Weitere Informationen:

Network Policies

Cilium wird für Kubernetes Network Policies eingesetzt.

Beispiel:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: example
spec:
  podSelector: {}
  policyTypes:
    - Ingress

Troubleshooting

Status prüfen

cilium status

Pods prüfen

kubectl get pods -n kube-system \
  -l k8s-app=cilium

Logs

kubectl logs -n kube-system \
  daemonset/cilium