Kubernetes v1.33: Von Secrets zu Service Accounts: Die Entwicklung des Kubernetes Image-Pull-Vorgangs
Kubernetes hat sich weiterentwickelt, um seine Abhängigkeit von langlebigen Anmeldeinformationen, die in der API gespeichert sind, zu verringern. Ein bemerkenswertes Beispiel ist die Umstellung von Kubernetes Service Account Tokens von statischen auf ephemere Tokens mit OpenID Connect-kompatibler Semantik. Eine große Lücke besteht jedoch weiterhin bei der Authentifizierung für das Pullen von Images, wo Kubernetes-Cluster derzeit auf langlebige Image-Pull-Secrets oder kubelet-Credential-Provider auf Knotenebene angewiesen sind. Dies birgt Sicherheits- und betriebliche Herausforderungen, da Image-Pull-Secrets schwer zu rotieren sind und eine Kompromittierung zu unbefugtem Zugriff auf Images führen kann. Um dieses Problem anzugehen, führt Kubernetes die Service Account Token Integration für Kubelet Credential Providers ein, die es Credential-Providern ermöglicht, pod-spezifische Service Account Tokens zu verwenden, um Registry-Anmeldeinformationen zu erhalten. Diese Verbesserung beseitigt die Notwendigkeit von langlebigen Image-Pull-Secrets und bietet Workload-spezifische Authentifizierung, ephemere Anmeldeinformationen und eine nahtlose Integration mit bestehenden Kubernetes-Authentifizierungsmechanismen. Der neue Ansatz ermöglicht es kubelet-Credential-Providern, Workload Identity zu verwenden, wenn sie Image-Registry-Anmeldeinformationen abrufen, was Vorteile wie Sicherheit, granulare Zugriffskontrolle und betriebliche Einfachheit bietet. Das Feature ist derzeit in Alpha verfügbar und soll in Beta für Kubernetes v1.34 ausgeliefert werden. Die weitere Entwicklung konzentriert sich auf die Implementierung von Caching-Mechanismen und die Verbesserung der Flexibilität für Credential-Provider. Benutzer können das Feature ausprobieren, indem sie das Feature-Gate ServiceAccountTokenForKubeletCredentialProviders aktivieren und ihren Credential-Provider so modifizieren, dass er Service Account Tokens für die Authentifizierung verwendet. Die Kubernetes-Community freut sich über Feedback und ermutigt Benutzer, sich über den SIG Auth-Kanal auf Kubernetes Slack an der Entwicklung dieses Features zu beteiligen.
ServiceAccountTokenForKubeletCredentialProvidersaktivieren und ihren Credential-Provider so modifizieren, dass er Service Account Tokens für die Authentifizierung verwendet. Die Kubernetes-Community freut sich über Feedback und ermutigt Benutzer, sich über den SIG Auth-Kanal auf Kubernetes Slack an der Entwicklung dieses Features zu beteiligen.