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 und httpsProxy unterstützen keine URLs, die mit https:// beginnen. Sie müssen http:// verwenden. Anfragen an Port 443 verwenden HTTPS.
  • Sie müssen Werte für httpProxy, httpsProxy und noProxy 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
  1. Zum Erstellen der Konfigurationsdatei erstellen Sie eine JSON-Datei, die Werte für httpProxy, noProxy und optionale httpsProxy-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ält
    • NO_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.

  2. 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 Vaults
    • PROXY_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 Clusters
  • PROXY_RESOURCE_GROUP_ID: die Ressourcengruppe, die Ihren Cluster hostet
  • PROXY_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