Compatibilité du proxy pour les clusters associés conformes à la CNCF

Si votre organisation utilise un proxy HTTP pour le trafic Internet, vous devez configurer les clusters associés à GKE en conséquence. Ce document explique comment effectuer cette configuration.

Avant de commencer

Les clusters associés à GKE nécessitent une connectivité à différents services Google Cloud. Assurez-vous que votre serveur proxy autorise le trafic vers les domaines suivants :

  • .gcr.io
  • cloudresourcemanager.googleapis.com
  • container.googleapis.com
  • gkeconnect.googleapis.com
  • gkehub.googleapis.com
  • oauth2.googleapis.com
  • securetoken.googleapis.com
  • storage.googleapis.com
  • sts.googleapis.com
  • www.googleapis.com
  • servicecontrol.googleapis.com
  • logging.googleapis.com
  • monitoring.googleapis.com
  • opsconfigmonitoring.googleapis.com
  • GCP_LOCATION-gkemulticloud.googleapis.com

Remplacez GCP_LOCATION par la région Google Cloud dans laquelle se trouve votre cluster. Spécifiez us-west1 ou une autre région compatible.

Configurer la compatibilité du proxy pour les clusters associés à GKE

Pour configurer la compatibilité du proxy pour les clusters associés à GKE, procédez comme suit :

  1. Créez un fichier de configuration de proxy contenant les valeurs des clés httpProxy, noProxy et httpsProxy :

    {
    "httpProxy": HTTP_PROXY_AUTHENTICATION_URL,
    "httpsProxy": HTTPS_PROXY_AUTH_URL,
    "noProxy": NO_PROXY_ADDRESSES
    }
    

    Remplacez les éléments suivants :

    • HTTP_PROXY_AUTHENTICATION_URL : URL du serveur proxy qui se compose d'un nom d'hôte/d'une adresse IP et éventuellement d'un port, d'un nom d'utilisateur et d'un mot de passe. Par exemple : http://user:password@192.0.2.0:80 ou simplement 198.51.100.255.
    • HTTPS_PROXY_AUTH_URL : URL du proxy pour le trafic HTTPS chiffré, qui se compose d'un nom d'hôte/d'une adresse IP et éventuellement d'un port, d'un nom d'utilisateur et d'un mot de passe.
    • NO_PROXY_ADDRESSES : liste des URL, des blocs CIDR et des noms DNS des ressources pouvant contourner le proxy, séparés par une virgule. Elle indique aux clusters associés à GKE d'éviter d'utiliser le proxy pour les ressources spécifiées. Tenez compte des informations suivantes :
      • Les valeurs peuvent être des adresses IP individuelles, des plages CIDR, des noms de domaine ou même le caractère astérisque (*). L'utilisation d'un seul astérisque (*) dans le champ noProxy indique aux clusters associés à GKE de contourner le proxy pour tout le trafic.
      • Un domaine commençant par un point, tel que .google.com, cible l'ensemble de ses sous-domaines. Par exemple, .google.com inclut des adresses telles que mail.google.com et drive.google.com, mais exclut google.com.
      • Veillez à inclure les domaines kubernetes.default.svc.cluster.local et kubernetes.default.svc pour garantir une journalisation appropriée. Voici un exemple : 198.51.100.0,192.0.2.0/16,examplepetstore.com,.altostrat.com,kubernetes.default.svc.cluster.local, kubernetes.default.svc.

    Lorsque vous créez le fichier de configuration du proxy, respectez les consignes suivantes :

    • Les champs httpProxy et httpsProxy n'acceptent pas les préfixes https://. Utilisez http://, même si l'adresse du serveur proxy commence par https://. Par exemple, https://proxy.example.com:3128 doit être représenté par http://proxy.example.com:3128.
    • Vous devez impérativement indiquer des valeurs pour les trois champs httpProxy, httpsProxy et noProxy.
    • Envisagez d'ajouter des domaines, des adresses IP ou des plages CIDR supplémentaires à la liste noProxy. Nous vous recommandons d'inclure la plage d'adresses IP du VPC.
  2. Créez un secret Kubernetes contenant la configuration du proxy en exécutant la commande suivante :

    kubectl create secret generic SECRET_NAME \
    --from-file=PROXY_CONFIGURATION_FILE
    

    Remplacez les éléments suivants :

    • SECRET_NAME : nom du secret Kubernetes
    • PROXY_CONFIGURATION_FILE : chemin d'accès à la configuration du proxy créée à l'étape 1
  3. Marquez le secret Kubernetes comme immuable en définissant son champ immutable sur true :

    kubectl edit secret SECRET_NAME
    

    Remplacez SECRET_NAME par le nom du secret Kubernetes.

  4. Configurez un cluster nouveau ou existant pour qu'il utilise le proxy :

    Nouveau cluster

    Pour enregistrer un nouveau cluster et appliquer la configuration du proxy, exécutez la commande gcloud container attached clusters register. Veillez à fournir les arguments facultatifs --proxy-secret-name et --proxy-secret-namespace :

    gcloud container attached clusters register CLUSTER_NAME \
      --proxy-secret-name=SECRET_NAME \
      --proxy-secret-namespace=SECRET_NAMESPACE
    

    Remplacez les éléments suivants :

    • CLUSTER_NAME : nom du cluster
    • SECRET_NAME : nom du secret Kubernetes contenant la configuration du proxy
    • SECRET_NAMESPACE : espace de noms Kubernetes dans lequel le secret est stocké

    Pour en savoir plus sur tous les arguments que vous pouvez utiliser lors de l'enregistrement d'un cluster, consultez la commande gcloud container attached clusters register.

    Cluster existant

    Pour mettre à jour un cluster précédemment enregistré avec une nouvelle configuration de proxy, exécutez la commande gcloud container attached clusters update. Veillez à fournir les arguments facultatifs --proxy-secret-name et --proxy-secret-namespace :

    gcloud container attached clusters update CLUSTER_NAME \
      --proxy-secret-name=SECRET_NAME \
      --proxy-secret-namespace=SECRET_NAMESPACE
    

    Remplacez les éléments suivants :

    • CLUSTER_NAME : nom du cluster
    • SECRET_NAME : nom du secret Kubernetes contenant la configuration du proxy
    • SECRET_NAMESPACE : espace de noms Kubernetes dans lequel le secret est stocké

    Cette étape est obligatoire si les informations concernant votre serveur proxy ont changé ou si l'enregistrement initial du cluster ne tenait pas compte des exigences concernant le proxy.

    Pour en savoir plus sur tous les arguments que vous pouvez utiliser lors de la mise à jour d'un cluster, consultez la commande gcloud container attached clusters update.

Une fois ces étapes effectuées, les clusters associés à GKE traitent le trafic Internet sortant à l'aide du serveur proxy spécifié dans le fichier de configuration.