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 :
Créez un fichier de configuration de proxy contenant les valeurs des clés
httpProxy
,noProxy
ethttpsProxy
:{ "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 simplement198.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 champnoProxy
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 quemail.google.com
etdrive.google.com
, mais exclutgoogle.com
. - Veillez à inclure les domaines
kubernetes.default.svc.cluster.local
etkubernetes.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
.
- 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 (
Lorsque vous créez le fichier de configuration du proxy, respectez les consignes suivantes :
- Les champs
httpProxy
ethttpsProxy
n'acceptent pas les préfixeshttps://
. Utilisezhttp://
, même si l'adresse du serveur proxy commence parhttps://
. Par exemple,https://proxy.example.com:3128
doit être représenté parhttp://proxy.example.com:3128
. - Vous devez impérativement indiquer des valeurs pour les trois champs
httpProxy
,httpsProxy
etnoProxy
. - 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.
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 KubernetesPROXY_CONFIGURATION_FILE
: chemin d'accès à la configuration du proxy créée à l'étape 1
Marquez le secret Kubernetes comme immuable en définissant son champ
immutable
surtrue
:kubectl edit secret SECRET_NAME
Remplacez
SECRET_NAME
par le nom du secret Kubernetes.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 clusterSECRET_NAME
: nom du secret Kubernetes contenant la configuration du proxySECRET_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 clusterSECRET_NAME
: nom du secret Kubernetes contenant la configuration du proxySECRET_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.