Ansichten:
Profilanwendbarkeit: Stufe 2
Verschlüsseln Sie den Datenverkehr zu HTTPS-Load-Balancern mit von Google verwalteten SSL-Zertifikaten.
Die Verschlüsselung des Datenverkehrs zwischen Benutzern und der Kubernetes-Workload ist grundlegend für den Schutz von über das Web gesendeten Daten.
Von Google verwaltete SSL-Zertifikate werden für Domainnamen 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 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 erworben und verwaltet werden. Verwaltete Zertifikate unterstützen eine einzelne, nicht-wildcard Domain. Selbstverwaltete Zertifikate können Wildcards und mehrere alternative Namen (SANs) unterstützen.

Prüfung

Verwendung der Befehlszeile:
Identifizieren Sie, ob es öffentlich zugängliche Workloads gibt, die Dienste von type:LoadBalancer verwenden:
kubectl get svc -A -o json | jq '.items[] | select(.spec.type=="LoadBalancer")'
Erwägen Sie die Verwendung von Ingresses 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>" 
  },
Um die Vollständigkeit zu gewährleisten, führen Sie den folgenden Befehl aus, um sicherzustellen, dass die verwaltete Zertifikatsressource existiert:
kubectl get managedcertificates -A
Der obige Befehl gibt eine Liste von verwalteten Zertifikaten 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.