Proxy-Unterstützung für angehängte AKS-Cluster

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:

  1. Erstellen Sie eine Proxykonfigurationsdatei, die Werte für die Schlüssel httpProxy, noProxy und httpsProxy 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 nur 198.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 wie mail.google.com und drive.google.com, schließt google.com aber aus.
      • Achten Sie darauf, dass Sie die Domains kubernetes.default.svc.cluster.local und kubernetes.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.

    Halten Sie sich beim Erstellen der Proxykonfigurationsdatei an die folgenden Richtlinien:

    • Die Felder httpProxy und httpsProxy akzeptieren keine https://-Präfixe. Verwenden Sie http://, auch wenn die tatsächliche Adresse des Proxyservers mit https:// beginnt. Stellen Sie https://proxy.example.com:3128 beispielsweise als http://proxy.example.com:3128 dar.
    • Sie müssen Werte für alle drei Felder angeben: httpProxy, httpsProxy und noProxy.
    • Fügen Sie der noProxy-Liste gegebenenfalls zusätzliche Domains, IP-Adressen oder CIDRs hinzu. Wir empfehlen, den VPC-IP-Bereich anzugeben.
  2. 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-Secrets
    • PROXY_CONFIGURATION_FILE: der Pfad zur Proxykonfiguration, die Sie in Schritt 1 erstellt haben.
  3. Markieren Sie das Kubernetes-Secret als unveränderlich. Setzen Sie dazu das Feld immutable auf true:

    kubectl edit secret SECRET_NAME
    

    Ersetzen Sie SECRET_NAME durch den Namen des Kubernetes-Secrets.

  4. 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ält
    • SECRET_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ält
    • SECRET_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.