Wenn Ihre Organisation einen HTTP-Proxy für den Internetverkehr verwendet, müssen Sie die mit GKE verknüpften Cluster entsprechend konfigurieren. In diesem Dokument wird beschrieben, wie Sie diese Konfiguration vornehmen.
Hinweise
Angehängte GKE-Cluster benötigen eine Verbindung zu verschiedenen Google Cloud Diensten. Achten Sie darauf, dass Ihr Proxyserver Traffic zu den folgenden Domains zulässt:
.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
Ersetzen Sie GCP_LOCATION
durch die Region Google Cloud , 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 mit Werten für die Schlüssel
httpProxy
,noProxy
undhttpsProxy
:{ "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:80
oder nur198.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 an GKE-Cluster angewiesen, den Proxy für die angegebenen Ressourcen nicht zu verwenden. Beachten Sie dabei Folgendes:- Werte können einzelne IP-Adressen, CIDR-Bereiche, Domainnamen oder sogar das Sternchenzeichen (*) sein. Wenn Sie im Feld
noProxy
ein einzelnes Sternchen (*
) verwenden, wird an die mit GKE verknüpften Cluster angewiesen, den Proxy für den gesamten Traffic zu überspringen. - Eine Domain, die mit einem Punkt beginnt, z. B.
.google.com
, richtet sich an alle ihre Subdomains. Beispiel:.google.com
enthält Adressen wiemail.google.com
unddrive.google.com
, aber nichtgoogle.com
. - Achten Sie für ein ordnungsgemäßes Logging darauf, dass die Domains
kubernetes.default.svc.cluster.local
undkubernetes.default.svc
enthalten 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 sogar das Sternchenzeichen (*) sein. Wenn Sie im Feld
Beachten Sie beim Erstellen der Proxy-Konfigurationsdatei die folgenden Richtlinien:
- Die Felder
httpProxy
undhttpsProxy
akzeptieren keinehttps://
-Präfixe. Verwenden Siehttp://
, auch wenn die tatsächliche Proxyserveradresse mithttps://
beginnt.https://proxy.example.com:3128
wird beispielsweise alshttp://proxy.example.com:3128
dargestellt. - Es müssen Werte für alle drei Felder angegeben werden:
httpProxy
,httpsProxy
undnoProxy
. - Fügen Sie der Liste
noProxy
gegebenenfalls zusätzliche Domains, IP-Adressen oder CIDRs hinzu. Wir empfehlen, den VPC-IP-Bereich anzugeben.
Erstellen Sie mit dem folgenden Befehl ein Kubernetes-Secret, das die Proxykonfiguration enthält:
kubectl create secret generic SECRET_NAME \ --from-file=PROXY_CONFIGURATION_FILE
Ersetzen 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 immutable, indem Sie das Feld
immutable
auftrue
festlegen:kubectl edit secret SECRET_NAME
Ersetzen Sie
SECRET_NAME
durch 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-name
und--proxy-secret-namespace
an:gcloud container attached clusters register CLUSTER_NAME \ --proxy-secret-name=SECRET_NAME \ --proxy-secret-namespace=SECRET_NAMESPACE
Ersetzen Sie Folgendes:
CLUSTER_NAME
ist 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-name
und--proxy-secret-namespace
an:gcloud container attached clusters update CLUSTER_NAME \ --proxy-secret-name=SECRET_NAME \ --proxy-secret-namespace=SECRET_NAMESPACE
Ersetzen Sie Folgendes:
CLUSTER_NAME
ist 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 bei der Erstregistrierung des Clusters 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.