Implementa otro conector de IAP en un clúster de GKE existente

En esta página, se describe el proceso para implementar un conector IAP local adicional en un clúster de Google Kubernetes Engine (GKE) existente en un entorno de producción. Ya debes estar familiarizado con herramientas como el SDK de Google Cloud, kubectl y Helm.

A fin de obtener una descripción general rápida de la implementación de un conector de IAP local por primera vez, consulta Habilita IAP para aplicaciones locales.

Antes de comenzar

Asegúrate de estar preparado para la implementación con lo siguiente:

  • Clúster de GKE existente
    • El clúster debe configurarse para usar VPC nativas (Alias de IP). La VPC en la que debería tener acceso a Internet a través de una ruta en la VPC (puerta de enlace NAT o de otra manera).
    • Para que los clústeres de GKE entreguen múltiples instancias de conector IAP desde un solo clúster, deben configurarse para escalar automáticamente, junto con los pods que atienden aplicaciones individuales.
  • Regla de firewall que permite el tráfico del clúster de GKE (nodo/pod) a la instancia de backend/local
  • Certificado SSL administrado por Google y la IP externa estática
  • El administrador de paquetes Helm (versión 2.0.0 o posterior) instalado en su máquina cliente local
  • Cloud NAT configurado en la subred para recuperar imágenes de Ambassador
  • Se aumentó el número de balanceador de cargas globales para acomodar los límites del certificado TLS descritos para grupos de destino y proxies de destino

Configure y, luego, implemente con Helm

  1. Comience con la clonación de este repositorio de GitHub.

  2. Configura el gráfico de Helm values_example.yaml que se encuentra en el directorio iap-connector/terraform-and-helm/iap-connector/helm/values donde clonaste el repositorio.

    En este gráfico, se muestra cómo implementar dos aplicaciones a través de dos proxies de Ambassador al clúster que comparte un único proxy de balanceador de cargas global. El proxy tiene dos certificados vinculados, uno para cada app. Este archivo de ejemplo se puede personalizar a fin de admitir el límite del proxy de entrada único.

    Una vez que el archivo YAML esté configurado, guárdalo como values.yaml.

  3. Inicializa Helm.

    helm init
    
  4. Conceda permiso a Helm para instalar en el clúster de GKE.

    kubectl create clusterrolebinding cluster-admin-binding --clusterrole cluster-admin
      --user system:serviceaccount:kube-system:default
    
  5. Instale el gráfico Helm para crear el balanceador de cargas global, el servicio de ingreso en GKE y los servicios de backend como se define en el archivo YAML.

    helm install --name my-release ./iap-connector -f values.yaml
    

Configure una aplicación de backend HTTP

De forma predeterminada, Ambassador con HTTPS implementa en el recurso de destino, pero tal vez prefieras un backend HTTP. Para cambiar tu implementación a HTTP, haz lo siguiente:

  1. Busca el servicio que deseas editar.

    kubectl get services
    
  2. Edite el servicio mediante la copia del nombre del servicio del comando anterior.

    kubectl edit service <serviceName>
    
  3. Busca la línea que comienza con service y cambia el protocolo de https a http y el número de puerto a 80.

    service:http://example.service.internal:80
    
  4. Quita la línea que especifica TLS.

    tls:true