Ansichten:
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.
Hinweis
Hinweis
Standardmäß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.