Firewalls von Fortinet verfügen über SDN-Konnektoren und lassen sich so mit diversen externen Komponenten wie OpenStack, Public-Cloud-Providern wie AWS oder Google oder eben auch Kubernetes koppeln. Außerdem bieten die FortiGate-Modelle einen Loadbalancer, der über die genannten Konnektoren an die privaten IP-Adressen der Container kommen kann, um diese ins Routing zu integrieren. Damit die Firewall als Loadbalancer jedoch weiß, an welchen physischen Host sie die Pakete für den entsprechenden Dienst schicken soll, fehlt eine letzte Komponente, die die Zuordnung der laufenden Kubernetes-Pods zu den physischen Hosts schafft. Hier kommt das Netzwerk-Plug-in "Calico" von Tigera zum Einsatz. Es ermöglicht, die gewünschte Information über das Border Gateway Protocol (BGP) zu exportieren – damit ist das Routing zu den einzelnen Kubernetes-Pods gesichert. Der Vorteil dieses Konstrukts ist, dass ein Netzwerkgerät die Pakete verteilt. Zum anderen lassen sich sämtliche Sicherheitsfunktionen vorschalten, die die Firewall bietet, um den Dienst so vor Angriffen zu schützen.
Der erste Schritt in unserem Workshop ist also das Ausrollen von Calico als Netzwerk-Plug-in. Das Kubernetes-Deployment-File im YAML-Format laden Sie unter [1] herunter. Das Kommando »kubectl apply -f calico.yaml
«
rollt dann das Plug-in innerhalb des Clusters aus und verteilt es auf die Knoten. Sie müssen das Plug-in aber noch konfigurieren, zum Beispiel ist die Firewall als BGP-Peer einzutragen. Hierfür stehen zwei Möglichkeiten zur Auswahl: Mit dem Programm "calicoctl" können Sie ein eigenes Binary herunterladen. Die aktuellen Releases finden Sie unter [2]. Alternativ gibt es von Tigera den Calico-API-Server. Einmal installiert, lässt sich dann kubectl nutzen, um die zum Calico-Bereich gehörenden Ressourcen zu verwalten. Nutzen Sie das
Der komplette Artikel ist nur für Abonnenten des ADMIN Archiv-Abos verfügbar.