Gunakan panduan ini untuk memigrasikan penginstalan penayangan Knative yang sudah ada di Google Cloud agar dapat menggunakan fleet dengan Anthos Service Mesh.
Versi "uji coba gratis" layanan Knative sebelumnya, yang juga disebut sebagai "add-on GKE", mencakup versi Istio 1.4 bawaan dan sederhana yang tidak lagi didukung mulai Anthos 1.8.
Dengan mengupgrade penginstalan layanan Knative untuk menggunakan fleet, Anthos Service Mesh akan memberikan upgrade produk dan independensi pengelolaan yang lebih baik, serta peningkatan integrasi di seluruh fitur GKE Enterprise. Pelajari lebih lanjut apa saja yang baru dan yang berubah.
Ada dua jalur untuk memigrasi penginstalan Anda:
Proses yang direkomendasikan adalah memigrasikan workload dari cluster tempat layanan Knative versi sebelumnya terinstal ("add-on GKE"), ke cluster baru tempat Anda telah menginstal dan mengonfigurasi penginstalan fleet layanan Knative baru. Meskipun proses ini relatif mudah dan ideal, jika beban kerja Anda melayani traffic, migrasi ke cluster yang baru dibuat akan menyebabkan periode nonaktif. Untuk menjalankan jalur migrasi ini, di cluster baru, Anda telah:
- Menginstal penayangan Knative sebagai komponen fleet.
Deploy layanan Anda ke penginstalan baru.
Misalnya, Anda dapat menggunakan petunjuk untuk men-deploy revisi layanan yang ada guna mendownload file konfigurasi YAML satu per satu untuk setiap layanan, lalu men-deploy setiap file YAML ke cluster baru pada penginstalan fleet layanan Knative:
Pada 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.
Pada 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 Anda untuk inferensi Knative.
CLUSTER_LOCATION dengan zona atau region cluster dalam penginstalan komponen fleet baru layanan Knative.
PROJECT_ID dengan ID project Google Cloud tempat instalasi komponen fleet baru Anda untuk penayangan Knative berada.
Alternatif: Bagi 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 fleet baru.
- Lakukan migrasi ke Anthos Service Mesh, lalu migrasikan traffic Anda.
- Membersihkan semua resource yang usang dan tidak digunakan.
Panduan berikut ini akan menuntun Anda dalam proses alternatif upgrade layanan Knative yang sudah ada dan aktif, termasuk semua workload, 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 layanan Knative sebagai "add-on GKE".
Periksa apakah "add-on GKE" sudah terinstal.
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 dikembalikan ke terminal Anda jika add-on tidak pernah diinstal.
disabled=true
ditampilkan jika add-on sudah di-uninstal sebelumnya.
- "add-on GKE" diinstal: Jika add-on diinstal di cluster Anda, detail konfigurasi untuk add-on tersebut akan ditampilkan.
Contoh:
loadBalancerType=LOAD_BALANCER_TYPE_EXTERNAL
- Contoh:
-
Contoh berikut menunjukkan bahwa penyaluran Knative telah 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 Anthos Service Mesh:
Jika memiliki peran Pemilik untuk project Google Cloud, berarti Anda memiliki izin lebih dari yang diperlukan untuk membuat cluster, menginstal, lalu mengonfigurasi penyajian Knative.
Perhatikan bahwa persyaratan izin Anthos Service Mesh juga memenuhi semua persyaratan izin untuk menginstal dan mengonfigurasi penayangan Knative.
Menggunakan peran lain dan persyaratan minimum:
Bergantung pada organisasi, Anda juga dapat memenuhi persyaratan izin melalui kombinasi peran yang telah ditetapkan 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
- Admin Cluster Kubernetes Engine
Hanya Anthos Service Mesh versi 1.18 yang didukung.
Anthos Service Mesh mengharuskan cluster Anda menggunakan jenis mesin dengan minimal 4 vCPU, seperti
e2-standard-4
. Lihat panduan penginstalan Anthos Service Mesh untuk mengetahui detail persyaratan. Jika perlu mengubah jenis mesin cluster yang sudah ada, lihat Memigrasikan workload ke jenis mesin yang berbeda.Penggunaan Cloud Shell adalah lingkungan yang direkomendasikan untuk menjalankan perintah dan skrip migrasi selama proses ini. Perhatikan bahwa skrip penginstalan Anthos Service Mesh hanya mendukung Linux atau Cloud Shell.
Jika penginstalan penayangan Knative yang sudah ada menggunakan add-on Istio di GKE, Anda harus bermigrasi ke Anthos Service Mesh Managed Control Plane. Migrasi dari add-on Istio on GKE ke bidang kontrol dalam cluster Anthos Service Mesh saat ini tidak didukung.
Mengupgrade penyaluran 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 ini.