Modernisasi bidang kontrol terkelola

Anda dapat memodernisasi fleet Cloud Service Mesh dari penerapan bidang kontrol ISTIOD ke penerapan TRAFFIC_DIRECTOR sesuai jadwal Anda sendiri, atau membiarkan Google menjadwalkannya secara otomatis.

Ada dua jalur modernisasi, dan Anda juga dapat menggabungkannya:

  • Modernisasi yang dipicu pelanggan (Layanan mandiri): Anda memulai dan mengontrol sendiri waktu yang tepat untuk modernisasi armada menggunakan Google Cloud CLI, terlepas dari jadwal yang didorong Google.
  • Modernisasi yang didorong Google (Default): Google mengevaluasi kompatibilitas armada dan secara otomatis menjadwalkan modernisasi di seluruh organisasi Anda sesuai dengan periode pemeliharaan dan notifikasi lanjutan. Google menunggu semua fleet di organisasi Anda kompatibel, sehingga satu fleet yang tidak kompatibel akan memblokir modernisasi Anda.

Apa pun jalur yang Anda pilih, Anda harus menyelesaikan langkah-langkah inti berikut untuk memodernisasi bidang kontrol:

  1. Periksa kompatibilitas Anda: Aktifkan pemeriksaan kompatibilitas, dan pahami kompatibilitas armada Anda dengan modernisasi.
  2. Rencanakan dan konfigurasi modernisasi Anda: Pilih jalur Anda, konfigurasi pengurutan peluncuran cluster dan fleet, atau tunda fleet tertentu.
  3. Memperbaiki kesenjangan kompatibilitas: Pastikan armada Anda memenuhi semua persyaratan kompatibilitas sebelum memulai modernisasi.
  4. Mulai modernisasi: Memicu modernisasi yang dipicu pelanggan sesuai jadwal Anda, atau menunggu penjadwalan yang didorong Google.
  5. Modernisasi cluster aktif: Selama masa pemeliharaan yang dikonfigurasi, bidang kontrol ganda berjalan secara berdampingan, dan Deployment (workload dan gateway) bertransisi secara otomatis ke bidang kontrol baru. Anda harus memulai ulang workload StatefulSet dan DaemonSet secara manual.
  6. Pantau status, perendaman, dan selesaikan: Pantau progres kondisi, selesaikan setiap penghentian, amati beban kerja selama periode perendaman (setidaknya 6 hari kerja), dengan dukungan rollback penuh sebelum penyelesaian tingkat armada.

Memeriksa kompatibilitas armada & memperbaiki kesenjangan

Sebelum armada dapat dimodernisasi—baik diaktifkan oleh pelanggan maupun didorong oleh Google—armada harus diverifikasi sebagai kompatibel. Anda harus mengaktifkan pelaporan kompatibilitas untuk memeriksa potensi kondisi pemblokiran dan memperbaiki kesenjangan konfigurasi. Untuk mengetahui detail selengkapnya, lihat Memahami kompatibilitas Cloud Service Mesh.

  • Untuk Modernisasi yang didorong Google: Google hanya akan menjadwalkan organisasi yang semua armada yang tidak ditangguhkan kompatibel.
  • Untuk Modernisasi yang dipicu pelanggan: Anda harus memverifikasi bahwa target armada Anda melaporkan MODERNIZATION_COMPATIBLE sebelum memulai modernisasi.

Pemeriksaan kompatibilitas mengevaluasi konfigurasi CRD Istio, anotasi Pod, dependensi infrastruktur (seperti Workload Identity), dan parameter skala armada Anda.

Merencanakan dan mengonfigurasi modernisasi Anda

Buat rencana tentang cara memodernisasi fleet Anda. Jika Anda tidak melakukannya, modernisasi yang didorong Google akan diterapkan secara default. Anda harus mengambil tindakan untuk memastikan fleet non-prod Anda dimodernisasi terlebih dahulu dan fleet penting Anda dimodernisasi terakhir. Selain itu, modernisasi yang didorong Google tidak akan menjadwalkan modernisasi organisasi Anda hingga 100% armada yang tidak ditangguhkan di seluruh organisasi Anda kompatibel, sehingga modernisasi Anda dapat diblokir oleh inkompatibilitas lokal.

