Service Mesh (ASM) memperbarui daftar versi utama Istio yang didukung kira-kira setiap tiga bulan, bersama dengan rilis versi patch berkala yang menghadirkan perbaikan keamanan dan fitur baru. Instans ASM yang kedaluwarsa tidak lagi menerima Patch keamanan, perbaikan bug, atau dukungan teknis lengkap. Lakukan peningkatan secara proaktif untuk mengurangi risiko keamanan dan memanfaatkan fitur terbaru.
ASM mendukung dua metode peningkatan:
In-place upgrade — Meningkatkan lapisan kontrol ke versi berikutnya yang berdekatan. Setelah peningkatan lapisan kontrol, tingkatkan secara manual gerbang bidang data dan restart workload untuk menyuntikkan ulang sidecar.
Canary release — Menjalankan dua versi lapisan kontrol secara berdampingan, memungkinkan migrasi workload bertahap dengan dukungan rollback. Mendukung melewati hingga satu versi minor.
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
Urutan peningkatan
Terlepas dari metodenya, setiap peningkatan ASM mengikuti urutan berikut:
Pilih versi target dan metode — Tinjau tindakan pencegahan dan perubahan spesifik versi.
Jalankan Pemeriksaan Awal peningkatan — ASM memvalidasi instans Anda terhadap ketidakcocokan yang diketahui.
Tingkatkan lapisan kontrol — Terapkan versi baru ke komponen lapisan kontrol.
Tingkatkan bidang data — Tingkatkan gerbang dan restart workload untuk menyuntikkan ulang sidecar dengan versi baru.
Verifikasi — Pastikan workload berjalan dengan versi sidecar yang diharapkan.
Konsep utama
| Istilah | Deskripsi |
|---|---|
| Control plane | Mengelola penemuan layanan, manajemen konfigurasi, keputusan kebijakan, dan manajemen sertifikat. Di ASM, lapisan kontrol terutama terdiri dari komponen Istio seperti Istio-Pilot (penemuan layanan dan manajemen traffic) dan Istio-Citadel (manajemen sertifikat). |
| Data plane | Sekumpulan proxy Envoy yang diterapkan sebagai sidecar bersama kontainer aplikasi Anda. Proxy ini mencegat traffic, menerapkan keputusan routing dan kebijakan dari lapisan kontrol, serta melaporkan data telemetri seperti latensi, traffic, dan laju error. |
| In-place upgrade | Meningkatkan lapisan kontrol dan bidang data secara berurutan. Hanya peningkatan versi berdekatan yang didukung. Rollback tidak didukung. |
| Canary release | Menyebarkan versi lapisan kontrol baru berdampingan dengan versi saat ini. Workload dimigrasikan secara bertahap berdasarkan label namespace. Rollback didukung selama proses berlangsung. |
Format versi
Versi ASM mengikuti format berikut:
<major>.<minor>.<patch>.<asm-patch>[-<sequence>-aliyun]Contoh: v1.18.0.158-gc6cf0b9c-aliyun (Edisi Perusahaan)
| Field | Deskripsi | Contoh |
|---|---|---|
major.minor.patch | Versi Istio open-source | 1.18.0 |
asm-patch | Nomor patch khusus ASM | 158 |
sequence | Hash commit Git | gc6cf0b9c |
Pilih metode peningkatan
| Pertimbangan | In-place upgrade | Canary release |
|---|---|---|
| Lompatan versi | Hanya versi berdekatan | Hingga satu versi minor |
| Rollback | Tidak didukung | Didukung selama peningkatan |
| Edisi yang berlaku | Semua edisi | Edisi Perusahaan atau Edisi Ultimate, versi 1.16.4.91 atau lebih baru |
| Paling cocok untuk | Peningkatan tingkat patch (hanya perubahan asm-patch) | Peningkatan versi minor yang memerlukan validasi sebelum migrasi |
Untuk instans ASM versi sebelum 1.16.4.91, hanya peningkatan in-place yang didukung.
Contoh jalur peningkatan
Tabel berikut menunjukkan contoh jalur dari v1.16 ke v1.18. Pilih jalur berdasarkan lingkungan Anda.
| Versi awal | Versi target | Metode yang tersedia |
|---|---|---|
| 1.16.4.93 | 1.17.2.42 | In-place upgrade atau canary release |
| 1.17.2.42 | 1.18.0.158 | In-place upgrade atau canary release |
| 1.16.4.93 | 1.18.0.158 | Hanya canary release |
Antarmuka yang tersedia
| Antarmuka | Metode yang didukung |
|---|---|
| Konsol ASM | In-place upgrade, canary release |
| API | Hanya in-place upgrade (UpgradeMeshVersion, DescribeUpgradeVersion, DescribeServiceMeshUpgradeStatus) |
Catatan penggunaan
Jadwalkan pada jam sepi. Merestart pod untuk menyuntikkan ulang sidecar menyebabkan gangguan layanan singkat. Rencanakan jendela peningkatan bidang data sesuai kebutuhan.
Jangan ubah aturan traffic selama peningkatan. Hindari rilis bertahap atau perubahan aturan traffic selama peningkatan lapisan kontrol sedang berlangsung.
Peningkatan gerbang memicu restart bergulir. Meningkatkan gerbang ASM secara manual akan merestart pod-nya secara berurutan.
Cakupan Pemeriksaan Awal terbatas. ASM menjalankan pemeriksaan kompatibilitas sebelum peningkatan, tetapi tidak semua konfigurasi atau perubahan API yang tidak kompatibel terdeteksi. Tinjau catatan rilis untuk versi target Anda sebelum melakukan peningkatan.
Peningkatan paksa untuk instans kedaluwarsa. ASM berhak melakukan peningkatan paksa pada instans kedaluwarsa ke versi didukung paling awal pada waktu yang dijadwalkan. Lakukan peningkatan secara proaktif agar tetap mengontrol waktu pelaksanaannya.
Pembaruan hot Otomatis untuk versi patch. Ketika hanya nomor asm-patch yang berubah (misalnya, dari v1.18.0.123 ke v1.18.0.146), ASM menerapkan pembaruan hot secara otomatis tanpa pemberitahuan. Versi gerbang bidang data dan proxy sidecar tetap tidak berubah selama pembaruan hot.
Tingkatkan instans ASM (in-place)
Prosedur
Masuk ke Konsol ASM. Di panel navigasi kiri, pilih Service Mesh > Mesh Management.
Klik nama instans ASM. Di panel navigasi kiri, pilih ASM Instance > Upgrade Management.
Di halaman Upgrade Management, klik tab In-place Upgrade, lalu klik Perform Upgrade Precheck. Di kotak dialog Important, klik OK.
Setelah Pemeriksaan Awal berhasil, klik Upgrade. Di kotak dialog Important, klik OK. Peningkatan lapisan kontrol dimulai. Tunggu hingga selesai sebelum melanjutkan.
Di bagian Data plane, temukan kolom Upgrade, pilih gerbang target, lalu klik Upgrade Gateway. Di kotak dialog Important, klik OK. Pod gerbang akan direstart secara bergulir.
Restart workload untuk menyuntikkan ulang sidecar dengan versi baru. Untuk informasi lebih lanjut, lihat Redeploy workloads.
Tingkatkan instans ASM (canary release)
Canary release memungkinkan Anda menjalankan dua versi lapisan kontrol secara simultan dan memigrasikan workload secara bertahap. Ini menyediakan jalur peningkatan yang lebih aman untuk lingkungan produksi karena Anda dapat memvalidasi versi baru sebelum sepenuhnya bermigrasi.
Untuk prosedur rilis canary lengkap, lihat Gunakan rilis canary untuk meningkatkan stabilitas pemutakhiran.
Label penyuntikan sidecar selama canary release
Saat canary release aktif, dua versi lapisan kontrol berdampingan. Gunakan label namespace untuk mengontrol versi sidecar yang disuntikkan ke dalam workload.
Label versi saat ini:
| Label | Efek |
|---|---|
istio-injection=enabled | Menyuntikkan sidecar versi saat ini (stabil) |
istio.io/rev=stable | Menyuntikkan sidecar versi saat ini |
istio.io/rev=<x-y-z> (misalnya, 1-17-2) | Menyuntikkan sidecar untuk versi yang ditentukan |
Label versi canary:
| Label | Efek |
|---|---|
istio.io/rev=canary | Menyuntikkan sidecar versi canary |
istio.io/rev=<x-y-z> (misalnya, 1-18-0) | Menyuntikkan sidecar untuk versi yang ditentukan (disarankan) |
Jangan tambahkan label istio-injection dan istio.io/rev secara bersamaan ke namespace yang sama. Label-label ini saling eksklusif.
Contoh: Untuk meningkatkan dari 1.17.2.42 ke versi 1.18.0, beri label namespace uji coba agar menggunakan sidecar canary:
kubectl label namespace <test-namespace> istio.io/rev=1-18-0 --overwriteSetelah memverifikasi bahwa workload di namespace uji coba berjalan normal, terapkan label tersebut ke namespace lainnya.
FAQ
Apakah peningkatan in-place memengaruhi traffic bidang data?
Tidak. Peningkatan in-place hanya memengaruhi lapisan kontrol. Proxy sidecar dan gerbang yang ada terus menangani traffic secara normal hingga Anda meningkatkannya secara manual.
Berapa langkah peningkatan yang diperlukan untuk mencapai versi target saya?
Peningkatan in-place hanya mendukung lompatan versi berdekatan, sehingga mencapai versi yang dua rilis minor di depan memerlukan dua peningkatan terpisah. Canary release mendukung melewati satu versi minor, yang dapat mengurangi jumlah langkah total. Lihat tabel jalur peningkatan di atas untuk merencanakan rute Anda.
Setelah meningkatkan ASM, apakah saya perlu meningkatkan kluster ACK terkait?
Periksa Kompatibilitas versi ASM dan ACK untuk menentukan apakah peningkatan kluster ACK diperlukan. Jika iya, lihat Manually upgrade a cluster.
Bagaimana cara meningkatkan sidecar yang disuntikkan sebelum versi canary menjadi resmi?
Di halaman Upgrade Management, klik tab Canary Upgrade, lalu klik tab Data plane. Di bagian Workloads To Be Upgraded, klik Rolling Upgrade di samping workload target untuk memicu pembaruan bergulir deployment-nya.
Lihat juga
Use ASM mesh diagnostics — Diagnosa potensi masalah termasuk versi komponen, port layanan, dan konflik layanan virtual.
Work with cluster diagnostics — Gunakan diagnosis berbasis AIOps untuk node, pod, layanan, dan masalah jaringan.
Catatan rilis — Tinjau fitur dan perubahan terbaru ASM.