Déployer un autre connecteur IAP sur un cluster GKE existant

Cette page décrit la procédure à suivre pour déployer un connecteur IAP sur site supplémentaire sur un cluster Google Kubernetes Engine (GKE) existant dans un environnement de production. Vous devez déjà bien connaître des outils tels que le SDK Google Cloud, kubectl et Helm.

Pour une présentation rapide du déploiement d'un connecteur IAP sur site pour la première fois, consultez la page Activer IAP pour les applications sur site.

Avant de commencer

Assurez-vous d'être prêt pour le déploiement avec :

    • Un cluster GKE existant
    • Le cluster doit être configuré pour utiliser un VPC natif (alias d'adresse IP). Le VPC dans lequel il se trouve doit disposer d'un accès Internet via une route dans le VPC (passerelle NAT ou autre).
    • Pour que les clusters GKE servent plusieurs instances de connecteur IAP à partir d'un seul cluster, ils doivent être configurés pour effectuer un autoscaling, avec les pods desservant les applications individuelles.
  • Règle de pare-feu autorisant le trafic à partir du cluster GKE (nœud/pod) vers l'instance backend/sur site
  • Certificat SSL géré par Google et adresse IP externe statique
  • Installation du gestionnaire de packages Helm (version 2.0.0 ou ultérieure) sur l'ordinateur client local
  • Configuration de Cloud NAT sur un sous-réseau pour récupérer des images Ambassador
  • Augmentation du nombre d'équilibreurs de charge globaux pour les adapter aux limites des certificats TLS décrites pour les pools cibles et proxys cibles

Configurer et déployer avec Helm

  1. Commencez par cloner ce dépôt GitHub.

  2. Configurez le chart Helm values_example.yaml situé dans le répertoire iap-connector/terraform-and-helm/iap-connector/helm/values où vous avez cloné le dépôt.

    Le chart montre comment déployer deux applications via deux proxys Ambassador sur le cluster partageant un même proxy d'équilibrage de charge global. Le proxy est lié à deux certificats, un pour chaque application. Cet exemple de fichier peut être personnalisé pour prendre en charge jusqu'à la limite du proxy d'entrée unique.

    Une fois le fichier YAML configuré, enregistrez-le sous values.yaml.

  3. Initialisez Helm.

    helm init
    
  4. Accordez à Helm l'autorisation d'installer l'application dans le cluster GKE.

    kubectl create clusterrolebinding cluster-admin-binding --clusterrole cluster-admin
      --user system:serviceaccount:kube-system:default
    
  5. Installez le chart Helm pour créer l'équilibreur de charge global, le service d'entrée dans GKE et les services de backend définis dans le fichier YAML.

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

Configurer une application backend HTTP

Par défaut, Ambassador déploie via HTTPS vers la ressource ciblée, mais vous pouvez préférer un backend HTTP. Pour remplacer votre déploiement par HTTP, procédez comme suit :

  1. Recherchez le service que vous souhaitez modifier.

    kubectl get services
    
  2. Modifiez le service en copiant le nom du service généré à partir de la commande précédente.

    kubectl edit service <serviceName>
    
  3. Recherchez la ligne commençant par service et modifiez le protocole de https à http et définissez le numéro de port sur 80.

    service:http://example.service.internal:80
    
  4. Supprimez la ligne qui spécifie TLS.

    tls:true