Profilanwendbarkeit: Stufe 2
Verschlüsseln Sie den Datenverkehr zu HTTPS-Lastenausgleichern mit von Google verwalteten
SSL-Zertifikaten.
Die Verschlüsselung des Datenverkehrs zwischen Benutzern und der Kubernetes-Arbeitslast
ist grundlegend für den Schutz von über das Web gesendeten Daten.
Von Google verwaltete SSL-Zertifikate werden für Domänennamen bereitgestellt, erneuert
und verwaltet. Dies ist nur für HTTPS-Load-Balancer verfügbar, die mit Ingress-Ressourcen
erstellt wurden, und nicht für TCP/UDP-Load-Balancer, die mit dem Dienst von
type:LoadBalancer
erstellt wurden.![]() |
HinweisStandardmäßig werden von Google verwaltete SSL-Zertifikate nicht erstellt, wenn eine
Ingress-Ressource definiert wird.
|
Auswirkung
Von Google verwaltete SSL-Zertifikate sind weniger flexibel als Zertifikate, die selbst
beschafft und verwaltet werden. Verwaltete Zertifikate unterstützen eine einzelne,
nicht-wildcard Domain. Selbstverwaltete Zertifikate können Wildcards und mehrere alternative
Subjektnamen (SANs) unterstützen.
Prüfung
Verwendung der Befehlszeile:
Ermitteln Sie, ob Arbeitslasten öffentlich über Dienste von
type:LoadBalancer
zugänglich sind:kubectl get svc -A -o json | jq '.items[] | select(.spec.type=="LoadBalancer")'
Erwägen Sie die Verwendung von Ingressen anstelle dieser Dienste, um von Google verwaltete
SSL-Zertifikate zu nutzen.
Für die Eingänge innerhalb des Clusters führen Sie den folgenden Befehl aus:
kubectl get ingress -A -o json | jq .items[] | jq '{name: .metadata.name, annotations: .metadata.annotations, namespace: .metadata.namespace, status: .status}'
Der obige Befehl sollte den Namen des Ingress, den Namespace, die Anmerkungen und
den Status zurückgeben. Überprüfen Sie, ob die folgende Anmerkung vorhanden ist, um
sicherzustellen, dass verwaltete Zertifikate referenziert werden.
"annotations": { ... "networking.gke.io/managed-certificates": "<example_certificate>" },
Der Vollständigkeit halber führen Sie den folgenden Befehl aus, um sicherzustellen,
dass die verwaltete Zertifikatsressource existiert:
kubectl get managedcertificates -A
Der obige Befehl gibt eine Liste verwalteter Zertifikate zurück, für die
<example_certificate>
im selben Namespace wie das Ingress existieren sollte.Wiederherstellung
Wenn Dienste von
type:LoadBalancer
entdeckt werden, ziehen Sie in Betracht, den Dienst durch ein Ingress zu ersetzen.Um das Ingress zu konfigurieren und von Google verwaltete SSL-Zertifikate zu verwenden,
folgen Sie diesen Anweisungen.