Untuk mengupgrade lingkungan GKE di AWS, upgrade terlebih dahulu layanan pengelolaan, lalu upgrade cluster pengguna.
Layanan pengelolaan
Di bagian berikut, Anda akan mengupgrade layanan pengelolaan.
Sebelum memulai
Untuk terhubung ke resource GKE di AWS, lakukan langkah-langkah berikut. Pilih apakah Anda memiliki VPC AWS yang sudah ada (atau koneksi langsung ke VPC Anda) atau membuat VPC khusus saat membuat layanan pengelolaan.
VPC yang ada
Jika Anda memiliki koneksi langsung atau VPN ke VPC yang ada, hapus baris
env HTTP_PROXY=http://localhost:8118
dari perintah dalam topik ini.
VPC Khusus
Saat Anda membuat layanan pengelolaan di VPC khusus, GKE di AWS menyertakan host bastion di subnet publik.
Untuk terhubung ke layanan pengelolaan, lakukan langkah-langkah berikut:
Beralih ke direktori dengan konfigurasi GKE di AWS. Anda membuat direktori ini saat Menginstal layanan pengelolaan.
cd anthos-aws
Untuk membuka tunnel, jalankan skrip
bastion-tunnel.sh
. Tunnel meneruskan kelocalhost:8118
.Untuk membuka tunnel ke bastion host, jalankan perintah berikut:
./bastion-tunnel.sh -N
Pesan dari tunnel SSH akan muncul di jendela ini. Saat Anda siap untuk menutup koneksi, hentikan proses dengan menggunakan Control+C atau menutup jendela.
Buka terminal baru dan ubah ke direktori
anthos-aws
Anda.cd anthos-aws
Pastikan Anda dapat terhubung ke cluster dengan
kubectl
.env HTTPS_PROXY=http://localhost:8118 \ kubectl cluster-info
Output-nya mencakup URL untuk server API layanan pengelolaan.
Mengupgrade layanan pengelolaan
Untuk mengupgrade layanan pengelolaan, Anda mendownload versi baru anthos-gke
,
mengedit
anthos-gke.yaml
, dan
menerapkan perubahan.
Download versi baru anthos-gke
Versi terbaru alat anthos-gke
adalah aws-1.14.1-gke.0
. Untuk
mendownload versi baru anthos-gke
, lakukan langkah-langkah berikut:
Alat command line anthos-gke
hanya mendukung Linux dan macOS.
Download biner dari Cloud Storage.
Linux
gcloud storage cp gs://gke-multi-cloud-release/aws/aws-1.14.1-gke.0/bin/linux/amd64/anthos-gke .
macOS
gcloud storage cp gs://gke-multi-cloud-release/aws/aws-1.14.1-gke.0/bin/darwin/amd64/anthos-gke .
Perbarui izin
anthos-gke
dan salin ke/usr/local/bin
.chmod 755 anthos-gke sudo mv anthos-gke /usr/local/bin
Pastikan versinya adalah
aws-1.14.1-gke.0
anthos-gke version
Mengupgrade layanan pengelolaan
Untuk mengupgrade cluster, lakukan langkah-langkah berikut:
- Beralih ke direktori dengan konfigurasi GKE di AWS.
Anda membuat direktori ini saat
Menginstal layanan pengelolaan.
cd anthos-aws
Buka
anthos-gke.yaml
di editor teks. Ubah nilaispec.version
menjadi 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 ...
Jalankan
anthos-gke aws management init
untuk memvalidasi objekAWSManagementService
dan memperbarui fileanthos-gke.status.yaml
.anthos-gke aws management init
Jalankan
anthos-gke aws management apply
untuk mengupdate layanan pengelolaan di AWS.anthos-gke aws management apply
Perintah
anthos-gke
akan memulai upgrade layanan pengelolaan Anda. Proses upgrade dapat memerlukan waktu hingga sepuluh menit.
Cluster pengguna
Di bagian berikut, Anda akan mengupgrade cluster pengguna.
Sebelum memulai
Sebelum dapat menyelesaikan langkah-langkah ini, Anda harus memiliki layanan pengelolaan dan minimal satu cluster pengguna.
Versi Kubernetes yang didukung
GKE on AWS aws-1.14.1-gke.0 mendukung versi Kubernetes berikut:
- 1.23.15-gke.2000
- 1.24.9-gke.2100
- 1.25.5-gke.2100
Untuk mengetahui informasi tentang versi yang didukung sebelumnya, lihat Catatan rilis.
Upgrade komponen
Bagian ini menjelaskan cara mengupgrade AWSClusters dan AWSNodePools.
AWSCluster
Anda dapat mengupdate AWSCluster ke versi baru GKE di AWS tanpa mengupdate AWSNodePool.
AWSNodePools
Anda tidak dapat mengupdate AWSNodePool ke versi yang lebih baru daripada AWSCluster. Untuk memperbarui AWSNodePool, Anda harus memperbarui AWSCluster terlebih dahulu.
Versi AWSNodePools Anda tidak boleh lebih dari dua versi minor lebih lama dari versi AWSCluster Anda.
Mengupgrade AWSCluster dan AWSNodePool yang ada
Untuk mengupgrade cluster, Anda harus memperbarui kolom version
objek AWSCluster
dan
AWSNodePool
di layanan pengelolaan Anda.
AWSCluster
Untuk mengupgrade AWSCluster, lakukan langkah-langkah berikut:
Dari direktori
anthos-aws
, gunakananthos-gke
untuk mengganti konteks ke layanan pengelolaan Anda.cd anthos-aws anthos-gke aws management get-credentials
Buka file YAML yang membuat AWSCluster Anda di editor teks. Jika tidak memiliki file YAML awal, Anda dapat menggunakan
kubectl edit
.Edit YAML
Jika Anda mengikuti petunjuk di Membuat cluster pengguna, file YAML Anda akan diberi nama
cluster-0.yaml
. Buka file ini di editor teks.kubectl edit
Untuk menggunakan
kubectl edit
guna mengedit AWSCluster, jalankan perintah berikut:env HTTPS_PROXY=http://localhost:8118 \ kubectl edit awscluster cluster-name
Ganti cluster-name dengan AWSCluster Anda. Misalnya, untuk mengedit cluster default,
cluster-0
, jalankan perintah berikut:env HTTPS_PROXY=http://localhost:8118 \ kubectl edit awscluster cluster-0
Perbarui kolom
spec.controlPlane.version
ke versi baru GKE di AWS. Versi terbaru adalah 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 ...
Ganti gke-version dengan versi Kubernetes yang Anda inginkan. Versi Kubernetes terbaru yang didukung adalah 1.25.5-gke.2100.
Simpan file. Jika Anda menggunakan
kubectl edit
,kubectl
akan menerapkan perubahan secara otomatis. Jika Anda mengedit file YAML, terapkan ke layanan pengelolaan dengan perintah berikut:env HTTPS_PROXY=http://localhost:8118 \ kubectl apply -f cluster-0.yaml
Layanan pengelolaan kemudian memperbarui AWSCluster Anda.
AWSNodePool
Untuk mengupgrade AWSNodePool, lakukan langkah-langkah berikut:
Dari direktori
anthos-aws
, gunakananthos-gke
untuk mengganti konteks ke layanan pengelolaan Anda.cd anthos-aws anthos-gke aws management get-credentials
Buka file YAML yang membuat AWSNodePool Anda di editor teks. Jika Anda mengikuti petunjuk di Membuat cluster pengguna, file ini akan diberi nama
cluster-0.yaml
.Perbarui nilai
spec.version
di resource AWSNodePool Anda.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 ...
Ganti gke-version dengan versi Kubernetes yang Anda inginkan. Versi Kubernetes terbaru yang didukung adalah 1.25.5-gke.2100.
Terapkan konfigurasi baru ke layanan pengelolaan Anda dengan
kubectl
.env HTTPS_PROXY=http://localhost:8118 \ kubectl apply -f cluster-0.yaml
Layanan pengelolaan kemudian memperbarui satu node AWSNodePool Anda dalam satu waktu. Sebelum node dimatikan, Pod yang berjalan di node tersebut menerima SIGTERM. Jika Pod tidak dimatikan setelah masa tenggang, Pod akan menerima SIGKILL.
Lihat Status
Untuk mendapatkan status upgrade, jalankan kubectl get AWSClusters
di layanan pengelolaan Anda.
env HTTPS_PROXY=http://localhost:8118 \
kubectl get AWSClusters
Output mencakup nama, status, usia, versi, dan endpoint setiap cluster.
Misalnya, output berikut menyertakan satu AWSCluster
bernama cluster-0
.
NAME STATE AGE VERSION ENDPOINT
cluster-0 Upgrading 2m41s 1.25.5-gke.2100 gke-xyz.elb.us-east-1.amazonaws.com
Upgrade cluster pengguna Anda selesai jika STATE cluster Anda adalah Provisioned.