Saat memperbarui atau memelihara instans Service Mesh (ASM), filter Envoy yang dikelola sendiri berisiko rusak akibat ketidakcocokan versi. Templat filter Envoy mengatasi masalah ini dengan secara otomatis menyesuaikan filter ke setiap versi ASM—Anda cukup mendefinisikan satu templat, mengikatnya ke workload atau namespace, dan ASM akan membuat serta memelihara filter Envoy terkait selama peningkatan.
| Approach | Version compatibility | Reusability | Maintenance |
|---|---|---|---|
| Envoy filter template | Otomatis — filter menyesuaikan saat instans ASM diperbarui | Satu templat dapat digunakan untuk beberapa workload | Ubah templat sekali; semua filter diperbarui |
| Standalone Envoy filter | Manual — perlu memeriksa dan memperbaiki setelah setiap pembaruan | Setiap filter dikonfigurasi secara independen | Perbarui setiap filter satu per satu |
Perilaku utama:
Templat berfungsi sebagai cetak biru; filter Envoy merupakan instans dari templat tersebut. Templat menentukan cara traffic diproses tetapi tidak langsung diterapkan pada traffic.
Satu templat dapat menghasilkan beberapa filter Envoy di berbagai workload dan namespace.
Memodifikasi templat secara otomatis memperbarui semua filter Envoy yang dibuat darinya.
Menghapus templat secara otomatis menghapus semua filter Envoy yang dihasilkannya.
Melepas ikatan templat dari suatu workload atau namespace secara otomatis menghapus filter Envoy untuk cakupan tersebut.
Mengikat templat ke namespace
istio-systemmenjadikannya berlaku secara global dan secara otomatis melepas ikatannya dari semua workload dan namespace lainnya.
Prasyarat
Instans ASM versi v1.12.4.0 atau lebih baru dengan minimal satu kluster yang telah ditambahkan. Lihat Add a cluster to an ASM instance dan Update an ASM instance.
Buat templat Envoy filter
Masuk ke Konsol ASM. Di panel navigasi kiri, pilih Service Mesh > Mesh Management.
Di halaman Mesh Management, klik nama instans ASM Anda. Di panel navigasi kiri, pilih Plugin Extension Center > EnvoyFilter Template.
Klik Create EnvoyFilter Template.
Di bagian Basic Information, masukkan nama untuk templat.
Di bagian Multi-version adapted EnvoyFilter templates, klik Add an EnvoyFilter template for specific adapted istio version.
Pilih versi Istio dari daftar drop-down Adapted istio version, konfigurasikan parameter filter, lalu klik Create.
CatatanUntuk instans ASM versi 1.18.0.146 atau lebih baru, opsi No Minimum Version Limit dan No Maximum Version Limit dipilih secara default. Untuk membatasi rentang versi, kosongkan salah satu opsi tersebut dan masukkan versi spesifik.
Untuk detail tentang bidang konfigurasi EnvoyFilter dan contohnya, lihat Envoy Filter.
Templat muncul di halaman EnvoyFilter Template.
Ikat templat ke workload atau namespace
Setelah membuat templat, ikatkan ke satu atau beberapa workload atau namespace. ASM kemudian secara otomatis membuat filter Envoy yang sesuai.
Ikat ke workload
Masuk ke Konsol ASM. Di panel navigasi kiri, pilih Service Mesh > Mesh Management.
Di halaman Mesh Management, klik nama instans ASM Anda. Di panel navigasi kiri, pilih Plugin Extension Center > EnvoyFilter Template.
Temukan templat dan klik Edit template di kolom Actions.
Buka konfigurasi pengikatan:
Versi sebelum 1.18.0.146: Klik tab Bind template to workloads, lalu klik Bind EnvoyFilter to Workloads.
Versi 1.18.0.146 atau lebih baru: Gulir ke bagian Bind template to workloads. Jika muncul pesan "The EnvoyFilter template has adapted this version, but the correspond EnvoyFilters has not been created", klik Create terlebih dahulu. Lalu klik Bind EnvoyFilter to Workloads.
Di kotak dialog Bind EnvoyFilter to Workloads, atur parameter Namespace dan Workload Type, klik Bind di samping workload target di bagian Not bound, lalu klik OK.
Untuk memverifikasi, buka Plugin Extension Center > EnvoyFilter di panel navigasi kiri. Filter Envoy yang dibuat secara otomatis muncul di halaman EnvoyFilter.
Ikat ke namespace
Masuk ke Konsol ASM. Di panel navigasi kiri, pilih Service Mesh > Mesh Management.
Di halaman Mesh Management, klik nama instans ASM Anda. Di panel navigasi kiri, pilih Plugin Extension Center > EnvoyFilter Template.
Temukan templat dan klik Edit template di kolom Actions.
Buka konfigurasi pengikatan:
Versi sebelum 1.18.0.146: Klik tab Bind template to workloads, lalu klik Bind EnvoyFilter to Namespace.
Versi 1.18.0.146 atau lebih baru: Gulir ke bagian Bind template to workloads. Jika muncul pesan "The EnvoyFilter template has adapted this version, but the correspond EnvoyFilters has not been created", klik Create terlebih dahulu. Lalu klik Bind EnvoyFilter to Namespace.
Di kotak dialog Bind EnvoyFilter to Namespace, klik namespace target di bagian Not bound dan klik OK.
CatatanMengikat templat ke namespace
istio-systemmenjadikannya berlaku secara global. Templat secara otomatis dilepas dari semua workload dan namespace lainnya.
Untuk memverifikasi, buka Plugin Extension Center > EnvoyFilter di panel navigasi kiri. Filter Envoy yang dibuat secara otomatis muncul di halaman EnvoyFilter.
Modifikasi templat
Hanya templat kustom yang dapat dimodifikasi. Templat bawaan, yang diberi label ASM plug-in di halaman EnvoyFilter Template, tidak dapat dimodifikasi.
Masuk ke Konsol ASM. Di panel navigasi kiri, pilih Service Mesh > Mesh Management.
Di halaman Mesh Management, klik nama instans ASM Anda. Di panel navigasi kiri, pilih Plugin Extension Center > EnvoyFilter Template.
Temukan templat dan klik Edit template di kolom Actions.
Perbarui parameter templat dan klik Modify template contents.
Semua filter Envoy yang dibuat dari templat ini secara otomatis diperbarui.
Lepaskan ikatan atau hapus templat dan filter
Hapus filter Envoy dengan melepas ikatan templatnya dari cakupan target, atau hapus templat itu sendiri untuk menghapus semua filter terkait.
Lepaskan ikatan templat dari workload
Di halaman EnvoyFilter Template, klik Edit template untuk templat target. Di tab Bind template to workloads, klik Bind EnvoyFilter to Workloads. Di kotak dialog, klik Unbind di samping workload di bagian Bound dan klik OK. Filter Envoy untuk workload tersebut secara otomatis dihapus.
Lepaskan ikatan templat dari namespace
Di halaman EnvoyFilter Template, klik Edit template untuk templat target. Di tab Bind template to workloads, klik Bind EnvoyFilter to Namespace. Di kotak dialog, klik namespace di bagian Bound dan klik OK. Filter Envoy untuk namespace tersebut secara otomatis dihapus.
Hapus templat
Di halaman EnvoyFilter Template, temukan templat dan klik Delete di kolom Actions. Klik OK untuk mengonfirmasi. Semua filter Envoy yang dibuat dari templat ini secara otomatis dihapus.