Sebelum memulai modernisasi, tinjau opsi Anda dan konfigurasikan setelan peluncuran di seluruh fleet dan cluster organisasi Anda.

Jalur yang tersedia

Pendekatan Deskripsi Paling Cocok Untuk Cakupan Prasyarat Pemberitahuan Awal Kemampuan Rollback
Modernisasi yang Dipicu Pelanggan Anda memulai modernisasi perangkat demi perangkat sesuai jadwal Anda sendiri. Kontrol terperinci atas waktu modernisasi armada (Anda memutuskan kapan harus memulai dan kapan harus melakukan roll back di tingkat armada). Memanfaatkan pemantauan aplikasi yang ada untuk memberi tahu Anda jika rollback diperlukan. Per armada (FLEET_PROJECT_ID). Fleet target harus kompatibel dengan modernisasi. T/A. Rollback layanan mandiri langsung menggunakan Google Cloud CLI.
Modernisasi yang Didorong Google (Default) Google otomatis menjadwalkan modernisasi di seluruh organisasi Anda. Modernisasi otomatis setelah semua armada di seluruh organisasi Anda kompatibel. Seluruh Google Cloud organisasi (semua armada yang tidak ditangguhkan). Semua armada yang tidak ditangguhkan di organisasi harus kompatibel dengan modernisasi. Notifikasi armada 14+ hari + notifikasi cluster 24+ jam sebelum memulai. Google akan melakukan roll back jika pemantauan standar menunjukkan error. Anda harus menghubungi Cloud Customer Care jika pemantauan aplikasi Anda menunjukkan error.

Mengelola beberapa fleet di seluruh organisasi

Jika organisasi Google Cloud Anda mengelola beberapa armada, Anda tidak perlu memilih satu pendekatan untuk semuanya. Anda dapat menggabungkan strategi, misalnya:

  • Menunda armada yang kompleks atau penting: Sematkan armada tertentu ke penerapan lama menggunakan --modernization-strategy deferred sehingga armada tersebut dikecualikan dari penjadwalan yang didorong Google saat Anda memperbaiki dependensi atau merencanakan eksekusi yang dipicu pelanggan.
  • Mulai dengan modernisasi yang dipicu pelanggan di armada yang dipilih: Modernisasi armada pengujian, pengembangan, atau evaluasi terlebih dahulu untuk memvalidasi perilaku sesuai jadwal Anda sendiri.
  • Mengizinkan Google memodernisasi armada yang tersisa: Armada yang kompatibel dan tidak ditangguhkan tetap diikutsertakan dalam penjadwalan yang didorong Google.

Menunda modernisasi armada (penonaktifan)

Untuk menonaktifkan modernisasi yang didorong Google untuk armada tertentu (misalnya, untuk melakukan modernisasi yang dipicu pelanggan nanti atau untuk memperbaiki dependensi yang kompleks), tetapkan strateginya ke DEFERRED:

gcloud alpha container fleet mesh update \
  --modernization-strategy deferred \
  --project FLEET_PROJECT_ID

Ganti FLEET_PROJECT_ID dengan ID project host fleet.

Perhatikan bahwa label project lama mesh-modernization-mode=manual tetap dipertimbangkan, tetapi --modernization-strategy deferred direkomendasikan. Kumpulan armada non-ditangguhkan lainnya di organisasi Anda tetap memenuhi syarat untuk penjadwalan yang didorong Google setelah semuanya kompatibel.

Mengonfigurasi pengurutan peluncuran

Anda dapat mengontrol urutan peluncuran berurutan di seluruh cluster dan grup menggunakan label mesh-modernization-order (awal, default, atau akhir).

Urutan peluncuran cluster (berlaku untuk kedua jalur)

Jika fleet berisi beberapa cluster, Anda dapat mengontrol urutan modernisasi cluster dengan menerapkan label mesh-modernization-order ke setiap cluster. Saat Anda atau Google memicu modernisasi armada, setiap grup cluster dimodernisasi secara berurutan, menunggu langkah-langkah modernisasi otomatis selesai pada grup saat ini sebelum memulai grup berikutnya:

