Cambiar la configuración de proxy del clúster

La versión 1.8 de GKE en AWS añade la posibilidad de modificar la configuración del proxy de un clúster sin tener que volver a crearlo.

Cambiar el proxy de tu servicio de gestión

Para modificar la configuración del proxy de tu servicio de gestión de GKE en AWS, sigue estos pasos:

  1. Actualiza el contenido del archivo proxy.json del servicio de gestión, tal como se describe en el artículo Crear el archivo JSON de configuración del proxy.

  2. Vuelve a ejecutar anthos-gke aws management init y anthos-gke aws management apply para aplicar los cambios al servicio de gestión.

Cambiar el proxy de un clúster de usuarios

Cuando creas un clúster de usuarios, se utilizan los ajustes de proxy del servicio de gestión. Para cambiar la configuración del proxy de un clúster de usuarios sin modificar la del servicio de gestión, debes crear un secreto de Kubernetes que contenga la información del proxy y, a continuación, usar kubectl para aplicar los cambios.

Crear un secreto de Kubernetes

  1. Primero, crea un archivo YAML con el siguiente contenido para describir el secreto. El secreto debe definirse como opaco e inmutable. En este ejemplo se usa el nombre de archivo proxy-secret.yaml.

     apiVersion: v1
     kind: Secret
     metadata:
       name: PROXY_SECRET
     type: Opaque
     immutable: true
     stringData:
       # You can include additional key value pairs as you do with Opaque Secrets
       httpProxy: HTTP_PROXY
       httpsProxy: HTTPS_PROXY
       noProxy: NO_PROXY_LIST
     

    Sustituye:

    • HTTP_PROXY con la dirección del servidor proxy para enrutar las solicitudes HTTP a través de
    • HTTPS_PROXY con una dirección de servidor proxy opcional para enrutar las solicitudes HTTPS
    • NO_PROXY_LIST con una lista opcional de IPs, intervalos CIDR y dominios de tu VPN para los que no se debe usar un proxy
    • PROXY_SECRET con el nombre que elijas para el secreto
  2. Aplica los cambios para crear el secreto:

    env HTTPS_PROXY=http://localhost:8118 \
       kubectl apply -f ./proxy-secret.yaml
    

Actualiza las configuraciones del clúster de usuarios y del grupo de nodos

A continuación, actualiza la configuración de AWSCluster y AWSNodePool para que haga referencia al nombre del secreto en spec.proxySecretName y spec.controlPlane.proxySecretName, respectivamente.

Por último, ejecuta el siguiente comando para actualizar el clúster de usuarios.

   env HTTPS_PROXY=http://localhost:8118 \
     kubectl apply -f CLUSTER_YAML_FILE

Sustituye CLUSTER_YAML_FILE por el nombre del archivo YAML que define tu clúster.

Cambios de estado de los clústeres de usuarios

Después de ejecutar el comando kubectl apply para aplicar la nueva configuración de proxy, el estado del clúster de usuarios cambiará de Provisioned a Updating y, a continuación, volverá a Provisioned cuando haya terminado.

Configurar proxies para más de un clúster de usuarios

Si tienes varios clústeres de usuarios y quieres configurar diferentes proxies para cada uno de ellos, sigue las instrucciones de la sección Cambiar el proxy de un clúster de usuarios para cada uno de tus clústeres. Debes crear un Kubernetes Secret diferente para cada proxy y actualizar la configuración de cada clúster de usuarios por separado para hacer referencia al nombre del Secret de ese clúster de usuarios.

Rotar proxies de un clúster de usuarios

Para cambiar la configuración de proxy de un clúster que ya tiene una configuración de proxy individual, crea y aplica un nuevo Secret con la nueva configuración de proxy y un nombre de Secret diferente. Si reutilizas el nombre del secreto actual, la configuración del proxy del clúster no cambiará.

Solución de problemas

Si el secreto no tiene el formato correcto o faltan claves obligatorias, el comando falla y el cambio no se aplica. Para comprobar si tu Secret se ha validado correctamente, consulta el registro de eventos de Kubernetes de AWSClusters y AWSNodePools con el siguiente comando:

   env HTTPS_PROXY=http://localhost:8118 \
     kubectl get events

Si se ha producido un error en la configuración de Secret, elimina el secreto con el siguiente comando:

  env HTTPS_PROXY=http://localhost:8118 \
    kubectl delete secret SECRET_NAME
  

Sustituye SECRET_NAME por el nombre de tu secreto.

A continuación, vuelve a crear el secreto con un archivo YAML de secreto de proxy con el formato correcto y vuelve a aplicar el cambio. Puedes usar el mismo nombre de secreto que en el primer intento.

Más información

Para configurar los ajustes de proxy por primera vez, consulta Usar un proxy.

Para crear una VPC de AWS específica, consulta el artículo sobre cómo instalar el servicio de gestión.