Modernisasi bidang kontrol terkelola

Google akan secara bertahap mengupdate fleet yang ada yang menggunakan implementasi bidang kontrol terkelola ISTIOD untuk menggunakan implementasi TRAFFIC_DIRECTOR. Secara default, Google akan otomatis memigrasikan armada Anda, tetapi Anda dapat memilih untuk melakukan migrasi sendiri. Untuk memeriksa bidang kontrol yang digunakan oleh fleet Anda, lihat Memeriksa penerapan bidang kontrol.

Pertimbangkan hal berikut saat menyiapkan fleet untuk modernisasi:

  1. Untuk mempersiapkan modernisasi, Anda memiliki dua cara untuk mengontrol prosesnya:

    • Migrasi otomatis yang didorong Google (default) - Anda dapat menyesuaikan urutan modernisasi cluster menggunakan petunjuk di Modernisasi yang didorong Google.

    • Migrasi berbasis pelanggan (opsional) - Anda dapat memilih untuk mendorong modernisasi armada sendiri dengan memberi label sesuai dengan petunjuk di Modernisasi berbasis pelanggan.

  2. Modernisasi yang didorong Google adalah default. Dengan opsi ini, Google akan menentukan kapan perangkat Anda siap untuk dimodernisasi. Google menjadwalkan armada Anda untuk dimodernisasi dan memberi tahu Anda sebelum memulai prosesnya.

  3. Modernisasi cluster akan memulai ulang workload yang memiliki proxy. Hal ini tidak akan menyebabkan periode nonaktif jika Anda mengikuti praktik terbaik Kubernetes. Selain itu, Google akan memicu modernisasi selama masa pemeliharaan, jika Anda telah mengonfigurasinya. Setelah dimulai, proses ini akan berjalan hingga selesai dengan waktu perendaman tambahan 6 hari sebelum ditandai sebagai selesai. Jika pemantauan mendeteksi masalah, Anda dapat meminta rollback.

  4. Untuk modernisasi yang didorong pelanggan, Google akan memberi tahu Anda saat perangkat Anda siap dimodernisasi. Kemudian, Anda dapat memilih waktu untuk memicu modernisasi, cluster demi cluster. Setelah selesai, Anda akan menandai setiap modernisasi armada sebagai selesai.

  5. Setelah fleet dimodernisasi, Google akan menghapus semua komponen berbasis Istiod.

  6. Penerapan panel kontrol TRAFFIC_DIRECTOR mengharuskan cluster Anda terdaftar ke fleet dengan fitur mesh diaktifkan. Jika Anda melakukan aktivasi menggunakan alat lama, Google akan otomatis mendaftarkan cluster Anda ke fleet project-nya, menggunakan gkehub.googleapis.com Membership API. Jika memiliki otomatisasi yang membatalkan pendaftaran cluster, Anda harus menghapusnya sebelum modernisasi.

Modernisasi yang didukung Google

Opsi ini adalah default jika Anda tidak memberi label pada fleet untuk modernisasi yang berorientasi pada pelanggan. Google akan memantau perangkat Anda untuk menentukan kapan perangkat tersebut siap untuk dimodernisasi dengan aman. Jika semua perangkat yang kompatibel dengan mesh di organisasi Anda sudah siap, organisasi Anda akan dijadwalkan untuk dimodernisasi.

Beberapa fleet

Jika organisasi Anda memiliki beberapa fleet dengan Cloud Service Mesh terkelola, Anda dapat mengontrol urutan modernisasi fleet oleh Google dengan menetapkan label project mesh-modernization-order ke salah satu nilai: early, default, late. Google akan menyelesaikan modernisasi setiap grup sebelum memulai modernisasi armada apa pun di grup berikutnya. Armada yang Anda pilih untuk modernisasi berbasis pelanggan tidak akan dipertimbangkan dalam pengurutan ini.

Gunakan perintah berikut untuk menetapkan label mesh-modernization-order untuk armada:

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

Untuk mengetahui petunjuk cara menetapkan label project menggunakan Konsol atau REST, lihat dokumen membuat dan mengelola label.

Jika Anda tidak menggunakan Google Cloud organisasi, armada Anda akan dijadwalkan dan dimodernisasi secara independen, dan Anda tidak dapat mengontrol pengurutannya.

Mesh multi-cluster

Jika fleet memiliki beberapa cluster yang menggunakan Cloud Service Mesh terkelola, Anda dapat mengontrol urutan modernisasi cluster oleh Google dengan menetapkan label cluster mesh-modernization-order ke salah satu nilai: early, default, late. Google akan memulai modernisasi setiap grup dan menunggu langkah-langkah modernisasi otomatis selesai, sebelum memulai modernisasi cluster mana pun di grup berikutnya. Perhatikan bahwa pengurutan ini hanya akan berlaku dalam satu fleet, dan tidak akan memengaruhi fleet lain di organisasi Anda yang mungkin dimodernisasi secara paralel.

Gunakan perintah berikut untuk menetapkan label mesh-modernization-order untuk cluster:

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

Modernisasi berbasis pelanggan

Anda dapat memilih untuk mengontrol pengaturan waktu modernisasi secara tepat sendiri di tingkat armada. Untuk melakukannya, terapkan label pada project host fleet menggunakan perintah berikut:

gcloud alpha projects update FLEET_PROJECT_ID \
  --update-labels="mesh-modernization-mode=manual"

Perhatikan bahwa jika Google Cloud organisasi Anda memiliki beberapa fleet, setiap fleet yang tidak diberi label akan dijadwalkan untuk modernisasi yang didorong Google.

Setelah armada Anda memenuhi syarat untuk dimodernisasi, Anda akan mendapatkan notifikasi dalam status fitur tingkat armada. Anda harus memicu modernisasi dalam waktu 3 bulan sejak menerima notifikasi ini.

Anda dapat memeriksa notifikasi ini menggunakan Google Cloud CLI:

gcloud container fleet mesh describe --project FLEET_PROJECT_ID

Anda akan melihat output yang mirip dengan berikut ini:

name: projects/FLEET_PROJ/locations/global/features/servicemesh
state:
  servicemesh:
    conditions:
      # If eligible, you will see this:
      - code: MODERNIZATION_MANUAL_ELIGIBLE
        details: ...
        documentationLink: ...
        severity: INFO

      # If not yet eligible, you will see this:
      - code: MODERNIZATION_MANUAL_NOT_YET_ELIGIBLE
        details: ...
        documentationLink: ...
        severity: INFO

Dokumentasi ini akan diperbarui untuk menyertakan detail tentang cara memicu modernisasi secara manual. Berlangganan feed catatan rilis Cloud Service Mesh untuk mendapatkan notifikasi.

Modernisasi aktif untuk migrasi yang didorong Google

Bagian ini menjelaskan langkah-langkah modernisasi yang didukung Google.

Memodernisasi fleet

Google akan memicu modernisasi aktif setiap fleet organisasi Anda. Artinya, untuk setiap fleet, langkah-langkah berikut dijalankan:

  1. Modernisasi semua cluster dengan mesh-modernization-order dari early.
  2. Modernisasi semua cluster dengan mesh-modernization-order dari default atau tidak ditentukan.
  3. Modernisasi semua cluster dengan mesh-modernization-order dari late.
  4. Tunggu hingga modernisasi setiap cluster ditandai sebagai selesai. Artinya, Anda harus menunggu setidaknya 6 hari kerja setelah memulai ulang pod terakhir di cluster mana pun dalam fleet ini.
  5. Menyelesaikan modernisasi fleet ini, yang pada akhirnya akan menghapus komponen berbasis Istiod.

Memodernisasi cluster

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

  1. Aktifkan implementasi bidang kontrol baru. Jika Anda mengonfigurasi periode pemeliharaan untuk cluster, dan menggunakan modernisasi yang didorong Google, langkah ini akan dimulai selama periode pemeliharaan dan berlanjut hingga selesai.
  2. Alihkan traffic ke implementasi bidang kontrol baru. Jika Anda mengonfigurasi masa pemeliharaan untuk cluster, dan menggunakan modernisasi yang didorong Google, langkah ini akan dimulai selama masa pemeliharaan dan berlanjut hingga selesai.
    • Pod yang dikelola oleh deployment Kubernetes yang memiliki proxy Cloud Service Mesh dimulai ulang, sehingga terhubung kembali ke bidang kontrol baru.
    • Pod dimulai ulang dalam gelombang yang semakin besar dengan waktu tunggu setelah setiap gelombang untuk pemantauan.
  3. Ada waktu tunggu minimal 6 hari kerja sebelum modernisasi cluster ditandai sebagai selesai.

Gunakan perintah Google Cloud CLI berikut untuk memeriksa status modernisasi aktif:

gcloud container fleet mesh describe --project FLEET_PROJECT_ID

Anda akan melihat kondisi seperti salah satu dari berikut ini di kolom membershipStates per cluster:

...
membershipStates:
  projects/FLEET_PROJ/locations/us-central1/memberships/MEMBERSHIP:
    servicemesh:
      conditions:
      - code: MODERNIZATION_IN_PROGRESS
        details: ...
        documentationLink: ...
        severity: INFO
...
      # If you see this, see instructions provided in the details and documentationLink fields.
      - code: MODERNIZATION_ACTION_REQUIRED
        details: [details about required actions]
        documentationLink: [link to documentation for required actions]
        severity: WARNING
...
      - code: MODERNIZATION_COMPLETED
        details: ...
        documentationLink: ...
        severity: INFO

Penjadwalan dan Notifikasi

Anda akan menerima notifikasi bahwa cluster dijadwalkan untuk diupdate setidaknya dua minggu sebelum update. Notifikasi tersedia dalam kondisi status fitur tingkat cluster.

Gunakan perintah Google Cloud CLI berikut untuk memeriksa notifikasi:

gcloud container fleet mesh describe --project=FLEET_PROJECT_ID

Anda akan melihat hasil yang mirip dengan berikut ini:

membershipStates:
  projects/656460026795/locations/us-central1/memberships/cluster:
    servicemesh:
      conditions:
      - code: MODERNIZATION_SCHEDULED
        details: This cluster has been scheduled for modernization on or after (date ~ at least 2 weeks).
        documentationLink: 
        severity: INFO