gcloud container clusters update CLUSTER_NAME \
  --location LOCATION \
  --update-labels="mesh-modernization-order=VALUE"

Ganti CLUSTER_NAME dengan nama cluster, LOCATION dengan lokasi cluster, dan VALUE dengan salah satu opsi berikut:

  • early: Cluster dimodernisasi dalam gelombang modernisasi pertama.
  • default: Cluster dimodernisasi pada gelombang kedua modernisasi.
  • late: Cluster dimodernisasi pada gelombang modernisasi ketiga dan terakhir.

Urutan peluncuran fleet (khusus yang didorong Google)

Di organisasi dengan beberapa fleet yang sedang menjalani modernisasi yang didorong Google, Anda dapat mengontrol urutan modernisasi fleet oleh Google dengan menetapkan label tingkat project di project host fleet:

gcloud alpha projects update FLEET_PROJECT_ID \
  --update-labels="mesh-modernization-order=VALUE"

Ganti FLEET_PROJECT_ID dengan ID project host fleet dan VALUE dengan salah satu opsi berikut:

  • early: Armada dimodernisasi pada gelombang pertama modernisasi.
  • default: Armada dimodernisasi pada gelombang kedua modernisasi.
  • late: Fleet dimodernisasi pada gelombang modernisasi ketiga dan terakhir.

Google menyelesaikan modernisasi setiap tingkat armada sebelum memulai tingkat berikutnya, yaitu awal, lalu default (dan tidak berlabel), lalu terlambat. Armada yang ditandai sebagai ditangguhkan tidak disertakan dalam pemesanan ini.

Misalnya, Anda dapat menyetel fleet non-prod ke early, fleet yang sangat kritis ke late, dan membiarkan fleet lainnya pada nilai default.

Jika Anda tidak menggunakan Google Cloud organisasi, maka armada Anda akan dijadwalkan dan dimodernisasi secara terpisah, dan Anda tidak dapat mengontrol urutannya.

Modernisasi yang dipicu pelanggan (layanan mandiri)

Modernisasi yang dipicu pelanggan memberi Anda kontrol langsung atas kapan modernisasi dimulai untuk setiap armada.

Memicu modernisasi armada

Setelah target fleet Anda melaporkan MODERNIZATION_COMPATIBLE, picu modernisasi menggunakan perintah berikut:

gcloud alpha container fleet mesh update \
  --modernization-strategy automatic \
  --project FLEET_PROJECT_ID

Ganti FLEET_PROJECT_ID dengan ID project host fleet.

  • Masa Pemeliharaan: Google mematuhi masa dan pengecualian pemeliharaan cluster yang dikonfigurasi. Modernisasi cluster dimulai selama masa pemeliharaan terbuka berikutnya di cluster.
  • Pengurutan Cluster: Jika Anda mengonfigurasi label mesh-modernization-order di cluster, Google akan mematuhi pengurutan tersebut.

Memantau progres

Ikuti petunjuk di Memeriksa Status Modernisasi untuk memantau progres modernisasi armada dan cluster.

Mengembalikan modernisasi yang dipicu pelanggan

Jika mendeteksi masalah selama modernisasi cluster aktif atau selama periode pengujian fleet (sebelum penyelesaian tingkat fleet), Anda dapat memicu rollback segera:

gcloud alpha container fleet mesh update \
  --modernization-strategy deferred \
  --project FLEET_PROJECT_ID

Ganti FLEET_PROJECT_ID dengan ID project host fleet.

Tindakan ini akan membuat inventaris perangkat Anda dalam status ditangguhkan, yaitu tidak akan dipertimbangkan untuk modernisasi yang didorong Google. Jika Anda sudah siap mencoba ulang modernisasi, jalankan kembali perintah untuk memicu modernisasi perangkat.

Modernisasi yang didorong Google (default otomatis)

Jika Anda tidak memulai modernisasi yang dipicu pelanggan, Google akan mengelola modernisasi di seluruh organisasi Anda secara otomatis.

