Zertifizierungsstellenverbindung über einen Proxy konfigurieren
In diesem Leitfaden wird beschrieben, wie Sie die Verbindung zur Zertifizierungsstelle (Certificate Authority, CA) über einen Proxy konfigurieren, wenn keine direkte Verbindung von den über Sidecars bereitgestellten Arbeitslasten verfügbar ist (z. B. aufgrund von Firewalls oder anderen einschränkenden Funktionen). Diese Konfiguration gilt nur für Cloud Service Mesh-Installationen, die den Certificate Authority Service verwenden.
Bei einer typischen Cloud Service Mesh-Installation innerhalb eines Clusters werden Sidecars in Anwendungs-Pods bereitgestellt, in denen eine direkte Verbindung zu CA-Diensten (z. B. meshca.googleapis.com
und privateca.googleapis.com
) verfügbar ist. In Szenarien, in denen keine direkte Verbindung verfügbar ist, müssen Sie einen expliziten CONNECT
-basierten HTTPS-Proxy konfigurieren.
Vorbereitung
Bevor Sie die CA-Verbindung über einen Proxy konfigurieren, müssen folgende Voraussetzungen erfüllt sein:
- Es wurde eine Netzwerkverbindung von allen Pods, in die Sidecars eingeschleust wurden, zum HTTPS-Proxy hergestellt.
- Dem bereitgestellten HTTPS-Proxy Zugriff auf alle Google Cloud-Dienste gewährt.
Benutzerdefinierte ProxyConfig-Ressource konfigurieren
Konfigurieren Sie eine benutzerdefinierte Istio ProxyConfig-Ressource (CR), die in den Sidecar-Proxy eingefügt wird, um auf den HTTPS-Proxy zu verweisen. Beispiel:
apiVersion: networking.istio.io/v1beta1 kind: ProxyConfig metadata: labels: istio.io/rev: <istio-rev> # To target proxies mapped to a specific control plane if needed. name: test-proxy-inject namespace: istio-system # To ensure side-cars injected into all namespaces process this CR spec: environmentVariables: CA_PLUGIN_PROXY_URL: http://<proxy-service>.<proxy-ns>:<proxy-port>
Dabei gilt:
CA_PLUGIN_PROXY_URL
ist die Konfiguration, die von Sidecars verwendet wird, um einenCONNECT
-Handshake mit dem Proxy herzustellen, der dann den gesamten Traffic an den entsprechenden Endpunkt weiterleitet.proxy-service
ist im Namespaceproxy-ns
bereitgestellt und wartet aufCONNECT
-Handshakes am Portproxy-port
. Das Format dieser Umgebungsvariablen ähnelt dem der StandardumgebungsvariablenHTTPS_PROXY
.
Nachdem die Cloud Service Mesh-Steuerungsebene installiert wurde, wenden Sie die entsprechende
ProxyConfig
-Kopienressource (in Schritt 1 konfiguriert) auf den Cluster an, bevor Sie die Arbeitslasten in Namespaces mit Cloud Service Mesh-Label neu starten, damit die Konfiguration korrekt in die Sidecars eingefügt wird. Diese Konfiguration ist erforderlich, damit Sidecars signierte Arbeitslastzertifikate von der Zertifizierungsstelle erhalten. So wird sichergestellt, dass der von Sidecars bereitgestellte Pod gestartet werden kann.