Wenn Ihre Organisation einen HTTP-Proxy für Internettraffic verwendet, müssen Sie die angehängten GKE-Cluster entsprechend konfigurieren. In diesem Dokument wird beschrieben, wie Sie diese Konfiguration durchführen.
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 Google Cloud-Region, in der sich der Cluster befindet. Geben Sie us-west1
oder eine andere unterstützte Region an.
Proxy-Unterstützung für angehängte GKE-Cluster konfigurieren
So konfigurieren Sie die Proxyunterstützung für angehängte GKE-Cluster:
Erstellen Sie eine Proxykonfigurationsdatei, 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 Proxyserver-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, der aus einem Hostnamen/einer IP-Adresse und optional einem Port, einem Nutzernamen und einem Passwort besteht.NO_PROXY_ADDRESSES
: eine durch Kommas getrennte Liste von 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. Hinweise:- Mögliche Werte sind einzelne IP-Adressen, CIDR-Bereiche, Domainnamen oder sogar das Sternchen (*). Wenn Sie im Feld
noProxy
ein einzelnes Sternchen (*
) verwenden, weisen GKE angehängte Cluster an, den Proxy für den gesamten Traffic zu überspringen. - Eine Domain, die mit einem Punkt beginnt, z. B.
.google.com
, wird auf alle zugehörigen Subdomains ausgerichtet. Beispiel:.google.com
enthält Adressen wiemail.google.com
unddrive.google.com
, schließtgoogle.com
aber aus. - Achten Sie darauf, dass Sie die Domains
kubernetes.default.svc.cluster.local
undkubernetes.default.svc
einschließen, damit das Logging richtig funktioniert. Hier ein Beispiel:198.51.100.0,192.0.2.0/16,examplepetstore.com,.altostrat.com,kubernetes.default.svc.cluster.local, kubernetes.default.svc
.
- Mögliche Werte sind einzelne IP-Adressen, CIDR-Bereiche, Domainnamen oder sogar das Sternchen (*). Wenn Sie im Feld
Halten Sie sich beim Erstellen der Proxykonfigurationsdatei an die folgenden Richtlinien:
- Die Felder
httpProxy
undhttpsProxy
akzeptieren keinehttps://
-Präfixe. Verwenden Siehttp://
, auch wenn die tatsächliche Adresse des Proxyservers mithttps://
beginnt. Stellen Siehttps://proxy.example.com:3128
beispielsweise alshttp://proxy.example.com:3128
dar. - Sie müssen Werte für alle drei Felder angeben:
httpProxy
,httpsProxy
undnoProxy
. - Fügen Sie der
noProxy
-Liste 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 unveränderlich. Setzen Sie dazu das Feld
immutable
auftrue
: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 unbedingt 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 im 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 unbedingt 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 der 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
.
Nachdem Sie diese Schritte ausgeführt haben, verarbeiten die angehängten GKE-Cluster ausgehenden Internettraffic mithilfe des in der Konfigurationsdatei angegebenen Proxyservers.