Penjadwalan seluruh organisasi

Google terus memantau fleet Anda. Setelah semua fleet yang kompatibel dengan mesh di organisasi Anda (kecuali fleet yang ditangguhkan) kompatibel dengan modernisasi, Google akan menjadwalkan modernisasi untuk organisasi Anda.

Notifikasi dan penjadwalan lanjutan

Google memberikan dua tingkat pemberitahuan awal sebelum memulai modernisasi:

Notifikasi tingkat fleet

Pertama, Anda akan diberi tahu saat armada Anda telah diidentifikasi sebagai kompatibel untuk modernisasi, dan dipilih untuk modernisasi yang didorong Google yang akan dilakukan pada masa mendatang.

  • Modernisasi cluster Anda dapat dimulai paling cepat 14 hari setelah hari kerja pertama di Amerika Serikat pada bulan berikutnya setelah notifikasi Anda. Misalnya, jika Google menentukan bahwa organisasi Anda siap pada 10 Januari 2027, kami akan memberi tahu Anda paling lambat 31 Januari 2027, bahwa tanggal mulai modernisasi paling awal yang dapat Anda pilih adalah 15 Februari 2027.

  • Anda akan diberi tahu secara bersamaan untuk setiap fleet di organisasi Anda (kecuali fleet yang telah Anda tunda). Notifikasi ini tersedia di kondisi status fitur tingkat armada Anda (MODERNIZATION_WILL_BE_SCHEDULED).

Notifikasi tingkat cluster

Anda akan diberi tahu, di tingkat cluster, tentang perkiraan tanggal mulai modernisasi cluster yang didorong Google, setidaknya 1 hari (24 jam) sebelum modernisasi cluster dimulai.

Setelah notifikasi tingkat armada, Anda akan mendapatkan waktu yang jauh lebih tepat untuk modernisasi setiap cluster. Notifikasi ini tersedia dalam kondisi status fitur tingkat cluster Anda (MODERNIZATION_SCHEDULED).

Meminta rollback untuk modernisasi yang didorong Google

Jika masalah muncul selama modernisasi aktif atau soaking di armada modernisasi yang didorong Google, hubungi Cloud Customer Care untuk meminta rollback.

Yang terjadi selama modernisasi aktif

Bagian ini menjelaskan apa yang terjadi selama modernisasi aktif armada dan cluster.

Memodernisasi fleet

Untuk setiap armada yang sedang dimodernisasi (baik yang didorong Google maupun dipicu pelanggan), kami mengaktifkan penerapan bidang kontrol baru untuk semua cluster berdasarkan urutan (awal → default → akhir).

Setelah bidang kontrol diaktifkan untuk semua cluster, kami akan mengalihkan traffic ke penerapan bidang kontrol baru untuk semua cluster berdasarkan pengurutan (awal → default → akhir).

Lihat Memeriksa status modernisasi fleet untuk memeriksa status saat ini.

Periode perendaman fleet

Setelah traffic dialihkan untuk semua cluster, fleet akan memasuki periode penyerapan. Armada tetap dalam periode perendaman (MODERNIZATION_MODERNIZED) selama setidaknya 6 hari kerja setelah semua cluster menyelesaikan modernisasi sebelum bertransisi ke MODERNIZATION_FINALIZED. Kemampuan rollback penuh dipertahankan selama periode pengujian. Setelah modernisasi selesai, rollback tidak lagi dapat dilakukan, dan komponen ISTIOD dapat dihentikan penyediaannya.

Memodernisasi cluster

