Verbindung der Zertifizierungsstelle über einen Proxy konfigurieren

In diesem Leitfaden wird erläutert, wie Sie die Verbindung einer Zertifizierungsstelle konfigurieren über einen Proxy, wenn die direkte Verbindung von den in Sidecar eingefügten Arbeitslasten nicht verfügbar ist, z. B. aufgrund von Firewalls oder anderen restriktiven Funktionen. Diese Konfiguration gilt nur für Cloud Service Mesh-Installationen, die Certificate Authority Service

Bei einer typischen Cloud Service Mesh-Installation im Cluster stellen Sie Sidecars in Anwendungs-Pods, die direkte Verbindungen zu CA-Diensten (z. B. meshca.googleapis.com und privateca.googleapis.com) ist verfügbar. 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:

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

Benutzerdefinierte ProxyConfig-Ressource konfigurieren

  1. Konfigurieren Sie ein Benutzerdefinierte Istio-Ressource ProxyConfig (CR) in den Sidecar-Proxy einzufügen, 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 verwendet wird, um einen CONNECT-Handshake mit dem Proxy herzustellen, der dann den gesamten Traffic an den entsprechenden Endpunkt weiterleitet.
    • proxy-service wird im Namespace proxy-ns bereitgestellt und überwacht sie auf CONNECT-Handshakes auf Port proxy-port. Das Format dieser Umgebungsvariablen ähnelt dem der Standardumgebungsvariablen HTTPS_PROXY.
  2. Nachdem die Cloud Service Mesh-Steuerungsebene installiert wurde, wenden Sie die entsprechende Antwortvorlage ProxyConfig (in Schritt 1 konfiguriert) im Cluster vor Arbeitslasten in Namespaces mit Cloud Service Mesh-Label neu starten, um sicherzustellen, Konfiguration korrekt in die Sidecars eingefügt. Diese Konfiguration ist sind erforderlich, damit Sidecars signierte Arbeitslastzertifikate von der Zertifizierungsstelle abrufen können, die sorgt dafür, dass der in die Sidecar-Datei eingefügte Pod gestartet werden kann.