Usa un proxy con clústeres de Anthos alojados en AWS.

En este tema, se muestra cómo enrutar el tráfico desde el servicio de administración de clústeres de Anthos en GKE (GKE on AWS) y Connect a través de un proxy HTTP o HTTPS.

Los clústeres de Anthos en AWS requieren acceso a Internet por los siguientes motivos:

  • El servicio administrado registra clústeres de usuarios con Connect.
  • Los clústeres de usuario ejecutan el agente de Connect.
  • Todos los nodos de servicio de administración y clúster de clústeres de usuarios descargan imágenes de Container Registry.

Puedes enrutar este tráfico a través de un proxy HTTP o HTTPS. A partir de los clústeres de Anthos en AWS 1.8, puedes configurar ajustes de proxy individuales para tu servicio de administración y cada uno de tus clústeres. Para obtener más información sobre cómo cambiar la configuración del proxy, consulta Cambia la configuración del proxy de clúster.

Debes declarar la configuración del proxy en un archivo JSON al que se hace referencia en anthos-gke.yaml.

Requisitos previos

Antes de configurar los clústeres de Anthos en AWS para usar un proxy, debes habilitar los extremos de VPC de AWS, definir un grupo de seguridad para el proxy y permitir las conexiones salientes a ciertos servicios de Google Cloud.

Para usar un proxy HTTP, los clústeres de usuario deben ejecutar Kubernetes 1.17 o una versión superior.

Habilita extremos de VPC

Antes de configurar un proxy, debes crear extremos de VPC para tu instalación de clústeres de Anthos en AWS. Los extremos de VPC permiten que los recursos de las subredes privadas accedan a los servicios de AWS sin acceso a la Internet pública.

En la siguiente tabla, se enumeran los servicios de AWS en los que los clústeres de Anthos en AWS requieren de extremos de VPC, junto con el tipo de extremo y los grupos de seguridad para cada clúster de Anthos en el componente de AWS que requiere acceso al extremo.

Servicio Tipo de extremo Grupos de seguridad
Ajuste de escala automático Interfaz Administración, plano de control, grupos de nodos
EC2 Interfaz Administración, plano de control, grupos de nodos
Balanceo de cargas Interfaz Administración, plano de control, grupos de nodos
Servicio de administración de claves Interfaz Administración, plano de control, grupos de nodos
S3 Puerta de enlace Administración, plano de control, grupos de nodos
Servicio de tokens de seguridad (STS) Interfaz Administración, plano de control, grupos de nodos

Puedes crear extremos desde la consola de VPC de AWS. Las opciones que estableces cuando creas extremos de VPC dependen de tu configuración de VPC.

Define un grupo de seguridad

Tus componentes de clústeres de Anthos en AWS deben poder conectarse al servidor proxy. Crea o ubica un grupo de seguridad de AWS que permita conexiones salientes a tu servidor proxy. El grupo de seguridad debe permitir el acceso saliente desde los grupos de seguridad de la administración, el plano de control y los grupos de seguridad del grupo de nodos a la dirección y el puerto del proxy. Guarda el ID de este grupo de seguridad (por ejemplo, sg-12345678).

Tipo Protocolo Del puerto Al puerto Dirección
Salida TCP Puerto proxy: Puerto proxy: Grupo de seguridad del proxy

Permite conexiones salientes a los servicios de Google Cloud

Para que los clústeres de Anthos en AWS se conecten a los servicios de Google Cloud, el servidor proxy debe permitir el tráfico a los siguientes dominios:

  • gkeconnect.googleapis.com
  • gkehub.googleapis.com
  • oauth2.googleapis.com
  • storage.googleapis.com
  • www.googleapis.com
  • gcr.io
  • k8s.gcr.io
  • EC2-REGION.ec2.archive.ubuntu.com

Reemplaza EC2-REGION por la región EC2 de AWS en la que se ejecuta la instalación de los clústeres de Anthos en AWS. Por ejemplo, us-west-1.ec2.archive.ubuntu.com/

Si usas Anthos Service Mesh con Prometheus y Kiali, debes permitir el acceso saliente desde los siguientes dominios:

  • docker.io
  • quay.io

