Kubernetes v1.36: Abkündigung und Entfernung von Service ExternalIPs
Quelle: Kubernetes Blog
2 Minuten Lesezeit

Kubernetes v1.36: Abkündigung und Entfernung von Service ExternalIPs

In Kubernetes v1.36 wird das .spec.externalIPs-Feld für Services offiziell als veraltet markiert und soll in zukünftigen Versionen entfernt werden. Dies geschieht aufgrund von Sicherheitsbedenken, da

TL;DR

In Kubernetes v1.36 wird das .spec.externalIPs-Feld für Services offiziell als veraltet markiert und soll in zukünftigen Versionen entfernt werden. Dies geschieht aufgrund von Sicherheitsbedenken, da die Funktionalität potenzielle Angriffsvektoren birgt. Alternativen wie manuell verwaltete LoadBalancer-Services oder der Einsatz von Drittanbieter-Load-Balancer-Controllern wie MetalLB werden empfohlen.

Hauptinhalt

Kubernetes hat das .spec.externalIPs-Feld für Services, das ursprünglich dazu gedacht war, cloud-ähnliche Load-Balancer-Funktionalitäten in nicht-cloudbasierten Clustern bereitzustellen, in der Version 1.36 als veraltet erklärt. Die Entscheidung wurde getroffen, nachdem festgestellt wurde, dass die API davon ausgeht, dass alle Benutzer im Cluster vollständig vertrauenswürdig sind. In Szenarien, in denen dies nicht zutrifft, könnten Sicherheitsanfälligkeiten, wie sie in CVE-2020-8554 beschrieben sind, ausgenutzt werden. Um die Nutzung des .spec.externalIPs-Feldes zu reduzieren, wurde bereits in Kubernetes 1.21 empfohlen, dieses Feld zu deaktivieren, und ein Admission Controller namens DenyServiceExternalIPs wurde eingeführt.

Die Sicherheitsprobleme, die mit der Nutzung von .spec.externalIPs verbunden sind, bleiben weiterhin bestehen. Daher wird erwartet, dass in einer zukünftigen Version von Kubernetes die Implementierung dieser Funktionalität aus kube-proxy entfernt wird. Zudem werden die Kriterien für die Kubernetes-Konformität aktualisiert, um sicherzustellen, dass konforme Implementierungen die Unterstützung für .spec.externalIPs nicht bieten.

Es ist wichtig zu beachten, dass der Begriff “externe IP” in Kubernetes mehrere Bedeutungen hat. Die Abkündigung bezieht sich spezifisch auf das .spec.externalIPs-Feld. Wenn dieses Feld nicht in den Services verwendet wird, ist die Abkündigung nicht relevant. Dennoch wird empfohlen, den DenyServiceExternalIPs Admission Controller zu aktivieren, um eine zukünftige Nutzung des .spec.externalIPs-Feldes zu verhindern.

Technische Details/Implikationen

Für Benutzer, die das .spec.externalIPs-Feld derzeit verwenden, stehen mehrere Alternativen zur Verfügung. Eine Möglichkeit besteht darin, von .spec.externalIPs auf einen LoadBalancer-Service zu wechseln, wobei die Load-Balancer-IP manuell zugewiesen wird. Dies hat jedoch ähnliche Sicherheitsimplikationen, da die IP-Adresse in der .status des Services gespeichert wird und nur von Benutzern mit entsprechenden Berechtigungen bearbeitet werden kann.

Eine bessere Alternative ist die Verwendung eines nicht-cloudbasierten Load-Balancer-Controllers, wie MetalLB. Dieser ermöglicht es Administratoren, IP-Adressbereiche zu konfigurieren, die den Services zugewiesen werden können, und stellt sicher, dass keine zwei Services dieselbe IP-Adresse verwenden. Dies löst die Sicherheitsprobleme, die mit der Nutzung von .spec.externalIPs verbunden sind.

Fazit/Ausblick

Die Abkündigung des .spec.externalIPs-Feldes in Kubernetes v1.36 stellt einen wichtigen Schritt in Richtung einer sichereren Cluster-Architektur dar. Die Nutzung von Alternativen wie MetalLB wird empfohlen, um die Funktionalität eines Load-Balancers sicher und effizient bereitzustellen.

Originalartikel

Veröffentlicht von Kubernetes Blog

Zum Original-Artikel

Automatisierte Zusammenfassung

Dieser Beitrag wurde automatisch aus dem englischsprachigen Original erstellt und auf Deutsch zusammengefasst. Wir bieten diesen Service an, um Sie bei der oft zerklüfteten und überwiegend englischsprachigen News-Situation im Bereich Cloud-Native Software, Souveräne Cloud, Kubernetes und Container-Technologien zeitnah auf Deutsch zu informieren.

Ähnliche Artikel

Kontakt aufnehmen