Configurar la conectividad de la autoridad certificadora a través de un proxy

En esta guía, se explica cómo configurar la conectividad de la AC a través de un proxy cuando no está disponible la conectividad directa desde las cargas de trabajo inyectadas por el archivo adicional (por ejemplo, debido a firewalls o a otras funciones restrictivas). Esta configuración solo se aplica a las instalaciones de Cloud Service Mesh que usan Certificate Authority Service.

En una instalación típica de Cloud Service Mesh en el clúster, implementa sidecars Pods de la aplicación en los que la conectividad directa a los servicios de AC (como meshca.googleapis.com y privateca.googleapis.com) está disponible. En situaciones en las que no hay una conexión directa disponible, debes configurar una proxy HTTPS explícito basado en CONNECT.

Requisitos previos

Antes de configurar la conectividad de la AC a través de un proxy, asegúrate de tener lo siguiente:

  • Se estableció la conectividad de red de todos los Pods insertados de sidecar al HTTPS proxy.
  • Se otorga acceso para el proxy HTTPS implementado a todos los servicios de Google Cloud.

Configura un recurso personalizado de ProxyConfig

  1. Configura un Recurso personalizado (CR) de ProxyConfig de Istio para insertar en el proxy de sidecar para que apunten al proxy HTTPS. Por ejemplo:

    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>
    

    Donde:

    • CA_PLUGIN_PROXY_URL es la configuración que consumen los objetos secundarios para establecer un protocolo de enlace CONNECT con el proxy, que luego reenvía todo el tráfico destinado a la AC al extremo relevante.
    • proxy-service se implementa en el espacio de nombres proxy-ns y escucha los protocolos de enlace CONNECT en el puerto proxy-port. El formato de esta variable de entorno es similar al de la variable de entorno HTTPS_PROXY estándar.
  2. Una vez que se haya instalado el plano de control de Cloud Service Mesh, aplica la CR ProxyConfig adecuada (configurada en el paso 1) en el clúster antes de reiniciar las cargas de trabajo en los espacios de nombres etiquetados de Cloud Service Mesh para asegurarte de que la configuración se inserte correctamente en los contenedores secundarios. Esta configuración es obligatoria para que los contenedores secundarios obtengan certificados de carga de trabajo firmados de la AC, lo que garantiza que se pueda iniciar el pod insertado en el contenedor secundario.