Crea el archivo de configuración JSON del proxy

El archivo JSON de configuración del proxy contiene un objeto que tiene tres pares clave-valor, con los nombres de clave httpProxy, httpsProxy y noProxy. Los nombres de usuario y las contraseñas se encriptan en sobre con tu clave de KMS de AWS antes de aplicarlas al servidor.

{
  "httpProxy": "HTTP_PROXY",
  "httpsProxy": "HTTPS_PROXY",
  "noProxy": "NO_PROXY"
}

Reemplaza lo siguiente:

  • HTTP_PROXY por la dirección del servidor proxy para enrutar las solicitudes HTTP.
  • HTTPS_PROXY por el servidor proxy para enrutar las solicitudes HTTPS.
  • NO_PROXY por una lista opcional de IP, rangos CIDR y dominios en los que no se usa el proxy.

Consulta Referencia de la configuración para obtener más información. Por ejemplo, la siguiente configuración usa un proxy en 10.0.0.254 y excluye varios sitios.

{
  "httpProxy": "http://user:password@10.0.0.254:80",
  "httpsProxy": "http://user:password@10.0.0.254:443",
  "noProxy": "localhost,127.0.0.1,169.254.169.254,10.0.0.0/16,example.com"
}

Agrega el proxy a anthos-gke.yaml

Para configurar AWSManagementService, realiza los siguientes pasos:

  1. Cambia al directorio con la configuración de los clústeres de Anthos en AWS. Creaste este directorio cuando instalaste el servicio de administración.

    cd anthos-aws

  2. Abre anthos-gke.yaml en un editor de texto. Agrega un valor para spec.proxy como en el siguiente ejemplo.

    apiVersion: multicloud.cluster.gke.io/v1
    kind: AWSManagementService
    metadata:
      name: management
    spec:
      version: aws-1.14.1-gke.0
      proxy: PROXY_JSON_FILE
      securityGroupIDs:
      - SECURITY_GROUP_ID
      ...
    

    Reemplaza lo siguiente:

    • PROXY_JSON_FILE por la ruta de acceso relativa de la configuración JSON del proxy.
    • SECURITY_GROUP_ID por el ID de un grupo de seguridad con acceso al servidor proxy

    Guarda el archivo.

  3. Ejecuta anthos-gke aws management init para generar un archivo anthos-gke.status.yaml con configuración adicional. El comando init también valida el objeto AWSManagementService en tu archivo anthos-gke.yaml.

    anthos-gke aws management init
    
  4. Ejecuta anthos-gke aws management apply para actualizar el servicio administrado en AWS.

    anthos-gke aws management apply
    
  5. A continuación, Crea un clúster de usuario. Incluye el grupo de seguridad del proxy en los spec.controlPlane.securityGroupIDs y spec.securityGroupIDs de AWSCluster, y AWSNodePool, respectivamente. Luego, el clúster tiene acceso al proxy.

Referencia de la configuración

Campo Descripción Ejemplo Obligatorio
httpProxy Una URL del servidor proxy. El valor debe incluir un nombre de host y una dirección IP, y de forma opcional un puerto, un nombre de usuario y una contraseña. "http://user:password@10.184.37.42:80"
httpsProxy Una URL del proxy para el tráfico encriptado y HTTPS. Se usará la URL httpProxy si no se proporciona httpsProxy. "http://user:password@10.101.16.31:80" No
noProxy Una lista de URL separadas por comas que se debe excluir del proxy. Cada valor puede ser una dirección IP, un rango de CIDR, un nombre de dominio o el carácter asterisco (*). Los dominios especificados con un punto al principio (p. ej., “.google.com”) indican que se requiere un subdominio. Un asterisco * único indica que no se debe realizar ningún proxy. "1.2.3.4,10.0.0.0/16,example.com,.site.com" No

¿Qué sigue?

Para obtener más información sobre cómo completar la instalación de unos clústeres de Anthos en AWS, consulta los siguientes vínculos:

Para obtener información sobre cómo cambiar la configuración de proxy del clúster, consulta los siguientes vínculos: