Cluster-Proxyeinstellungen ändern

Mit Version 1.8 von Anthos-Clustern in AWS können Sie die Proxyeinstellungen eines Clusters ändern, ohne einen Cluster neu erstellen zu müssen.

Proxy für Ihren Verwaltungsdienst ändern

Führen Sie die folgenden Schritte aus, um die Proxyeinstellungen für Ihre Anthos-Cluster in AWS-Verwaltungsdienst zu ändern:

  1. Aktualisieren Sie den Inhalt der proxy.json-Datei des Verwaltungsdienstes, wie unter JSON-Datei für die Proxykonfiguration erstellen beschrieben.

  2. Führen Sie anthos-gke aws management init und anthos-gke aws management apply noch einmal aus, um die Änderungen auf den Verwaltungsdienst anzuwenden.

Proxy für Ihren Nutzercluster ändern

Wenn Sie einen Nutzercluster erstellen, werden die Proxyeinstellungen des Verwaltungsdienstes verwendet. Wenn Sie die Proxyeinstellungen für einen Nutzercluster ändern möchten, ohne die des Verwaltungsdienstes zu ändern, müssen Sie ein Kubernetes-Secret mit den Proxyinformationen erstellen und dann die Änderungen mit kubectl anwenden.

Kubernetes-Secret erstellen

  1. Erstellen Sie zuerst eine YAML-Datei mit dem folgenden Inhalt, um das Secret zu beschreiben. Das Secret muss als intransparent und unveränderlich definiert werden. In diesem Beispiel wird der Dateiname proxy-secret.yaml verwendet.

     apiVersion: v1
     kind: Secret
     metadata:
       name: PROXY_SECRET
     type: Opaque
     immutable: true
     stringData:
       # You can include additional key value pairs as you do with Opaque Secrets
       httpProxy: HTTP_PROXY
       httpsProxy: HTTPS_PROXY
       noProxy: NO_PROXY_LIST
     

    Ersetzen Sie:

    • HTTP_PROXY mit der Adresse des Proxyservers, über den HTTP-Anfragen geleitet werden sollen
    • HTTPS_PROXY mit einer optionalen Proxy-Server-Adresse, über die HTTPS-Anfragen geleitet werden
    • NO_PROXY_LIST mit einer optionalen Liste von IPs, CIDR-Bereichen und Domains innerhalb Ihres VPNs, für die kein Proxy verwendet werden soll
    • PROXY_SECRET mit dem Namen, den Sie für das Secret ausgewählt haben
  2. Wenden Sie Ihre Änderungen an, um das Secret zu erstellen:

    env HTTPS_PROXY=http://localhost:8118 \
       kubectl apply -f ./proxy-secret.yaml
    

Nutzercluster- und Knotenpoolkonfigurationen aktualisieren

Aktualisieren Sie als Nächstes die AWSCluster- und AWSNodePool-Konfiguration, um auf den Secret-Namen unter spec.proxySecretName bzw. spec.controlPlane.proxySecretName zu verweisen.

Führen Sie schließlich den folgenden Befehl aus, um Ihren Nutzercluster zu aktualisieren:

   env HTTPS_PROXY=http://localhost:8118 \
     kubectl apply -f CLUSTER_YAML_FILE

Ersetzen Sie CLUSTER_YAML_FILE durch den Namen der YAML-Datei, die Ihren Cluster definiert.

Statusänderungen des Nutzerclusters

Nachdem Sie den Befehl kubectl apply ausgeführt haben, um die neuen Proxyeinstellungen anzuwenden, ändert sich der Status des Nutzerclusters von Provisioned in Updating und kehrt wieder zu Provisioned zurück, wenn Sie fertig sind.

Proxys für mehr als einen Nutzercluster festlegen

Wenn Sie mehrere Nutzercluster haben und für jeden Cluster unterschiedliche Proxys konfigurieren möchten, folgen Sie der Anleitung Proxy für Ihren Nutzercluster ändern für jeden Cluster. Sie müssen für jeden Proxy ein anderes Kubernetes-Secret erstellen und jede Konfiguration eines Nutzerclusters separat aktualisieren, um auf den Namen des Secrets für diesen Nutzercluster zu verweisen.

Proxys für einen Nutzercluster rotieren

Wenn Sie die Proxyeinstellungen für einen Cluster ändern möchten, der bereits einzelne Proxyeinstellungen hat, erstellen Sie ein neues Secret mit den neuen Proxyeinstellungen und einem anderen Secret-Namen und wenden Sie es an. Wenn Sie den aktuellen Secret-Namen wiederverwenden, werden die Proxyeinstellungen des Clusters nicht geändert.

Problembehebung

Wenn das Secret nicht korrekt formatiert ist oder erforderliche Schlüssel fehlen, schlägt der Befehl fehl und die Änderung wird nicht angewendet. Wenn Sie prüfen möchten, ob das Secret korrekt validiert wurde, rufen Sie mit dem folgenden Befehl das Kubernetes-Ereignislog für AWSCluster und AWSNodePools auf:

   env HTTPS_PROXY=http://localhost:8118 \
     kubectl get events

Wenn bei Ihrer Secret-Konfiguration ein Fehler aufgetreten ist, löschen Sie das Secret mit dem folgenden Befehl:

  env HTTPS_PROXY=http://localhost:8118 \
    kubectl delete secret SECRET_NAME
  

Ersetzen Sie SECRET_NAME durch den Namen Ihrer Umgebung.

Erstellen Sie das Secret dann mit einer korrekt formatierten Secret-YAML-Datei neu und wenden Sie die Änderung noch einmal an. Sie können denselben Secret-Namen wie im ersten Versuch verwenden.

Weitere Informationen

Informationen zum ersten Konfigurieren der Proxyeinstellungen finden Sie unter Proxy verwenden.

Informationen zum Erstellen einer dedizierten AWS-VPC finden Sie unter Verwaltungsdienst installieren.