Nutzercluster aktualisieren

In diesem Thema wird beschrieben, wie Sie die Konfiguration eines vorhandenen Nutzerclusters aktualisieren.

Übersicht

Bei Nutzerclustern ab Kubernetes-Version 1.20 können Sie die folgenden Attribute ändern:

Mit Kubernetes 1.22 und höher können Sie EC2-Instanztypen aktualisieren.

Zum Aktualisieren dieser Ressourcen bearbeiten Sie die Ressourcen AWSCluster und AWSNodePools.

Nachdem Sie die Konfiguration aktualisiert haben, versetzt Anthos-Cluster auf AWS den Cluster oder Knotenpool in den Status Updating. Nach Abschluss der Aktualisierung wird der Cluster oder Knotenpool auf den Status Provisioned zurückgesetzt.

Hinweis

Zum Ändern Ihrer Nutzercluster müssen der Cluster und der Knotenpool die Kubernetes-Version 1.20 oder höher ausführen. Wenn in Ihrem Cluster Kubernetes 1.20 nicht ausgeführt wird, aktualisieren Sie Ihren Nutzercluster.

Zum Ändern der Sicherheitsgruppen Ihres Clusters muss die AWS IAM-Rolle (in spec.authentication.awsIAM.adminIdentityARNs als anthos-gke.yaml festgelegt), die Ihre Anthos-Cluster auf AWS-Nutzercluster verwaltet, die Berechtigung ec2:ModifyNetworkInterfaceAttribute haben.

Sicherheitsgruppen aktualisieren

In diesem Abschnitt aktualisieren Sie die Sicherheitsgruppen für einen Cluster und Knotenpool. So aktualisieren Sie die Sicherheitsgruppen:

  1. Verwenden Sie anthos-gke im Verzeichnis anthos-aws, um den Kontext zu Ihrem Verwaltungsdienst zu wechseln.

    cd anthos-aws
    anthos-gke aws management get-credentials

  2. Öffnen Sie die YAML-Datei, die Ihren AWSCluster erstellt hat, in einem Texteditor. Wenn Sie Ihre ursprüngliche YAML-Datei nicht haben, können Sie kubectl edit verwenden.

    YAML bearbeiten

    Wenn Sie der Anleitung unter Nutzercluster erstellen gefolgt sind, hat Ihre YAML-Datei den Namen cluster-0.yaml. Öffnen Sie diese Datei in einem Texteditor.

    kubectl edit

    Führen Sie den folgenden Befehl aus, um Ihren AWSCluster mit kubectl edit zu bearbeiten:

    env HTTPS_PROXY=http://localhost:8118 \
      kubectl edit awscluster cluster-name
    

    Ersetzen Sie cluster-name durch Ihren AWSCluster. Führen Sie beispielsweise den folgenden Befehl aus, um den Standardcluster cluster-0 zu bearbeiten:

    env HTTPS_PROXY=http://localhost:8118 \
      kubectl edit awscluster cluster-0
    
  3. Bearbeiten Sie das Feld spec.controlPlane.securityGroupIDs Ihres AWSCluster.

    apiVersion: multicloud.cluster.gke.io/v1
    kind: AWSCluster
    ...
    spec:
      controlPlane:
        securityGroupIDs:
          - SECURITY_GROUP_ID
        ...
    

    Ersetzen Sie SECURITY_GROUP_ID durch die ID der neuen Sicherheitsgruppe. Zum Hinzufügen mehrerer Sicherheitsgruppen fügen Sie dem Array unter spec.controlPlane.securityGroupIDs weitere Werte hinzu.

    Das folgende Beispiel enthält die Sicherheitsgruppen sg-12345678ab und sg-abcdef1234:

    apiVersion: multicloud.cluster.gke.io/v1
    kind: AWSCluster
    spec:
      controlPlane:
        securityGroupIDs:
          - sg-12345678ab
          - sg-abcdef1234
        ...
    
  4. Bearbeiten Sie das Feld spec.securityGroupIDs Ihrer AWSNodePool-Ressourcen.

    apiVersion: multicloud.cluster.gke.io/v1
    kind: AWSNodePool
    spec:
      securityGroupIDs:
        - SECURITY_GROUP_ID
      ...
    
  5. Speichern Sie die Datei. Wenn Sie kubectl edit verwenden, wendet kubectl die Änderungen automatisch an. Wenn Sie die YAML-Datei bearbeiten, wenden Sie sie mit dem folgenden Befehl auf Ihren Verwaltungsdienst an:

    env HTTPS_PROXY=http://localhost:8118 \
      kubectl apply -f cluster-0.yaml
    
  6. Prüfen Sie den Aktualisierungsstatus mit kubectl. Wenn der Vorgang abgeschlossen ist, ändert sich der Objektstatus von Updating in Provisioned.

    env HTTPS_PROXY=http://localhost:8118 \
      kubectl get AWSClusters,AWSNodePools
    

    Während sich der Cluster beispielsweise im Status "Updating" befindet, sieht die Ausgabe etwa so aus:

    NAME        STATE       AGE      VERSION           ENDPOINT
    cluster-0   Updating    10m41s   1.25.5-gke.2100   gke-xyz.elb.us-east-1.amazonaws.com
    
    NAME               CLUSTER     STATE       AGE       VERSION
    cluster-0-pool-0   cluster-0   Updating    10m40s    1.25.5-gke.2100
    

