2024
März
05
2024

K8s Cloud Controller Manager für cloudscale

Kubernetes-Setups bei cloudscale können jetzt noch enger mit unserer Infrastruktur interagieren: Unser Cloud Controller Manager (CCM) ermöglicht das Anreichern von Node-Metadaten mit Informationen aus unserer API und die automatisierte Nutzung unseres Load-Balancer-Produkts.

Automatische Metadaten zu Nodes

Mit unserem CCM weiss dein K8s-Cluster jetzt noch besser über die beteiligten Nodes Bescheid. Ganz automatisch werden Metadaten zu den Nodes von unserer Cloud-API geholt, z.B. die IP-Adresse(n) des jeweiligen virtuellen Servers oder seine geographische Region/Zone. Auch lässt sich unterscheiden, ob ein Node gelöscht oder bloss ausgeschaltet worden ist. Ebenfalls verfügbar ist der Compute-Flavor; dies ermöglicht es etwa, gewisse Workloads gezielt auf Nodes zu platzieren, die einen "Plus"-Flavor verwenden und damit permanent die gewählte Anzahl CPU-Cores exklusiv zur Verfügung haben.

Unser CCM ist auf GitHub verfügbar und unterstützt die drei jeweils aktuellsten Minor-Releases von Kubernetes. Ebenfalls auf GitHub zu finden ist die entsprechende Dokumentation mit Beispielen sowie ein Helper, um den CCM in einem Test-Cluster auszuprobieren.

K8s-Services mit unserem LBaaS-Feature

Nebst detaillierteren Informationen zur unterliegenden Infrastruktur ermöglicht der CCM auch die automatisierte Verwaltung unseres LBaaS-Features. Wähle hierzu den type: LoadBalancer für einen Service in Kubernetes. Der Load Balancer kann deinen Service wahlweise aus dem Internet erreichbar machen oder nur in einem deiner privaten Netze.

Eingehende Requests verteilt der Load Balancer im privaten Netz auf die Nodes des K8s-Clusters, die dazu kein eigenes "public" Interface benötigen. Dabei können die zulässigen Clients bereits auf Ebene des Load Balancers auf die gewünschten IPs bzw. IP-Ranges eingeschränkt werden. Um im Backend trotz NAT die IP-Adressen der Clients erkennen oder loggen zu können, nutze das "proxy" bzw. "proxyv2" Protokoll, das u.a. von nginx unterstützt wird.

Unser Load-Balancer-Service soll den Betrieb hochverfügbarer Services unterstützen und vereinfachen. Beachte jedoch, dass das Anwenden von Konfigurationsänderungen via CCM eine gewisse Downtime bedingen kann – ungefähre Angaben zu den verschiedenen unterstützten Fällen findest du ebenfalls in der Dokumentation.


Dank unserem CCM lassen sich Tasks automatisieren, weil dein K8s-Cluster auf zusätzliche Angaben über die Infrastruktur und auf unseren Load-Balancer-Service zurückgreifen kann. So erhöhst du nicht nur die Effizienz deines Setups, sondern auch die Verfügbarkeit für deine User.

Alles unter Kontrolle.
Dein cloudscale-Team

Zurück zur Übersicht