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. 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 -NPesan 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-awsAnda.cd anthos-aws
Pastikan Anda dapat terhubung ke cluster dengan
kubectl.env HTTPS_PROXY=http://localhost:8118 \ kubectl cluster-infoOutput-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-gkedan salin ke/usr/local/bin.chmod 755 anthos-gke sudo mv anthos-gke /usr/local/binPastikan versinya adalah
aws-1.14.1-gke.0anthos-gke version
Mengupgrade layanan pengelolaan
Untuk mengupgrade cluster, lakukan langkah-langkah berikut:
- Beralih ke direktori dengan konfigurasi GKE di AWS Anda.
Anda membuat direktori ini saat
Menginstal layanan pengelolaan.
cd anthos-aws
Buka
anthos-gke.yamldi editor teks. Ubah nilaispec.versionmenjadi 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 inituntuk memvalidasi objekAWSManagementServicedan memperbarui fileanthos-gke.status.yaml.anthos-gke aws management initJalankan
anthos-gke aws management applyuntuk mengupdate layanan pengelolaan di AWS.anthos-gke aws management applyPerintah
anthos-gkemulai mengupgrade 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 kurang dari dua versi minor di belakang versi AWSCluster Anda.
Mengupgrade AWSCluster dan AWSNodePool yang ada
Untuk mengupgrade cluster, perbarui kolom version objek AWSCluster dan
AWSNodePool di layanan pengelolaan Anda.
AWSCluster
Untuk mengupgrade AWSCluster, lakukan langkah-langkah berikut:
Dari direktori
anthos-aws, gunakananthos-gkeuntuk 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 editguna mengedit AWSCluster, jalankan perintah berikut:env HTTPS_PROXY=http://localhost:8118 \ kubectl edit awscluster cluster-nameGanti 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-0Perbarui kolom
spec.controlPlane.versionke 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,kubectlakan menerapkan perubahan secara otomatis. Jika Anda mengedit file YAML, terapkan ke layanan pengelolaan Anda dengan perintah berikut:env HTTPS_PROXY=http://localhost:8118 \ kubectl apply -f cluster-0.yamlLayanan pengelolaan kemudian memperbarui AWSCluster Anda.
AWSNodePool
Untuk mengupgrade AWSNodePool, lakukan langkah-langkah berikut:
Dari direktori
anthos-aws, gunakananthos-gkeuntuk 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.versiondi 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.yamlLayanan 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.