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

Cette page explique comment configurer la connectivité d'une autorité de certification via un proxy lorsque la connectivité directe depuis les charges de travail injectées au side-car n'est pas disponible (en raison de pare-feu ou d'autres fonctionnalités restrictives, par exemple). Cette configuration ne s'applique qu'aux installations Anthos Service Mesh qui utilisent Certificate Authority Service.

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

Prérequis

Avant de configurer la connectivité des autorités de certification via un proxy, assurez-vous d'avoir:

  • Connectivité réseau établie entre tous les pods injectés dans le side-car vers le proxy HTTPS.
  • L'accès au proxy HTTPS déployé est accordé à tous les services Google Cloud.

Configurer une ressource personnalisée ProxyConfig

  1. Configurez une ressource personnalisée (CR) Istio ProxyConfig à injecter dans le proxy side-car pour qu'elle pointe 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 transmet ensuite tout le trafic destiné aux CA vers le point de terminaison correspondant.
    • proxy-service est déployé dans l'espace de noms proxy-ns et écoute les handshakes CONNECT sur le port proxy-port. Le format de cette variable d'environnement est semblable à la variable d'environnement HTTPS_PROXY standard.
  2. Une fois le plan de contrôle Anthos Service Mesh installé, appliquez la RS ProxyConfig appropriée (configurée à l'étape 1) sur le cluster avant de redémarrer les charges de travail dans les espaces de noms libellés Anthos Service Mesh, afin de vous assurer que la configuration est correctement injectée dans les side-cars. Cette configuration est requise pour que les side-cars puissent obtenir des certificats de charge de travail signés de l'autorité de certification, ce qui garantit que le pod side-car injecté peut démarrer.