Wenn Ihre Organisation einen HTTP-Proxy für den Internetverkehr verwendet, müssen Sie angehängte GKE-Cluster entsprechend konfigurieren. In diesem Dokument wird beschrieben, wie Sie diese Konfiguration vornehmen.
Hinweise
Für angehängte GKE-Cluster ist eine Verbindung zu verschiedenen Google Cloud Diensten erforderlich. Achten Sie darauf, dass Ihr Proxyserver Traffic zu den folgenden Domains zulässt:
.gcr.iocloudresourcemanager.googleapis.comcontainer.googleapis.comgkeconnect.googleapis.comgkehub.googleapis.comoauth2.googleapis.comsecuretoken.googleapis.comstorage.googleapis.comsts.googleapis.comwww.googleapis.comservicecontrol.googleapis.comlogging.googleapis.commonitoring.googleapis.comopsconfigmonitoring.googleapis.comGCP_LOCATION-gkemulticloud.googleapis.com
Ersetzen Sie GCP_LOCATION durch die Google Cloud Region, in der sich Ihr Cluster befindet. Geben Sie us-west1 oder eine andere unterstützte Region an.
Proxyunterstützung für angehängte GKE-Cluster konfigurieren
So konfigurieren Sie die Proxyunterstützung für angehängte GKE-Cluster:
Erstellen Sie eine Proxy-Konfigurationsdatei, die Werte für die Schlüssel
httpProxy,noProxyundhttpsProxyenthält:{ "httpProxy": HTTP_PROXY_AUTHENTICATION_URL, "httpsProxy": HTTPS_PROXY_AUTH_URL, "noProxy": NO_PROXY_ADDRESSES }Ersetzen Sie Folgendes:
HTTP_PROXY_AUTHENTICATION_URL: die Proxy-Server-URL, die aus einem Hostnamen/einer IP-Adresse und optional einem Port, einem Nutzernamen und einem Passwort besteht. Beispiel:http://user:password@192.0.2.0:80oder198.51.100.255.HTTPS_PROXY_AUTH_URL: die Proxy-URL für verschlüsselten HTTPS-Traffic, die aus einem Hostnamen/IP-Adresse und optional einem Port, einem Nutzernamen und einem Passwort besteht.NO_PROXY_ADDRESSES: eine kommagetrennte Liste an URLs, CIDR-Blöcken und DNS-Namen von Ressourcen, die den Proxy umgehen können. Dadurch wird GKE-angehängten Clustern mitgeteilt, dass der Proxy für die angegebenen Ressourcen nicht verwendet werden soll. Beachten Sie dabei Folgendes:- Werte können einzelne IP-Adressen, CIDR-Bereiche, Domainnamen oder auch das Sternchenzeichen (*) sein. Wenn Sie im Feld
noProxyein einzelnes Sternchen (*) verwenden, wird der Proxy für alle Traffic in GKE-angehängten Clustern übersprungen. - Eine Domain, die mit einem Punkt beginnt, z. B.
.google.com, bezieht sich auf alle ihre Subdomains..google.comenthält beispielsweise Adressen wiemail.google.comunddrive.google.com, aber nichtgoogle.com. - Achten Sie für ein ordnungsgemäßes Logging darauf, dass die Domains
kubernetes.default.svc.cluster.localundkubernetes.default.svcenthalten sind. Beispiel:198.51.100.0,192.0.2.0/16,examplepetstore.com,.altostrat.com,kubernetes.default.svc.cluster.local, kubernetes.default.svc
- Werte können einzelne IP-Adressen, CIDR-Bereiche, Domainnamen oder auch das Sternchenzeichen (*) sein. Wenn Sie im Feld
Beachten Sie beim Erstellen der Proxykonfigurationsdatei die folgenden Richtlinien:
- Die Felder
httpProxyundhttpsProxyakzeptieren keinehttps://-Präfixe. Verwenden Siehttp://, auch wenn die tatsächliche Proxyserver-Adresse mithttps://beginnt.https://proxy.example.com:3128wird beispielsweise alshttp://proxy.example.com:3128dargestellt. - Es müssen Werte für alle drei Felder angegeben werden:
httpProxy,httpsProxyundnoProxy. - Möglicherweise müssen Sie der Liste
noProxyzusätzliche Domains, IP-Adressen oder CIDRs hinzufügen. Wir empfehlen, den VPC-IP-Bereich hinzuzufügen.
Erstellen Sie mit dem folgenden Befehl ein Kubernetes-Secret, das die Proxykonfiguration enthält:
kubectl create secret generic SECRET_NAME \ --from-file=PROXY_CONFIGURATION_FILEErsetzen Sie Folgendes:
SECRET_NAME: der Name des Kubernetes-SecretsPROXY_CONFIGURATION_FILE: Der Pfad zur Proxykonfiguration, die Sie in Schritt 1 erstellt haben.
Markieren Sie das Kubernetes-Secret als unveränderlich, indem Sie das Feld
immutableauftruesetzen:kubectl edit secret SECRET_NAMEErsetzen Sie
SECRET_NAMEdurch den Namen des Kubernetes-Secrets.Konfigurieren Sie einen neuen oder vorhandenen Cluster für die Verwendung des Proxys:
Neuer Cluster
Verwenden Sie den Befehl
gcloud container attached clusters register, um einen neuen Cluster zu registrieren und die Proxykonfiguration anzuwenden. Geben Sie die optionalen Argumente--proxy-secret-nameund--proxy-secret-namespacean:gcloud container attached clusters register CLUSTER_NAME \ --proxy-secret-name=SECRET_NAME \ --proxy-secret-namespace=SECRET_NAMESPACEErsetzen Sie Folgendes:
CLUSTER_NAMEist der Name des Clusters.SECRET_NAME: der Name des Kubernetes-Secrets, das die Proxykonfiguration enthältSECRET_NAMESPACE: der Kubernetes-Namespace, in dem das Secret gespeichert ist
Informationen zu allen Argumenten, die Sie beim Registrieren eines Clusters verwenden können, finden Sie unter dem Befehl
gcloud container attached clusters register.Vorhandener Cluster
Verwenden Sie den Befehl
gcloud container attached clusters update, um einen zuvor registrierten Cluster mit einer neuen Proxykonfiguration zu aktualisieren. Geben Sie die optionalen Argumente--proxy-secret-nameund--proxy-secret-namespacean:gcloud container attached clusters update CLUSTER_NAME \ --proxy-secret-name=SECRET_NAME \ --proxy-secret-namespace=SECRET_NAMESPACEErsetzen Sie Folgendes:
CLUSTER_NAMEist der Name des Clusters.SECRET_NAME: der Name des Kubernetes-Secrets, das die Proxykonfiguration enthältSECRET_NAMESPACE: der Kubernetes-Namespace, in dem das Secret gespeichert ist
Dieser Schritt ist erforderlich, wenn sich die Details Ihres Proxyservers geändert haben oder wenn bei der ersten Clusterregistrierung die Proxyanforderungen nicht berücksichtigt wurden.
Informationen zu allen Argumenten, die Sie beim Aktualisieren eines Clusters verwenden können, finden Sie unter dem Befehl
gcloud container attached clusters update.
Nach der Ausführung dieser Schritte verarbeiten GKE-angehängte Cluster ausgehenden Internettraffic über den in der Konfigurationsdatei angegebenen Proxyserver.