Networking


Calico ist bereits in jedem Cluster installiert. Calico wird gegenüber dem Standardwerkzeug flannel bevorzugt und ist für das Networking zwischen Kubernetes-Pods verantwortlich.

Standardmäßig wird jedem Pod, der im Cluster gestartet wird, eine IP von Calico zugewiesen. Ausgenommen davon sind Pods, die in ihrer YAML-Deklaration den Wert "spec.hostNetwork: true" gesetzt haben.

Für alle anderen Pods werden IP-Adressen vergeben, basierend auf einem globalen Pool aus einem von Calico gewählten Subnetz. Der globale Pool ist in "IP Pool" unter der CRD crd.projectcalico.org zu finden. Falls keine andere Einstellung gespeichert wurde, heißt die einzige CRD default-ipv4-ippool und vergibt für diesen Pool das clusterweite Netz 192.168.0.0/16. Das Management dieses Netzes unterliegt ausschließlich Calico und das Routing von/in dieses Netz muss mit Calico abgestimmt werden.


Basierend auf dem globalen Pool vergibt Calico pro Node ein Subnetz aus dieser Range, worin wiederum Pods platziert werden. Die Zuordnung von Node zu Subnetz und CIDR ist in der CRD Block Affinity zu finden. Ebenfalls ist die Zuordnung von Pod-IPs zum Offset im Netzwerk zu finden.