Dokumen ini menjelaskan cara membuat Filter Envoy dari templat Filter Envoy untuk menerapkan satu konfigurasi filter ke beberapa workload dan namespace di Service Mesh (ASM). Pengelolaan Filter Envoy melalui templat meningkatkan penggunaan ulang konfigurasi, menjaga filter tetap selaras dengan versi mesh selama upgrade, serta mengurangi kompleksitas dan potensi kesalahan dalam pemeliharaan manual.
Prasyarat
Anda telah menambahkan kluster ke instans ASM.
Instans ASM Anda menjalankan versi 1.12.4.0 atau yang lebih baru. Untuk petunjuk cara melakukan upgrade instans ASM, lihat Upgrade an ASM instance.
Templat Filter Envoy dan Filter Envoy
Templat Filter Envoy dan Filter Envoy membentuk pasangan abstraksi-dan-instantiasi. Templat berfungsi sebagai blueprint yang menentukan konfigurasi dan parameter yang diperlukan untuk membuat Filter Envoy yang berjalan sesungguhnya.
Envoy filter template — Struktur konfigurasi yang telah ditentukan sebelumnya dan berisi semua aturan serta parameter templat yang diperlukan untuk membuat Filter Envoy. Templat ini mendefinisikan cara traffic yang melewati proxy Envoy diproses, namun templat itu sendiri tidak diterapkan pada traffic.
Envoy filter — Entitas konfigurasi yang dibuat dari templat dan diterapkan pada proxy Envoy di service mesh untuk memfilter dan memproses traffic yang melewatinya. Filter Envoy merupakan instans spesifik dari templat dan menerapkan aturan serta parameter templat tersebut pada traffic layanan nyata.
Filter Envoy berisiko mengalami ketidakcocokan versi, sehingga Filter Envoy yang dibuat secara manual dapat menyulitkan proses upgrade dan pemeliharaan mesh. Mulai dari ASM versi 1.12.4.0, Anda dapat membuat Filter Envoy dengan mengelola templat Filter Envoy sebagai gantinya. Saat instans Service Mesh di-upgrade, templat Filter Envoy secara otomatis membuat atau memperbarui Filter Envoy yang sesuai berdasarkan versi yang telah disesuaikan. Pendekatan ini mengurangi risiko ketidakcocokan versi dan mempermudah penggunaannya.
Binding menginstantiasikan templat. ASM secara otomatis membuat Filter Envoy yang sesuai untuk setiap workload atau namespace yang Anda bind, sehingga satu templat Filter Envoy dapat diikat ke beberapa workload dan namespace untuk menghasilkan beberapa Filter Envoy.
Langkah 1: Buat Templat Filter Envoy
-
Masuk ke Konsol ASM. Di panel navigasi kiri, pilih .
-
Di halaman Mesh Management, klik nama instans ASM. Di panel navigasi kiri, pilih . Di halaman yang muncul, klik Create EnvoyFilter Template.
Di halaman Create, pada bagian Basic Information, masukkan nama untuk templat Filter Envoy.
Pada bagian Multi-version adapted EnvoyFilter templates, klik Add an EnvoyFilter template for specific adapted istio version., pilih Adapted istio version, masukkan konten Filter Envoy yang telah disesuaikan dengan versi tersebut, lalu klik Create.
Jika instans ASM Anda menjalankan versi 1.18.0.146 atau yang lebih baru, opsi No Minimum Version Limit dan No Maximum Version Limit dipilih secara default di bagian Adapted istio version. Untuk menyesuaikan rentang versi Istio, hapus centang pada No Minimum Version Limit atau No Maximum Version Limit, lalu masukkan versi kustom.
Untuk contoh konfigurasi dan deskripsi bidang Filter Envoy, lihat Envoy Filter.
Verifikasi bahwa templat Filter Envoy baru muncul di halaman EnvoyFilter Template.
Langkah 2: Bind Templat Filter Envoy ke Workload atau Namespace
Bind templat Filter Envoy ke workload atau namespace agar Filter Envoy hanya berlaku pada workload atau namespace tersebut. Sebelum memulai, tentukan dua hal berikut:
Cakupan binding — Bind workload jika Filter Envoy harus berlaku hanya pada workload tunggal tersebut. Bind namespace jika Filter Envoy harus berlaku pada seluruh namespace. Binding namespace
istio-systemmembuat Filter Envoy berlaku secara global.Versi instans ASM — Titik masuk konsol untuk binding berbeda antara instans sebelum versi 1.18.0.146 dan instans versi 1.18.0.146 atau yang lebih baru. Periksa versi instans ASM Anda, lalu ikuti prosedur yang sesuai.
Versi instans ASM sebelum 1.18.0.146
Bind Templat Filter Envoy ke Workload
-
Masuk ke Konsol ASM. Di panel navigasi kiri, pilih .
-
Di halaman Mesh Management, klik nama instans ASM. Di panel navigasi kiri, pilih .
Di halaman EnvoyFilter Template, temukan templat Filter Envoy yang ingin Anda bind, lalu klik Edit template di kolom Actions.
Di halaman Edit EnvoyFilter Template, klik tab Bind template to workloads, lalu klik Bind EnvoyFilter to Workloads.
Di kotak dialog Bind EnvoyFilter to Workloads, pilih Namespaces dan Workload Type, klik Bind di sebelah kanan workload yang ingin Anda bind pada bagian Not bound, lalu klik OK.
Verifikasi bahwa Filter Envoy telah dibuat. Di panel navigasi kiri halaman detail mesh, pilih Plugin Extension Center > EnvoyFilter. Filter Envoy yang dibuat secara otomatis akan muncul di halaman EnvoyFilter.
Bind Templat Filter Envoy ke Namespace
-
Masuk ke Konsol ASM. Di panel navigasi kiri, pilih .
-
Di halaman Mesh Management, klik nama instans ASM. Di panel navigasi kiri, pilih .
Di halaman EnvoyFilter Template, temukan templat Filter Envoy yang ingin Anda bind, lalu klik Edit template di kolom Actions.
Di halaman Edit EnvoyFilter Template, klik tab Bind template to workloads, lalu klik Bind namespace.
Di bagian Not bound pada kotak dialog Bind namespace, klik nama namespace yang ingin Anda bind, lalu klik OK.
PeringatanJika Anda mengikat namespace
istio-system, Filter Envoy akan berlaku secara global dan semua binding lain yang telah Anda buat akan secara otomatis dilepas. Pastikan apakah Anda ingin mengikatistio-systemsebelum melanjutkan.Verifikasi bahwa Filter Envoy telah dibuat. Di panel navigasi kiri halaman detail mesh, pilih Plugin Extension Center > EnvoyFilter. Filter Envoy yang dibuat secara otomatis akan muncul di halaman EnvoyFilter.
Versi instans ASM 1.18.0.146 atau yang lebih baru
Bind Templat Filter Envoy ke Workload
-
Masuk ke Konsol ASM. Di panel navigasi kiri, pilih .
-
Di halaman Mesh Management, klik nama instans ASM. Di panel navigasi kiri, pilih .
Di halaman EnvoyFilter Template, temukan templat Filter Envoy yang ingin Anda bind, lalu klik Edit template di kolom Actions.
Di bagian bawah halaman Edit EnvoyFilter Template, lihat bagian Bind template to workloads.
Jika halaman menampilkan pesan The EnvoyFilter template has adapted this version, but the correspond EnvoyFilters has not been created., klik Create di sebelah kanan.
Di bagian Bind template to workloads, klik Bind EnvoyFilter to Workloads. Di kotak dialog Bind EnvoyFilter to Workloads, pilih Namespaces dan Workload Type. Di kolom Actions pada bagian Not bound, klik Bind untuk workload yang ingin Anda bind, lalu klik OK.
Verifikasi bahwa Filter Envoy telah dibuat. Di panel navigasi kiri halaman detail mesh, pilih Plugin Extension Center > EnvoyFilter. Filter Envoy yang dibuat secara otomatis akan muncul di halaman EnvoyFilter.
Bind Templat Filter Envoy ke Namespace
-
Masuk ke Konsol ASM. Di panel navigasi kiri, pilih .
-
Di halaman Mesh Management, klik nama instans ASM. Di panel navigasi kiri, pilih .
Di halaman EnvoyFilter Template, temukan templat Filter Envoy yang ingin Anda bind, lalu klik Edit template di kolom Actions.
Di bagian bawah halaman Edit EnvoyFilter Template, lihat bagian Bind template to workloads.
Jika halaman menampilkan pesan The EnvoyFilter template has adapted this version, but the correspond EnvoyFilters has not been created., klik Create di sebelah kanan.
Di bagian Bind template to workloads, klik Bind namespace. Di bagian Not bound pada kotak dialog Bind namespace, klik nama namespace yang ingin Anda bind, lalu klik OK.
PeringatanJika Anda mengikat namespace
istio-system, Filter Envoy akan berlaku secara global dan semua binding lain yang telah Anda buat akan secara otomatis dilepas. Pastikan apakah Anda ingin mengikatistio-systemsebelum melanjutkan.Verifikasi bahwa Filter Envoy telah dibuat. Di panel navigasi kiri halaman detail mesh, pilih Plugin Extension Center > EnvoyFilter. Filter Envoy yang dibuat secara otomatis akan muncul di halaman EnvoyFilter.