HTTP-Proxy verwenden
In diesem Dokument wird beschrieben, wie Sie Traffic von GKE on Azure über einen HTTP-/HTTPS-Proxy weiterleiten. Sie geben die Proxykonfiguration beim Erstellen eines Clusters an.
Übersicht
GKE on Azure kann aus folgenden Gründen ausgehenden Internettraffic über einen Proxy weiterleiten:
- Cluster bei Google Cloud über Connect registrieren
- Zum Ausführen des Connect-Agents
- Zum Herunterladen von Images aus Container Registry
Beschränkungen
- Die Felder
httpProxy
undhttpsProxy
unterstützen keine URLs, die mithttps://
beginnen. Sie müssenhttp://
verwenden. Anfragen an Port 443 verwenden HTTPS. - Sie müssen Werte für
httpProxy
,httpsProxy
undnoProxy
festlegen. - Die Proxykonfiguration eines Clusters – die Ressourcengruppen-ID und die Secret-ID – ist unveränderlich. Zum Aktualisieren dieser Werte müssen Sie einen neuen Cluster und Knotenpool erstellen.
- Möglicherweise müssen Sie zusätzliche Domains, IP-Adressen oder CIDRs in das Feld
noProxy
einfügen. Es wird empfohlen, die Subnetz-CIDRs der Steuerungsebenen Ihres Clusters hinzuzufügen. Die CIDR der Pod-Adresse und die CIDR der Dienstadresse werden standardmäßig hinzugefügt.
Vorbereitung
In diesem Abschnitt werden die Voraussetzungen beschrieben, die Sie vor der Verwendung eines Proxys erfüllen müssen.
Azure Key Vault-Konfiguration
GKE on Azure speichert Proxy-Konfigurationsinformationen in Azure Key Vault. Zum Konfigurieren eines Proxys mit GKE on Azure benötigen Sie Berechtigungen zum Erstellen eines Secrets in einem Key Vault. Der Schlüssel muss über das VNet des Clusters zugänglich sein.
Proxy-Zulassungsliste
Damit GKE on Azure eine Verbindung zu Google Cloud -Diensten herstellen kann, muss der Proxyserver Traffic für bestimmte Google- und Microsoft-Domains zulassen.
.azure.com
.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 Ihr GKE Enterprise-Cluster befindet. Geben Sie us-west1
oder eine andere unterstützte Region an.
Anforderung der Subnetznetzwerksicherheitsgruppe
Wenn Sie zur Verwaltung von Traffic zu Ihren Subnetzen Netzwerksicherheitsgruppen (NSGs) verwenden, müssen Ihre NSG-Regeln ausgehenden TCP-Traffic an folgende Ziele zulassen:
- AzureCloud: TCP, Port 80 und 443
Weitere Informationen zur Verwendung von Dienst-Tags mit NSGs finden Sie unter Azure-Dienst-Tags.
Proxy-Konfigurationsdatei erstellen
Die Proxykonfiguration wird in einem Azure Key Vault-Secret als JSON-String gespeichert.
Sie können diese Konfiguration als Datei an das az
-Befehlszeilentool übergeben. In diesem Abschnitt wird beschrieben, wie Sie diese Datei erstellen.
In der folgenden Tabelle wird der Inhalt dieser Datei beschrieben.
Feld | Beschreibung | Beispiele | Erforderlich |
---|---|---|---|
httpProxy |
Eine Proxyserver-URL. Der Wert sollte einen Hostnamen/eine IP-Adresse und optional einen Port, einen Nutzernamen und ein Passwort enthalten. | "http://user:password@10.184.37.42:80" "10.184.37.42" |
Ja |
httpsProxy |
Eine Proxy-URL für verschlüsselten HTTPS-Traffic. Die HTTP-Proxy-URL wird verwendet, wenn httpsProxy einen leeren Wert hat. | "http://10.101.16.31:80"
|
Ja |
noProxy |
Eine durch Kommas getrennte Liste von URLs, die vom Proxy ausgeschlossen werden sollen. Jeder Wert kann eine IP-Adresse, ein CIDR-Bereich, ein Domainname oder das Sternchen (*) sein. Domains, die mit einem führenden Punkt angegeben werden (z. B. ".google.com") geben an, dass eine Subdomain erforderlich ist. Ein einzelnes Sternchen * ignoriert die gesamte Proxykonfiguration. | "1.2.3.4,10.0.0.0/16,example.com,.site.com" |
Ja |
Zum Erstellen der Konfigurationsdatei erstellen Sie eine JSON-Datei, die Werte für
httpProxy
,noProxy
und optionalehttpsProxy
-Schlüssel enthält.{ "httpProxy": "AUTHENTICATION_URL", "httpsProxy": "AUTHENTICATION_URL", "noProxy": "NO_PROXY_ADDRESSES" }
Dabei gilt:
AUTHENTICATION_URL
: codierte URL, die den Proxy-Nutzernamen und das Passwort enthältNO_PROXY_ADDRESSES
: durch Kommas getrennte Liste von CIDR-Blöcken und URLs, z. B.10.0.0.0/16,http://example.com
Speichern Sie die Datei, die Sie im folgenden Abschnitt verwenden möchten.
Erstellen Sie ein Secret mit dem
az
-Befehlszeilentool mit diesen JSON-Daten als Secret in Azure Key Vault.az keyvault secret set --name SECRET_NAME \ --vault-name KEY_VAULT_NAME \ --file PROXY_CONFIGURATION_FILE
Dabei gilt:
SECRET_NAME
: der Name des neuen Secrets.KEY_VAULT_NAME
: der Name des Key VaultsPROXY_CONFIGURATION_FILE
: der Pfad zur Proxy-Konfigurationsdatei.Die Ausgabe enthält den Namen und den Inhalt des Secrets. Sie können jetzt beim Erstellen eines Clusters auf dieses Secret verweisen.
Cluster für Verwendung durch einen Proxy erstellen
Führen Sie die folgenden Schritte aus, um GKE on Azure für die Verwendung eines HTTP-Proxys für ausgehende Konnektivität zu konfigurieren:
Führen Sie die Schritte unter Cluster und Knotenpool erstellen aus und übergeben Sie die Flags --proxy-resource-group-id
und --proxy-secret-id
.
gcloud container azure clusters create CLUSTER_NAME \
--proxy-resource-group-id=PROXY_RESOURCE_GROUP_ID \
--proxy-secret-id=PROXY_SECRET_ID
...
Dabei gilt:
CLUSTER_NAME
: der Name des ClustersPROXY_RESOURCE_GROUP_ID
: die Ressourcengruppe, die Ihren Cluster hostetPROXY_SECRET_ID
: das ID-Secret des Secrets, das Ihre Proxykonfiguration enthält, z. B.https://VAULT_NAME.vault.azure.net/secrets/SECRET_NAME/SECRET_VERSION
Nächste Schritte
- Weitere Informationen zum Erstellen eines Clusters.