Instanztypen aktualisieren

In diesem Abschnitt aktualisieren Sie die Instanztypen für einen Cluster und Knotenpool. So aktualisieren Sie die Instanztypen:

  1. Verwenden Sie anthos-gke im Verzeichnis anthos-aws, um den Kontext zu Ihrem Verwaltungsdienst zu wechseln.

    cd anthos-aws
    anthos-gke aws management get-credentials

  2. Öffnen Sie die YAML-Datei, die Ihren AWSCluster erstellt hat, in einem Texteditor. Wenn Sie Ihre ursprüngliche YAML-Datei nicht haben, können Sie kubectl edit verwenden.

    YAML bearbeiten

    Wenn Sie der Anleitung unter Nutzercluster erstellen gefolgt sind, hat Ihre YAML-Datei den Namen cluster-0.yaml. Öffnen Sie diese Datei in einem Texteditor.

    kubectl edit

    Führen Sie den folgenden Befehl aus, um Ihren AWSCluster mit kubectl edit zu bearbeiten:

    env HTTPS_PROXY=http://localhost:8118 \
      kubectl edit awscluster cluster-name
    

    Ersetzen Sie cluster-name durch Ihren AWSCluster. Führen Sie beispielsweise den folgenden Befehl aus, um den Standardcluster cluster-0 zu bearbeiten:

    env HTTPS_PROXY=http://localhost:8118 \
      kubectl edit awscluster cluster-0
    
  3. Bearbeiten Sie das Feld spec.controlPlane.instanceType Ihres AWSCluster.

    apiVersion: multicloud.cluster.gke.io/v1
    kind: AWSCluster
    ...
    spec:
      controlPlane:
        instanceType: AWS_INSTANCE_TYPE
        ...
    

    Ersetzen Sie AWS_INSTANCE_TYPE durch den neuen Instanztyp. Weitere Informationen finden Sie unter Unterstützte Instanztypen.

  4. Bearbeiten Sie das Feld spec.instanceType Ihrer AWSNodePool-Ressourcen.

    apiVersion: multicloud.cluster.gke.io/v1
    kind: AWSNodePool
    spec:
      instanceType: AWS_INSTANCE_TYPE
      ...
    
  5. Speichern Sie die Datei. Wenn Sie kubectl edit verwenden, wendet kubectl die Änderungen automatisch an. Wenn Sie die YAML-Datei bearbeiten, wenden Sie sie mit dem folgenden Befehl auf Ihren Verwaltungsdienst an:

    env HTTPS_PROXY=http://localhost:8118 \
      kubectl apply -f cluster-0.yaml
    
  6. Prüfen Sie den Aktualisierungsstatus mit kubectl. Wenn der Vorgang abgeschlossen ist, ändert sich der Objektstatus von Updating in Provisioned.

    env HTTPS_PROXY=http://localhost:8118 \
      kubectl get AWSClusters,AWSNodePools
    

    Während sich der Cluster beispielsweise im Status "Updating" befindet, sieht die Ausgabe etwa so aus:

    NAME        STATE       AGE      VERSION           ENDPOINT
    cluster-0   Updating    10m41s   1.25.5-gke.2100   gke-xyz.elb.us-east-1.amazonaws.com
    
    NAME               CLUSTER     STATE       AGE       VERSION
    cluster-0-pool-0   cluster-0   Updating    10m40s    1.25.5-gke.2100
    

Nächste Schritte