Selama modernisasi cluster yang aktif, kedua implementasi bidang kontrol dijalankan secara berdampingan untuk sementara, dan dengan cara yang aman dan terkontrol, tugas-tugas berikut diproses:

  1. Aktifkan implementasi bidang kontrol baru. Jika Anda mengonfigurasi masa pemeliharaan untuk cluster, langkah ini akan dimulai selama masa pemeliharaan dan berlanjut hingga selesai. Perhatikan detail berikut:
  2. Alihkan traffic ke penerapan bidang kontrol baru. Jika Anda mengonfigurasi masa pemeliharaan untuk cluster, langkah ini akan dimulai selama masa pemeliharaan dan berlanjut hingga selesai. Perhatikan detail berikut:
    • Pod yang dikelola oleh deployment Kubernetes yang memiliki proxy Cloud Service Mesh akan dimulai ulang, sehingga pod tersebut terhubung kembali ke bidang kontrol baru.
    • Pod dimulai ulang dalam gelombang yang semakin besar dengan waktu perendaman setelah setiap gelombang untuk pemantauan.
  3. Mulai Ulang Beban Kerja Manual untuk Non-Deployment (Tindakan Pelanggan Diperlukan).

    • Google otomatis memulai ulang workload yang dikelola oleh Deployment Kubernetes. Beban kerja yang dikelola oleh jenis resource Kubernetes lainnya, seperti StatefulSet dan DaemonSet, harus dimulai ulang secara manual.
    • Mulai ulang workload ini setelah status cluster melaporkan MODERNIZATION_COMPLETED (yaitu, saat cluster berada dalam periode perendaman).
    • Anda harus memulai ulang workload ini sebelum modernisasi armada selesai, jika tidak, proxy tersebut akan tetap terhubung ke bidang kontrol Istiod lama yang dijadwalkan untuk dihentikan penyediaannya.
    • Mulai ulang workload menggunakan pendekatan Kubernetes standar, seperti kubectl rollout restart ...
  4. Setelah semua workload dalam cluster ditransisikan, cluster akan menunggu periode perendaman fleet.

Untuk memantau status modernisasi aktif cluster Anda, lihat Memeriksa status modernisasi.

Memeriksa status modernisasi & mengambil tindakan

Anda dapat memantau progres modernisasi armada dan cluster menggunakan Google Cloud CLI:

gcloud container fleet mesh describe --project FLEET_PROJECT_ID

Ganti FLEET_PROJECT_ID dengan ID project host fleet.

Outputnya mirip dengan:

  membershipStates:
    projects/123456789/locations/global/memberships/cluster-1:
      servicemesh:
        conditions:
        - code: MODERNIZATION_MIGRATING_WORKLOADS
          documentationLink: https://cloud.google.com/service-mesh/docs/...
          severity: INFO
  state:
    servicemesh:
      conditions:
      - code: MODERNIZATION_MODERNIZING
        documentationLink: https://cloud.google.com/service-mesh/docs/...
        severity: INFO

Status modernisasi dilaporkan di kolom state.servicemesh.conditions (tingkat armada) dan membershipStates.<MEMBERSHIP_NAME>.servicemesh.conditions (tingkat cluster):

Status modernisasi armada yang berhasil

Dalam modernisasi armada yang berhasil, status armada akan dimulai sebagai MODERNIZATION_MODERNIZING.

Setiap cluster kemudian akan melalui status:

  • MODERNIZATION_SCHEDULED
  • MODERNIZATION_PREPARING
  • MODERNIZATION_PREPARED
  • MODERNIZATION_MIGRATING_WORKLOADS
  • MODERNIZATION_COMPLETED

Setelah semua cluster dalam fleet menyelesaikan modernisasinya, fleet akan melalui status:

  • MODERNIZATION_MODERNIZED
  • MODERNIZATION_FINALIZED

Rollback

Modernisasi yang didorong Google memantau kesiapan dan kesehatan deployment Anda selama proses modernisasi, dan kami akan otomatis memicu rollback jika kami mendeteksi masalah. Jika Anda mendeteksi masalah, hubungi Cloud Customer Care untuk meminta rollback.

Untuk modernisasi yang dipicu pelanggan, Anda dapat memicu rollback kapan saja.

Selama rollback, armada akan menampilkan status MODERNIZATION_ROLLING_BACK_FLEET dan cluster akan menampilkan status MODERNIZATION_ROLLING_BACK_CLUSTER.

Setelah rollback cluster selesai, status MODERNIZATION_ABORTED akan ditampilkan untuk sementara.

Menangani error dan penghentian (hanya dipicu pelanggan)

