Configurer la connectivité de l'autorité de certification via un proxy

Ce guide explique comment configurer la connectivité de l'autorité de certification via un proxy lorsque la connectivité directe des charges de travail injectées via le side-car est non disponible (par exemple, en raison de pare-feu ou d'autres restrictions). Cette configuration ne s'applique qu'aux installations Cloud Service Mesh qui utilisent Certificate Authority Service.

Dans une installation classique de Cloud Service Mesh dans un cluster, vous déployez des side-cars pods d'application où une connectivité directe aux services d'autorité de certification (tels que meshca.googleapis.com et privateca.googleapis.com) est disponible. Dans dans les cas où aucune connexion directe n'est disponible, vous devez HTTPS explicite basé sur CONNECT.

Prérequis

Avant de configurer la connectivité CA via un proxy, assurez-vous d'avoir:

  • Connectivité réseau établie à partir de tous les pods injectés via side-car vers le protocole HTTPS proxy.
  • Accès à tous les services Google Cloud accordé au proxy HTTPS déployé.

Configurer une ressource personnalisée ProxyConfig

  1. Configurez un Ressource personnalisée Istio ProxyConfig (CR) à injecter dans le proxy side-car pour pointer vers le proxy HTTPS. Exemple :

    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>
    

    où :

    • CA_PLUGIN_PROXY_URL est la configuration utilisée par les side-cars pour établir un handshake CONNECT avec le proxy, qui transfère ensuite toutes les adresses le trafic vers le point de terminaison approprié.
    • proxy-service est déployé dans l'espace de noms proxy-ns et écoute handshakes CONNECT sur le port proxy-port. Format de cet environnement est semblable à la variable d'environnement standard HTTPS_PROXY.
  2. Une fois le plan de contrôle Cloud Service Mesh installé, appliquez la la RS ProxyConfig appropriée (configurée à l'étape 1) sur le cluster avant en redémarrant les charges de travail dans des espaces de noms Cloud Service Mesh pour garantir est correctement injectée dans les side-cars. Cette configuration pour que les side-cars obtiennent des certificats de charge de travail signés de l'autorité de certification, ce qui garantit le démarrage du pod avec injection side-car.