Gunakan panduan ini untuk memigrasikan penginstalan Knative yang ada di Google Cloud untuk menggunakan fleet dengan Cloud Service Mesh.
Versi "uji coba gratis" sebelumnya dari penayangan Knative, yang juga disebut sebagai "add-on GKE", menyertakan versi Istio 1.4 bawaan dan yang dipersingkat yang tidak lagi didukung mulai Anthos 1.8.
Mengupgrade penginstalan penayangan Knative untuk menggunakan fleet dan Cloud Service Mesh akan meningkatkan kualitas upgrade produk dan independensi pengelolaan, serta meningkatkan integrasi di seluruh fitur GKE Enterprise. Pelajari lebih lanjut hal-hal baru dan yang berubah.
Ada dua jalur untuk memigrasikan penginstalan Anda:
Proses yang direkomendasikan adalah memigrasikan beban kerja Anda dari cluster tempat penayangan Knative versi sebelumnya diinstal ("add-on GKE"), ke cluster baru tempat Anda telah menginstal dan mengonfigurasi penginstalan fleet baru penayangan Knative. Meskipun proses ini relatif mudah dan ideal, jika workload Anda menyalurkan traffic, migrasi ke cluster yang baru dibuat akan menyebabkan periode nonaktif. Untuk melakukan jalur migrasi ini, di cluster baru, Anda harus:
- Menginstal penayangan Knative sebagai komponen fleet.
Deploy layanan Anda ke penginstalan baru.
Misalnya, Anda dapat menggunakan petunjuk untuk men-deploy revisi layanan yang ada untuk mendownload file konfigurasi YAML satu per satu untuk setiap layanan, lalu men-deploy setiap file YAML ke cluster baru dalam penginstalan fleet layanan Knative:
Dalam penginstalan lama, Anda dapat menjalankan perintah berikut untuk mendownload file konfigurasi YAML, seperti
service.yaml
:gcloud run services describe SERVICE --format export > service.yaml
Ganti SERVICE dengan nama layanan penayangan Knative Anda.
Dalam penginstalan komponen fleet baru, Anda dapat menjalankan perintah berikut untuk men-deploy
service.yaml
yang sama:gcloud run deploy service.yaml --cluster CLUSTER_NAME --cluster-location CLUSTER_LOCATION --project PROJECT_ID
Ganti:
CLUSTER_NAME dengan nama cluster dalam penginstalan komponen fleet baru untuk penayangan Knative.
CLUSTER_LOCATION dengan zona atau region cluster dalam penginstalan komponen fleet baru untuk penayangan Knative.
PROJECT_ID dengan ID project Google Cloud Anda tempat penginstalan komponen fleet baru untuk penayangan Knative berada.
Alternatif: Untuk pengguna yang tidak dapat membuat cluster baru dan harus memigrasikan penginstalan aktif penayangan Knative, Anda dapat mengikuti langkah-langkah dalam panduan ini untuk:
- Hapus resource "add-on GKE" dan Istio sebelumnya.
- Instal resource armada baru.
- Bermigrasi ke Cloud Service Mesh, lalu migrasikan traffic Anda.
- Bersihkan semua resource yang tidak digunakan dan sudah tidak berlaku.
Panduan berikut akan memandu Anda melalui proses alternatif untuk mengupgrade penginstalan layanan Knative yang ada dan aktif, termasuk semua beban kerja, untuk memenuhi persyaratan GKE Enterprise 1.8 dan yang lebih baru.
Sebelum memulai
Proses upgrade ini hanya boleh dilakukan di cluster Google Kubernetes Engine yang sebelumnya menginstal Knative yang berfungsi sebagai "add-on GKE".
Periksa apakah "add-on GKE" telah diinstal.
Untuk memeriksa apakah penginstalan penayangan Knative Anda adalah "add-on GKE", jalankan perintah berikut:
gcloud container clusters describe \ CLUSTER_NAME \ --region CLUSTER_LOCATION \ --project PROJECT_ID --format='get(addonsConfig.cloudRunConfig)'
Ganti:
- CLUSTER_NAME dengan nama cluster Anda.
- CLUSTER_LOCATION dengan lokasi tempat cluster Anda berada.
- PROJECT_ID dengan ID project Google Cloud Anda.
Hasil:
- "Add-on GKE" tidak diinstal:
- Tidak ada yang ditampilkan ke terminal jika add-on tidak pernah diinstal.
disabled=true
ditampilkan jika add-on sebelumnya di-uninstal.
- "GKE add-on" diinstal: Jika add-on diinstal di cluster Anda, detail konfigurasi untuk add-on akan ditampilkan.
Contoh:
loadBalancerType=LOAD_BALANCER_TYPE_EXTERNAL
- Contoh:
-
Contoh berikut menunjukkan bahwa penayangan Knative diinstal di
cluster
my-addon-cluster
melalui "add-on GKE", yang dikonfigurasi untuk menangani traffic eksternal:gcloud container clusters describe my-addon-cluster \ --region us-central1-c --project my-gcp-project \ --format='get(addonsConfig.cloudRunConfig)'
Respons:
loadBalancerType=LOAD_BALANCER_TYPE_EXTERNAL
Anda harus memiliki izin yang memadai di project Google Cloud untuk memenuhi persyaratan cluster, fleet, dan Cloud Service Mesh:
Jika memiliki peran Pemilik untuk project Google Cloud, Anda memiliki lebih dari izin yang diperlukan untuk membuat cluster, menginstal, lalu mengonfigurasi penayangan Knative.
Perhatikan bahwa persyaratan izin Cloud Service Mesh juga memenuhi semua persyaratan izin untuk menginstal dan mengonfigurasi penayangan Knative.
Menggunakan peran lain dan persyaratan minimum:
Bergantung pada organisasi Anda, Anda juga dapat memenuhi persyaratan izin melalui kombinasi peran bawaan berikut:
Izin project Google Cloud: Peran Editor dasar
Izin fleet: GKE Hub Admin atau peran yang mencakup izin berikut:
gkehub.features.create
gkehub.features.update
Izin cluster: Peran Admin Kubernetes Engine:
- Kubernetes Engine Admin
- Kubernetes Engine Cluster Admin
Hanya Cloud Service Mesh versi 1.18 yang didukung.
Cloud Service Mesh mengharuskan cluster Anda menggunakan jenis mesin dengan setidaknya 4 vCPU, seperti
e2-standard-4
. Lihat panduan penginstalan Cloud Service Mesh untuk mengetahui detail tentang persyaratan. Jika Anda perlu mengubah jenis mesin cluster yang ada, lihat Memigrasikan workload ke jenis mesin yang berbeda.Menggunakan Cloud Shell adalah lingkungan yang direkomendasikan untuk menjalankan perintah dan skrip migrasi selama proses ini. Perhatikan bahwa skrip penginstalan Cloud Service Mesh hanya mendukung Linux atau Cloud Shell.
Jika penginstalan penayangan Knative yang ada menggunakan add-on Istio di GKE, Anda harus bermigrasi ke Panel Kontrol Terkelola Cloud Service Mesh. Migrasi dari add-on Istio di GKE ke bidang kontrol dalam cluster Cloud Service Mesh saat ini tidak didukung.
Mengupgrade layanan Knative dan memigrasikan workload
Untuk membantu mengupgrade penginstalan layanan Knative yang ada dan memigrasikan beban kerja, Anda menjalankan skrip yang mengotomatiskan sebagian besar langkah dan meminta input Anda selama proses.