Configura la connettività dell'autorità di certificazione tramite un proxy

Questa guida spiega come configurare la connettività dell'autorità di certificazione (CA) tramite un proxy quando la connettività diretta dai carichi di lavoro iniettati tramite sidecar non è disponibile (ad esempio a causa di firewall o altre funzionalità restrittive). Questa configurazione è applicabile solo per le installazioni di Cloud Service Mesh che utilizzano Certificate Authority Service.

In una tipica installazione di Cloud Service Mesh all'interno di un cluster, esegui il deployment dei sidecar nei pod di applicazione in cui è disponibile la connettività diretta ai servizi CA (come meshca.googleapis.com e privateca.googleapis.com). Nei scenari in cui non è disponibile una connessione diretta, devi configurare un proxy HTTPS esplicito basato su CONNECT.

Prerequisiti

Prima di configurare la connettività della CA tramite un proxy, assicurati di disporre di:

  • Connettività di rete stabilita da tutti i pod con injection di sidecar al proxy HTTPS.
  • È stato concesso l'accesso per il proxy HTTPS di cui è stato eseguito il deployment a tutti i servizi Google Cloud.

Configurare una risorsa personalizzata ProxyConfig

  1. Configura una risorsa personalizzata (CR) Istio ProxyConfig da iniettare nel proxy sidecar in modo che indichi il proxy HTTPS. Ad esempio:

    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>
    

    dove:

    • CA_PLUGIN_PROXY_URL è la configurazione utilizzata dai sidecar per stabilire un handshake CONNECT con il proxy, che inoltra tutto il traffico destinato alla CA all'endpoint pertinente.
    • proxy-service è dipiegato nello spazio dei nomi proxy-ns e rimane in ascolto per i handshake CONNECT sulla porta proxy-port. Il formato di questa variabile di ambiente è simile alla variabile di ambiente HTTPS_PROXY standard.
  2. Una volta installato il piano di controllo di Cloud Service Mesh, applica il ProxyConfig CR appropriato (configurato nel passaggio 1) al cluster prima di riavviare i carichi di lavoro negli spazi dei nomi etichettati di Cloud Service Mesh per assicurarti che la configurazione venga iniettata correttamente nei sidecar. Questa configurazione è obbligatoria per consentire ai sidecar di ricevere certificati dei carichi di lavoro firmati dalla CA, il che garantisce che il pod iniettato dal sidecar possa avviarsi.