Wenn Sie Ihre Anthos-Cluster in der AWS-Umgebung (GKE auf AWS) aktualisieren möchten, aktualisieren Sie zuerst den verwalteten Dienst und aktualisieren Sie anschließend Ihre Nutzercluster.
Verwaltungsdienst
In den folgenden Abschnitten führen Sie ein Upgrade Ihres Verwaltungsdiensts durch.
Hinweis
Führen Sie die folgenden Schritte aus, um eine Verbindung zu Ihren Anthos Clusters on AWS-Ressourcen herzustellen. Wählen Sie aus, ob Sie eine bestehende AWS-VPC (oder eine direkte Verbindung zu Ihrer VPC) verwenden oder beim Erstellen Ihres Verwaltungsdienstes eine dedizierte VPC angelegt haben.
Vorhandene VPC
Wenn Sie eine direkte Verbindung oder eine VPN-Verbindung zu einer vorhandenen VPC verwenden, lassen Sie die Zeile env HTTP_PROXY=http://localhost:8118
in den Befehlen in diesem Thema weg.
Dedizierte VPC
Wenn Sie einen Verwaltungsdienst in einer dedizierten VPC erstellen, enthält Anthos-Cluster auf AWS einen Bastion-Host in einem öffentlichen Subnetz.
So stellen Sie eine Verbindung zu Ihrem Verwaltungsdienst her:
Wechseln Sie in das Verzeichnis mit Ihrer Anthos-Cluster auf AWS-Konfiguration. Sie haben dieses Verzeichnis bei der Installation des Verwaltungsdienstes erstellt.
cd anthos-aws
Führen Sie das Skript
bastion-tunnel.sh
aus, um den Tunnel zu öffnen. Über den Tunnel erfolgt eine Weiterleitung zulocalhost:8118
.Führen Sie den folgenden Befehl aus, um einen Tunnel zum Bastion Host zu öffnen:
./bastion-tunnel.sh -N
In diesem Fenster werden Nachrichten aus dem SSH-Tunnel angezeigt. Wenn Sie bereit sind, die Verbindung zu trennen, beenden Sie den Vorgang mit Strg+C oder schließen Sie das Fenster.
Öffnen Sie ein neues Terminal und wechseln Sie in das Verzeichnis
anthos-aws
:cd anthos-aws
Prüfen Sie, ob Sie mit
kubectl
eine Verbindung zum Cluster herstellen können.env HTTPS_PROXY=http://localhost:8118 \ kubectl cluster-info
Die Ausgabe enthält die URL für den API-Server des Verwaltungsdiensts.
Verwaltungsdienst upgraden
Laden Sie zum Aktualisieren Ihres Verwaltungsdiensts eine neue Version von anthos-gke
herunter, bearbeiten Sie Ihre anthos-gke.yaml
-Datei und übernehmen Sie die Änderungen.
Neue Version von Anthos GKE herunterladen
Die neueste Version des anthos-gke
-Tools ist aws-1.14.1-gke.0
. Führen Sie die folgenden Schritte aus, um eine neue Version von anthos-gke
herunterzuladen:
Das anthos-gke
-Befehlszeilentool unterstützt nur Linux und macOS.
Laden Sie die Binärdatei aus Cloud Storage herunter.
Linux
gsutil cp gs://gke-multi-cloud-release/aws/aws-1.14.1-gke.0/bin/linux/amd64/anthos-gke .
macOS
gsutil cp gs://gke-multi-cloud-release/aws/aws-1.14.1-gke.0/bin/darwin/amd64/anthos-gke .
Aktualisieren Sie die Berechtigungen von
anthos-gke
und kopieren Sie sie in/usr/local/bin
.chmod 755 anthos-gke sudo mv anthos-gke /usr/local/bin
Prüfen Sie, ob die Version
aws-1.14.1-gke.0
ist.anthos-gke version
Verwaltungsdienst upgraden
Führen Sie die folgenden Schritte aus, um Ihren Cluster zu aktualisieren:
- Wechseln Sie in das Verzeichnis mit Ihrer Konfiguration von Anthos-Cluster on AWS.
Sie haben dieses Verzeichnis bei der Installation des Verwaltungsdienstes erstellt.
cd anthos-aws
Öffnen Sie
anthos-gke.yaml
in einem Texteditor. Ändern Sie den Wert vonspec.version
in aws-1.14.1-gke.0.apiVersion: multicloud.cluster.gke.io/v1 kind: AWSManagementService metadata: name: management spec: version: aws-1.14.1-gke.0 region: aws-region ...
Führen Sie
anthos-gke aws management init
aus, um das ObjektAWSManagementService
zu validieren, und aktualisieren Sie die Dateianthos-gke.status.yaml
.anthos-gke aws management init
Führen Sie
anthos-gke aws management apply
aus, um den Verwaltungsdienst für AWS zu aktualisieren.anthos-gke aws management apply
Der Befehl
anthos-gke
beginnt mit dem Upgraden Ihres Verwaltungsdiensts. Das Upgrade kann bis zu zehn Minuten dauern.
Nutzercluster
In den folgenden Abschnitten aktualisieren Sie Ihre Nutzercluster.
Hinweis
Bevor Sie diese Schritte ausführen können, benötigen Sie einen Verwaltungsdienst und mindestens einen Nutzercluster.
Unterstützte Kubernetes-Versionen
Anthos-Cluster in AWS aws-1.14.1-gke.0 unterstützen die folgenden Kubernetes-Versionen:
- 1.23.15-gke.2000
- 1.24.9-gke.2100
- 1.25.5-gke.2100
Informationen zu früheren unterstützten Versionen finden Sie unter Versionshinweise.
Komponentenupgrades
In diesem Abschnitt wird das Upgrade von AWSClustern und AWSNodePools beschrieben.
AWSCluster
Sie können einen AWS-Cluster auf eine neue Version von Anthos Clusters on AWS aktualisieren, ohne Ihre AWSNodePools zu aktualisieren.
AWSNodePools
Sie können einen AWSNodePool nicht auf eine neuere Version als Ihren AWSCluster aktualisieren. Wenn Sie Ihre AWSNodePools aktualisieren möchten, müssen Sie zuerst Ihren AWSCluster aktualisieren.
Die Version Ihrer AWSNodePools darf höchstens zwei Nebenversionen niedriger als Ihre AWSCluster-Version sein.
Vorhandenen AWSCluster und AWSNodePool upgraden
Aktualisieren Sie zum Aktualisieren Ihres Clusters das Feld version
von AWSCluster
- und AWSNodePool
-Objekten in Ihrem Verwaltungsdienst.
AWSCluster
So führen Sie ein Upgrade für einen AWSCluster durch:
Verwenden Sie
anthos-gke
im Verzeichnisanthos-aws
, um den Kontext zu Ihrem Verwaltungsdienst zu wechseln.cd anthos-aws anthos-gke aws management get-credentials
Ö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
Aktualisieren Sie das Feld
spec.controlPlane.version
auf eine neue Version von Anthos-Cluster on AWS. Die neueste Version ist 1.25.5-gke.2100.apiVersion: multicloud.cluster.gke.io/v1 kind: AWSCluster metadata: name: cluster-0 spec: region: us-east-1 controlPlane: version: gke_version instanceType: t3.medium ...
Ersetzen Sie gke-version durch die gewünschte Kubernetes-Version. Die neueste unterstützte Kubernetes-Version ist 1.25.5-gke.2100.
Speichern Sie die Datei. Wenn Sie
kubectl edit
verwenden, wendetkubectl
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
Der Verwaltungsdienst aktualisiert dann Ihren AWSCluster.
AWSNodePool
So aktualisieren Sie einen AWSNodePool:
Verwenden Sie
anthos-gke
im Verzeichnisanthos-aws
, um den Kontext zu Ihrem Verwaltungsdienst zu wechseln.cd anthos-aws anthos-gke aws management get-credentials
Öffnen Sie die YAML-Datei, die Ihren AWSNodePool erstellt hat, in einem Texteditor. Wenn Sie der Anleitung unter Nutzercluster erstellen gefolgt sind, hat diese Datei den Namen
cluster-0.yaml
.Aktualisieren Sie den Wert von
spec.version
in Ihren AWSNodePool-Ressourcen.apiVersion: multicloud.cluster.gke.io/v1 kind: AWSNodePool metadata: name: cluster-0-pool-0 spec: clusterName: cluster-0 region: us-east-1 version: gke-version ...
Ersetzen Sie gke-version durch die gewünschte Kubernetes-Version. Die neueste unterstützte Kubernetes-Version ist 1.25.5-gke.2100.
Wenden Sie die neue Konfiguration mit
kubectl
auf Ihren Verwaltungsdienst an.env HTTPS_PROXY=http://localhost:8118 \ kubectl apply -f cluster-0.yaml
Der Verwaltungsdienst aktualisiert dann Ihren AWSNodePool für jeden Knoten nacheinander. Bevor ein Knoten heruntergefahren wird, erhalten Pods, die auf diesem Knoten ausgeführt werden, einen SIGTERM. Wenn ein Pod nach einem Kulanzzeitraum nicht heruntergefahren wurde, erhält er ein SIGKILL.
Status anzeigen
Führen Sie kubectl get AWSClusters
in Ihrem Verwaltungsdienst aus, um den Status eines Upgrades abzurufen.
env HTTPS_PROXY=http://localhost:8118 \
kubectl get AWSClusters
Die Ausgabe enthält den Namen, den Status, das Alter, die Version und den Endpunkt jedes Clusters.
Die folgende Ausgabe enthält beispielsweise einen AWSCluster
namens cluster-0
.
NAME STATE AGE VERSION ENDPOINT
cluster-0 Upgrading 2m41s 1.25.5-gke.2100 gke-xyz.elb.us-east-1.amazonaws.com
Das Upgrade des Nutzerclusters ist abgeschlossen, wenn der STATE Ihrer Cluster bereitgestellt ist.