Configurer la connectivité de l'autorité de certification via un proxy
Ce guide explique comment configurer la connectivité de l'autorité de certification (CA) via un proxy lorsque la connectivité directe des charges de travail injectées par le sidecar n'est pas disponible (par exemple, en raison de pare-feu ou d'autres fonctionnalités restrictives). Cette configuration ne s'applique qu'aux installations Cloud Service Mesh qui utilisent Certificate Authority Service.
Dans une installation Cloud Service Mesh typique dans le cluster, vous déployez des side-cars dans les pods d'application où la connectivité directe aux services CA (par exemple, meshca.googleapis.com et privateca.googleapis.com) est disponible. Dans les scénarios où une connexion directe n'est pas disponible, vous devez configurer un proxy HTTPS CONNECT explicite.
Prérequis
Avant de configurer la connectivité de l'autorité de certification via un proxy, assurez-vous d'avoir:
- Connectivité réseau établie à partir de tous les pods injectés par sidecar au proxy HTTPS.
- Accès accordé au proxy HTTPS déployé à tous les services Google Cloud .
Configurer une ressource personnalisée ProxyConfig
Configurez une ressource personnalisée (CR) Istio ProxyConfig à injecter dans le proxy de sidecar pour qu'il 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_URLest la configuration utilisée par les sidecars pour établir un échange de clésCONNECTavec le proxy, qui transfère ensuite tout le trafic destiné à la CA vers le point de terminaison approprié.proxy-serviceest déployé dans l'espace de nomsproxy-nset écoute les poignées de mainCONNECTsur le portproxy-port. Le format de cette variable d'environnement est semblable à celui de la variable d'environnementHTTPS_PROXYstandard.
Une fois le plan de contrôle de Cloud Service Mesh installé, appliquez la CR
ProxyConfigappropriée (configurée à l'étape 1) sur le cluster avant de redémarrer les charges de travail dans les espaces de noms libellés Cloud Service Mesh pour vous assurer que la configuration est correctement injectée dans les sidecars. Cette configuration est requise pour que les sidecars obtiennent des certificats de charge de travail signés auprès de l'autorité de certification, ce qui garantit que le pod injecté par le sidecar peut démarrer.