Selama modernisasi yang dipicu pelanggan, jika cluster mengalami masalah yang mencegah progres ke depan, kondisinya akan berubah menjadi MODERNIZATION_STALLED. Google tidak akan memicu rollback untuk modernisasi yang dipicu pelanggan. Anda harus mengevaluasi masalah dan memutuskan apakah akan melakukan perbaikan ke depan atau memicu rollback.

Saat cluster melaporkan MODERNIZATION_STALLED, periksa detail kondisi, untuk mendapatkan link langsung ke bagian error yang relevan:

Error yang dapat ditindaklanjuti pengguna

Jika kami mendeteksi konfigurasi mesh atau cluster yang tidak kompatibel, kami akan menghentikan modernisasi. Pastikan pelaporan kompatibilitas diaktifkan, dan tinjau kondisi tingkat cluster dan fleet Anda untuk menemukan kesenjangan, seperti yang dijelaskan dalam Memahami kompatibilitas Cloud Service Mesh.

  • Coba Lagi Segera: Segera setelah pemblokir diselesaikan, kami akan mendeteksi perubahan dan melanjutkan modernisasi dengan segera, tanpa menunggu masa pemeliharaan berikutnya.

Error internal

Masalah layanan internal Google ditinjau oleh engineer Google, dan mereka akan melanjutkan modernisasi Anda jika memungkinkan. Perhatikan bahwa modernisasi dapat dilanjutkan di luar masa pemeliharaan, seperti halnya untuk error yang dapat ditindaklanjuti pengguna. Untuk menghindari hal ini, Anda dapat memicu rollback.

Jika modernisasi Anda terhenti selama lebih dari 24 jam, dan tidak ada kesenjangan kompatibilitas, hubungi Cloud Customer Care untuk mengetahui detail selengkapnya atau memicu rollback jika beban kerja produksi terpengaruh.

Referensi kondisi tingkat fleet

Kondisi Deskripsi
MODERNIZATION_COMPATIBLE Fleet kompatibel dengan implementasi bidang kontrol baru.
MODERNIZATION_WILL_BE_SCHEDULED Modernisasi yang didorong Google: Semua armada yang tidak ditangguhkan di organisasi kompatibel, dan telah dimasukkan dalam antrean untuk penjadwalan.
MODERNIZATION_MODERNIZING Modernisasi sedang berlangsung aktif untuk satu atau beberapa cluster di fleet.
MODERNIZATION_MODERNIZED Semua cluster telah menyelesaikan modernisasi aktif. Armada berada dalam periode perendaman.
MODERNIZATION_FINALIZED Modernisasi telah selesai dan difinalisasi. Komponen Istiod lama akan dihapus. Rollback tidak dapat dilakukan lagi.
MODERNIZATION_ROLLING_BACK_FLEET Rollback tingkat armada sedang berlangsung.

Referensi kondisi tingkat cluster

Kondisi Deskripsi
MODERNIZATION_SCHEDULED Cluster dijadwalkan untuk modernisasi pada atau setelah tanggal yang ditentukan dalam kondisi. Jika masa/pengecualian pemeliharaan dikonfigurasi untuk cluster Anda, tanggal akan menunjukkan target masa pemeliharaan.
MODERNIZATION_PREPARING Mengaktifkan implementasi bidang kontrol baru.
MODERNIZATION_PREPARED Implementasi bidang kontrol baru diaktifkan. Migrasi beban kerja belum dimulai.
MODERNIZATION_MIGRATING_WORKLOADS Cluster sedang aktif memigrasikan workload ke penerapan bidang kontrol baru.
MODERNIZATION_COMPLETED Cluster telah menyelesaikan modernisasi dan berada dalam periode berdiam.
MODERNIZATION_STALLED Modernisasi terhenti karena error (Hanya Dipicu Pelanggan). Lihat detail kondisi untuk penyelesaian.
MODERNIZATION_ROLLING_BACK_CLUSTER Cluster sedang di-roll back secara aktif.
MODERNIZATION_ABORTED Cluster di-roll back ke bidang kontrol lama. Dilaporkan dalam waktu singkat.