Configure a conetividade da autoridade de certificação através de um proxy

Este guia explica como configurar a conetividade da autoridade de certificação (AC) através de um proxy quando a conetividade direta dos workloads injetados no sidecar não está disponível (por exemplo, devido a firewalls ou outras funcionalidades restritivas). Esta configuração só é aplicável a instalações da malha de serviços na nuvem que usam o serviço de autoridade de certificação.

Numa instalação típica do Cloud Service Mesh no cluster, implementa sidecars em pods de aplicações onde a conetividade direta aos serviços de CA (como meshca.googleapis.com e privateca.googleapis.com) está disponível. Em cenários em que não está disponível uma ligação direta, tem de configurar um proxy HTTPS explícito baseado em CONNECT.

Pré-requisitos

Antes de configurar a conetividade da CA através de um proxy, certifique-se de que tem:

  • Conectividade de rede estabelecida de todos os pods injetados do sidecar para o proxy HTTPS.
  • Acesso concedido ao proxy HTTPS implementado a todos os serviços Google Cloud .

Configure um recurso personalizado ProxyConfig

  1. Configure um recurso personalizado (CR) ProxyConfig do Istio para injetar no proxy sidecar de modo a apontar para o proxy HTTPS. Por exemplo:

    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>
    

    where:

    • CA_PLUGIN_PROXY_URL é a configuração consumida pelos sidecars para estabelecer uma sincronização CONNECT com o proxy, que encaminha todo o tráfego destinado à CA para o ponto final relevante.
    • proxy-service está implementado no espaço de nomes proxy-ns e a ouvir negociações CONNECT na porta proxy-port. O formato desta variável de ambiente é semelhante à variável de ambiente padrão HTTPS_PROXY.
  2. Depois de instalar o plano de controlo do Cloud Service Mesh, aplique o CR ProxyConfig adequado (configurado no passo 1) no cluster antes de reiniciar as cargas de trabalho nos espaços de nomes etiquetados do Cloud Service Mesh para garantir que a configuração é injetada corretamente nos sidecars. Esta configuração é necessária para que os sidecars recebam certificados de carga de trabalho assinados da AC, o que garante que o pod injetado do sidecar pode ser iniciado.