Wenn Ihre Organisation einen HTTP-Proxy für Internet-Traffic verwendet, müssen Sie angehängte GKE-Cluster entsprechend konfigurieren. In diesem Dokument wird beschrieben, wie diese Konfiguration durchgeführt wird.
Hinweise
Angehängte GKE-Cluster erfordern 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 Google Cloud-Region, in der sich der 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
,noProxy
undhttpsProxy
enthält:{ "httpProxy": HTTP_PROXY_AUTHENTICATION_URL, "httpsProxy": HTTPS_PROXY_AUTH_URL, "noProxy": NO_PROXY_ADDRESSES }
Ersetzen Sie Folgendes:
HTTP_PROXY_AUTHENTICATION_URL
: die URL des Proxyservers, 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 werden GKE-angehängte 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 ein einzelnes Sternchen (
*
) im FeldnoProxy
verwenden, werden angehängte GKE-Cluster angewiesen, den Proxy für den gesamten Traffic zu überspringen. - Eine Domain wie
.google.com
, die mit einem Punkt beginnt, wird auf alle ihre Subdomains ausgerichtet. Beispiel:.google.com
enthält Adressen wiemail.google.com
unddrive.google.com
, schließt abergoogle.com
aus. - 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 ein einzelnes Sternchen (
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 Proxyserver-Adresse 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
. - Ziehen Sie in Betracht, weitere Domains, IP-Adressen oder CIDRs an die Liste
noProxy
anzuhängen. 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 unveränderlich, indem Sie das Feld
immutable
auftrue
setzen: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 bei der Registrierung 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 wenn bei einer ersten Clusterregistrierung die Proxyanforderungen übersehen 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.