Untuk mengupgrade GKE di lingkungan AWS, upgrade layanan pengelolaan Anda terlebih dahulu, lalu upgrade cluster pengguna.
Layanan pengelolaan
Di bagian berikut, Anda akan mengupgrade layanan pengelolaan.
Sebelum memulai
Untuk terhubung ke GKE pada resource AWS, lakukan langkah-langkah berikut. Pilih apakah Anda sudah memiliki VPC AWS (atau koneksi langsung ke VPC) atau membuat VPC khusus saat membuat layanan pengelolaan.
VPC yang ada
Jika Anda memiliki koneksi langsung atau VPN ke VPC yang sudah 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:
Beralihlah ke direktori yang memiliki konfigurasi GKE on AWS. Anda membuat direktori ini saat Menginstal layanan pengelolaan.
cd anthos-aws
Untuk membuka tunnel, jalankan skrip
bastion-tunnel.sh
. Tunnel akan mengarah 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 menutup koneksi, hentikan prosesnya menggunakan Control+C atau menutup jendela.
Buka terminal baru dan pindah 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
Outputnya mencakup URL untuk server API layanan pengelolaan.
Mengupgrade layanan pengelolaan Anda
Untuk mengupgrade layanan pengelolaan, download versi baru anthos-gke
, edit anthos-gke.yaml
, lalu terapkan perubahan tersebut.
Download anthos-gke versi baru
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
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 .
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 Anda
Untuk mengupgrade cluster, lakukan langkah-langkah berikut:
- Beralihlah ke direktori yang memiliki konfigurasi GKE on 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 mengupdate 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 mulai mengupgrade layanan pengelolaan Anda. Proses upgrade mungkin 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 di 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 upgrade AWSClusters dan AWSNodePools Anda.
AWSCluster
Anda dapat mengupdate AWSCluster ke versi baru GKE di AWS tanpa mengupdate AWSNodePools.
AWSNodePools
Anda tidak dapat mengupdate AWSNodePool ke versi yang lebih baru daripada AWSCluster. Untuk mengupdate AWSNodePools, Anda harus mengupdate AWSCluster terlebih dahulu.
Versi AWSNodePools Anda tidak boleh kurang dari dua versi minor di belakang versi AWSCluster.
Mengupgrade AWSCluster dan AWSNodePool yang ada
Untuk mengupgrade cluster, perbarui kolom version
dari objek AWSCluster
dan AWSNodePool
di layanan pengelolaan Anda.
AWSCluster
Untuk mengupgrade AWSCluster, lakukan langkah-langkah berikut:
Dari direktori
anthos-aws
, gunakananthos-gke
untuk mengalihkan konteks ke layanan pengelolaan Anda.cd anthos-aws anthos-gke aws management get-credentials
Buka file YAML yang membuat AWSCluster di editor teks. Jika tidak memiliki file YAML awal, Anda dapat menggunakan
kubectl edit
.Edit YAML
Jika Anda mengikuti petunjuk dalam Membuat cluster pengguna, file YAML Anda akan diberi nama
cluster-0.yaml
. Buka file ini di editor teks.edit kubectl
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
Update 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 Anda menggunakan perintah berikut:env HTTPS_PROXY=http://localhost:8118 \ kubectl apply -f cluster-0.yaml
Kemudian, layanan pengelolaan akan mengupdate AWSCluster Anda.
AWSNodePool
Untuk mengupgrade AWSNodePool, lakukan langkah-langkah berikut:
Dari direktori
anthos-aws
, gunakananthos-gke
untuk mengalihkan konteks ke layanan pengelolaan Anda.cd anthos-aws anthos-gke aws management get-credentials
Buka file YAML yang membuat AWSNodePool di editor teks. Jika Anda telah mengikuti petunjuk dalam Membuat cluster pengguna, file ini akan diberi nama
cluster-0.yaml
.Update 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 node AWSNodePool Anda satu per satu. Sebelum node dihentikan, Pod yang berjalan pada node tersebut akan 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
Outputnya 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 setelah STATE cluster Anda Disediakan.