Verbindung der Zertifizierungsstelle über einen Proxy konfigurieren

w

In dieser Anleitung wird erläutert, wie Sie Verbindungen zu Zertifizierungsstellen (Certificate Authority, CA) über einen Proxy konfigurieren, wenn keine direkte Verbindung von den in Sidecar eingefügten Arbeitslasten verfügbar ist (z. B. aufgrund von Firewalls oder anderen restriktiven Funktionen). Diese Konfiguration gilt nur für Cloud Service Mesh-Installationen, die den Certificate Authority Service verwenden.

Bei einer typischen Cloud Service Mesh-Installation im Cluster stellen Sie Sidecars in Anwendungs-Pods bereit, in denen eine direkte Verbindung zu CA-Diensten wie 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 Zertifizierungsstellenverbindung über einen Proxy konfigurieren, müssen folgende Voraussetzungen erfüllt sein:

  • Netzwerkverbindung von allen in die Sidecar-Datei eingefügten Pods zum HTTPS-Proxy hergestellt.
  • Dem bereitgestellten HTTPS-Proxy wurde Zugriff auf alle Google Cloud-Dienste gewährt.

Benutzerdefinierte ProxyConfig-Ressource konfigurieren

  1. Konfigurieren Sie eine benutzerdefinierte Istio-ProxyConfig-Ressource (CR), die in den Sidecar-Proxy eingefügt wird, damit er auf den HTTPS-Proxy verweist. 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 genutzt wird, um einen CONNECT-Handshake mit dem Proxy einzurichten, der dann den gesamten von der Zertifizierungsstelle bestimmten Traffic an den entsprechenden Endpunkt weiterleitet.
    • proxy-service wird im Namespace proxy-ns bereitgestellt und überwacht den Port proxy-port auf CONNECT-Handshakes. Das Format dieser Umgebungsvariablen ähnelt dem Format der standardmäßigen HTTPS_PROXY-Umgebungsvariable.
  2. Nachdem die Cloud Service Mesh-Steuerungsebene installiert wurde, wenden Sie die entsprechende ProxyConfig-Antwortvorlage (konfiguriert in Schritt 1) auf den Cluster an, bevor Sie Arbeitslasten in Namespaces mit Cloud Service Mesh-Label neu starten. So sorgen Sie dafür, dass die Konfiguration korrekt in die Sidecars eingefügt wird. Diese Konfiguration ist erforderlich, damit Sidecar-Dateien signierte Arbeitslastzertifikate von der Zertifizierungsstelle abrufen können. Dadurch wird sichergestellt, dass der in die Sidecar-Datei eingefügte Pod gestartet werden kann.