全部产品
Search
文档中心

Alibaba Cloud Service Mesh:Konfigurasi kebijakan injeksi sidecar

更新时间:Nov 14, 2025

Service Mesh (ASM) menyediakan injector sidecar yang secara otomatis menyuntikkan proxy sidecar ke dalam Pod baru. Anda dapat mengonfigurasi kebijakan injeksi berdasarkan label untuk menentukan Pod mana yang memerlukan sidecar, sehingga membantu penggunaan sumber daya yang lebih efisien dan penyederhanaan manajemen. Selain itu, sesuai dengan ukuran dan beban kluster Anda, Anda juga dapat menyesuaikan konfigurasi sumber daya injector agar memiliki kapasitas yang cukup untuk beroperasi.

Prasyarat

Kluster ACK telah ditambahkan ke instans ASM. Untuk informasi selengkapnya, lihat Menambahkan kluster ke instans ASM.

Konfigurasi kebijakan injeksi otomatis

Anda dapat mencocokkan Pod untuk injeksi sidecar menggunakan label namespace Pod, label Pod, atau anotasi Pod.

  1. Masuk ke Konsol ASM. Di panel navigasi sebelah kiri, pilih Service Mesh > Mesh Management.

  2. Pada halaman Mesh Management, klik nama instans ASM. Di panel navigasi sebelah kiri, pilih Data Plane Component Management > Sidecar Proxy injection.

  3. Pada halaman Injection Policy Configuration, di bagian Injection Policy Configuration Management, konfigurasikan kebijakan injeksi otomatis.

    Sidecar hanya akan secara otomatis disuntikkan ke dalam Pod jika Pod tersebut memenuhi kedua kondisi berikut: Condition For Pod Namespace Labels dan Condition For Pod Labels/annotations.

    Kondisi pencocokan

    Deskripsi

    Condition For Pod Namespace Labels

    Kondisi pencocokan untuk label namespace tempat Pod berada.

    • Includes Istio-injection: Enabled: Pod memenuhi kondisi injeksi otomatis jika namespace-nya berisi label istio-injection: enabled.

    • Istio-injection: Disabled: Pod memenuhi kondisi injeksi otomatis jika namespace-nya tidak berisi label istio-injection: disabled.

    Condition For Pod Labels/annotations

    Kondisi pencocokan untuk label atau anotasi Pod itu sendiri.

    • Sidecar.istio.io/inject: False: Pod memenuhi kondisi injeksi otomatis jika tidak memiliki label atau anotasi sidecar.istio.io/inject: "false".

    • Includes Sidecar.istio.io/inject: "true": Pod memenuhi kondisi injeksi otomatis jika memiliki label atau anotasi sidecar.istio.io/inject: "true".

      Catatan
      • Untuk instans ASM versi sebelum 1.12, injeksi otomatis hanya didukung melalui pencocokan anotasi Pod.

      • Untuk instans ASM versi 1.12 dan yang lebih baru, injeksi otomatis didukung melalui pencocokan label maupun anotasi Pod.

        Label memiliki prioritas pencocokan yang lebih tinggi daripada anotasi. Misalnya, jika sebuah Pod memiliki label sidecar.istio.io/inject: "true" dan anotasi sidecar.istio.io/inject: "false", maka Pod tersebut akan ditandai dengan label sidecar.istio.io/inject: "true", bukan anotasi sidecar.istio.io/inject: "false".

    Catatan

    Jika Anda mengonfigurasi kebijakan di mana namespace tidak memiliki label Istio-injection: Disabled dan Pod tidak memiliki label Sidecar.istio.io/inject: False, ASM secara otomatis akan menambahkan label Istio-injection: Disabled ke namespace kube-system. Hal ini memastikan komponen sistem tidak terpengaruh.

  4. (Opsional) Di bawah bagian Injection Policy Configuration Management, klik Show Advanced Options untuk mengonfigurasi opsi lanjutan.

    Item konfigurasi

    Deskripsi

    Pod Label Selector For Sidecar Injection (AlwaysInjectSelector)

    AlwaysInjectSelector adalah pemilih label Pod yang dapat dikonfigurasi. Pod yang dipilih oleh AlwaysInjectSelector diperlakukan seolah-olah memiliki label atau anotasi sidecar.istio.io/inject:"true".

    Pod Label Selector To Prevent Sidecar Injection (NeverInjectSelector)

    NeverInjectSelector adalah pemilih label Pod yang dapat dikonfigurasi. Pod yang dipilih oleh NeverInjectSelector diperlakukan seolah-olah memiliki label atau anotasi sidecar.istio.io/inject:"false".

    Catatan

    AlwaysInjectSelector dan NeverInjectSelector keduanya merupakan pemilih label Pod dan dikonfigurasi dengan cara yang sama. Setiap pemilih dapat memiliki beberapa baris, dan setiap baris merupakan ekspresi pemilihan label. Sebuah Pod dipilih jika label-nya cocok dengan salah satu ekspresi tersebut.

    Setiap ekspresi pemilihan label memiliki tiga bagian:

    • Kunci: Kunci dari label Pod yang digunakan untuk pencocokan.

    • Operator: Operator yang digunakan untuk mencocokkan label Pod. Anda dapat memilih salah satu dari empat operator berikut:

      • In: Ekspresi cocok jika nilai label Pod ada dalam daftar nilai yang ditentukan.

      • NotIn: Ekspresi cocok jika nilai label Pod tidak ada dalam daftar nilai yang ditentukan.

      • Exists: Ekspresi cocok jika kunci yang ditentukan ada dalam label Pod.

      • DoesNotExist: Ekspresi cocok jika kunci yang ditentukan tidak ada dalam label Pod.

    • Nilai: Jika Anda memilih In atau NotIn sebagai operator, tentukan daftar nilai untuk dicocokkan.

  5. Di bagian bawah halaman, klik Update Settings.

Konfigurasi injector sidecar

Injector sidecar adalah layanan admission webhook yang diterapkan di kluster Kubernetes bidang data. Layanan ini bukan proxy sidecar, melainkan bertanggung jawab untuk secara otomatis menyuntikkan proxy sidecar. Layanan dan beban kerja injector sidecar diterapkan di namespace istio-system kluster Kubernetes, dengan nama yang diawali dengan istio-sidecar-injector. Anda dapat menyesuaikan pengaturan sumber daya dan jumlah replika komponen injector sidecar guna memastikan ketersediaannya saat banyak Pod disuntikkan secara bersamaan. Kami menyarankan Anda mengonfigurasi metrik pemantauan dan aturan peringatan untuk layanan admission webhook injector sidecar. Untuk informasi selengkapnya, lihat Manajemen peringatan Container Service dan Metrik untuk komponen kube-apiserver.

  1. Masuk ke Konsol ASM. Di panel navigasi sebelah kiri, pilih Service Mesh > Mesh Management.

  2. Pada halaman Mesh Management, klik nama instans ASM. Di panel navigasi sebelah kiri, pilih Data Plane Component Management > Sidecar Proxy injection.

  3. Pada halaman Injection Policy Configuration, di bagian Sidecar Injector Configuration Management, konfigurasikan injector sidecar. Lalu, di bagian bawah halaman, klik Update Settings.

    Item konfigurasi

    Deskripsi

    Sidecar Injector Resource Configuration

    Konfigurasikan Resource Limits dan Required Resources untuk kontainer injector sidecar.

    • Resource Limits: Konfigurasikan batas sumber daya CPU dan memori untuk kontainer injector sidecar. Satuan CPU adalah core, dan satuan memori adalah MiB.

    • Required Resources: Konfigurasikan sumber daya CPU dan memori yang dibutuhkan oleh kontainer injector sidecar. Satuan CPU adalah core, dan satuan memori adalah MiB.

    Number Of Pod Replicas

    Konfigurasikan jumlah replika untuk Pod injector sidecar.

    Catatan

    Menambah jumlah replika meningkatkan ketersediaan layanan injeksi sidecar saat banyak Pod disuntikkan secara bersamaan. Kami menyarankan Anda mengatur jumlah replika Pod menjadi 2 atau lebih.

    Rewrite Health Check

    Menentukan apakah akan menulis ulang pemeriksaan kesehatan untuk Pod selama injeksi. Untuk menentukan apakah akan mengaktifkan penulisan ulang pemeriksaan kesehatan, lihat Aktifkan pengalihan pemeriksaan kesehatan untuk aplikasi dalam service mesh.

    Sidecar-injector Deployment Node Selection

    Pilih node tempat Pod injector sidecar diterapkan dengan mencocokkan label.

    Klik Tambahkan Label Pencocokan, lalu masukkan Name dan Value label node kluster bidang data untuk mencocokkan node penyebaran tertentu.

Contoh 1: Menonaktifkan injeksi otomatis untuk Pod tertentu dalam namespace dan mengaktifkannya untuk Pod lainnya

  1. Konfigurasikan kebijakan injeksi otomatis.

    1. Masuk ke Konsol ASM. Di panel navigasi sebelah kiri, pilih Service Mesh > Mesh Management.

    2. Pada halaman Mesh Management, klik nama instans ASM. Di panel navigasi sebelah kiri, pilih Data Plane Component Management > Sidecar Proxy injection.

    3. Pada halaman Injection Policy Configuration, di bagian Injection Policy Configuration Management, konfigurasikan informasi terkait.

      Konfigurasi berikut menunjukkan bahwa proxy sidecar secara otomatis disuntikkan ke semua Pod dalam namespace yang memiliki label istio-injection: enabled, kecuali jika Pod memiliki label atau anotasi sidecar.istio.io/inject: "false".

      Item konfigurasi

      Deskripsi

      Condition For Pod Namespace Labels

      Pilih Includes Istio-injection:enabled.

      Condition For Pod Labels/annotations

      Pilih Does Not Include Sidecar.istio.io/injection: "false".

  2. Buat namespace global dan aktifkan injeksi otomatis untuk namespace tersebut.

    1. Pada halaman detail instans ASM, pilih ASM Instance > Global Namespace di panel navigasi sebelah kiri. Pada halaman yang muncul, klik Create.

    2. Pada panel Create Namespace, masukkan Name untuk namespace tersebut. Dalam contoh ini, gunakan test1. Di sebelah kanan Labels, klik Add. Atur Name menjadi istio-injection dan Value menjadi enabled. Lalu, klik OK.

    3. Di bagian atas halaman, klik Sync Automatic Injection To Kubernetes Cluster untuk menyinkronkan namespace global dengan kluster Kubernetes bidang data.

  3. Buat aplikasi.

    1. Buat aplikasi details di namespace test1 kluster ACK bidang data. Untuk informasi selengkapnya, lihat Menyebar aplikasi di kluster yang terkait dengan instans ASM.

    2. Verifikasi apakah proxy sidecar disuntikkan ke dalam Pod aplikasi.

      1. Masuk ke Konsol ACK. Di panel navigasi sebelah kiri, klik Clusters.

      2. Pada halaman Clusters, temukan kluster yang Anda inginkan dan klik namanya. Di panel sebelah kiri, pilih Workloads > Deployments.

      3. Di bagian atas halaman Deployments, atur Namespace menjadi test1 dan klik nama aplikasi details.

        Pada tab Pods, Anda dapat melihat bahwa Pod berisi citra Proxy. Hal ini menunjukkan bahwa proxy sidecar berhasil disuntikkan.1D58EF1F-DE30-4d90-954D-EE00D88C592B

  4. Tambahkan label ke Pod untuk menonaktifkan injeksi otomatis.

    1. Masuk ke Konsol ACK. Di panel navigasi sebelah kiri, klik Clusters.

    2. Pada halaman Clusters, temukan kluster yang Anda inginkan dan klik namanya. Di panel sebelah kiri, pilih Workloads > Deployments.

    3. Pada halaman Stateless, klik More > View YAML di kolom Actions aplikasi details di namespace test1.

    4. Pada kotak dialog Edit YAML, ubah konfigurasi YAML dan klik Update.

      • Jika versi ASM Anda 1.12.4 atau lebih baru, tambahkan label ke parameter labels dengan kunci sidecar.istio.io/inject dan nilai "false", yaitu, sidecar.istio.io/inject: 'false'.769D1622-11DE-41c8-9DD6-757C6BD97F19

      • Jika versi ASM lebih lama dari 1.12.4, tambahkan anotasi di bawah parameter annotations dengan kunci sidecar.istio.io/inject dan nilai "false": sidecar.istio.io/inject: "false".

  5. Verifikasi bahwa injeksi otomatis dinonaktifkan untuk Pod layanan details, meskipun injeksi otomatis diaktifkan untuk namespace test1.

    1. Masuk ke Konsol ACK. Di panel navigasi sebelah kiri, klik Clusters.

    2. Pada halaman Clusters, temukan kluster yang Anda inginkan dan klik namanya. Di panel sebelah kiri, pilih Workloads > Deployments.

    3. Di bagian atas halaman Deployments, atur Namespace menjadi test1 dan klik nama aplikasi details.

      Pada tab Pods, Anda dapat melihat bahwa Pod tidak berisi citra Proxy. Hal ini menunjukkan bahwa injeksi otomatis dinonaktifkan untuk Pod layanan details, meskipun injeksi otomatis diaktifkan untuk namespace test1.验证details不进行自动注入..png

Contoh 2: Mengonfigurasi kebijakan injeksi otomatis untuk Pod individual

Jika Anda tidak ingin mengonfigurasi kebijakan injeksi otomatis di tingkat namespace, Anda dapat mengonfigurasinya untuk Pod individual. Langkah-langkah berikut menjelaskan cara melakukan operasi ini.

  1. Konfigurasikan kebijakan injeksi otomatis.

    1. Masuk ke Konsol ASM. Di panel navigasi sebelah kiri, pilih Service Mesh > Mesh Management.

    2. Pada halaman Mesh Management, klik nama instans ASM. Di panel navigasi sebelah kiri, pilih Data Plane Component Management > Sidecar Proxy injection.

    3. Pada halaman Injection Policy Configuration Management, di bagian Injection Policy Configuration Management, konfigurasikan informasi terkait. Lalu, di bagian bawah halaman, klik Update Settings.

      Konfigurasi berikut menunjukkan bahwa proxy sidecar secara otomatis disuntikkan ke semua Pod yang memiliki label sidecar.istio.io/inject: "true". Namun, proxy sidecar tidak disuntikkan ke Pod apa pun di namespace yang memiliki label istio-injection:disabled.

      Item konfigurasi

      Deskripsi

      Condition For Pod Namespace Labels

      Pilih Does Not Include Istio-injection:disabled.

      Condition For Pod Labels/annotations

      Pilih Includes Sidecar.istio.io/injection: "true".

  2. Di kluster ACK, buat namespace bernama test2 yang tidak memiliki label apa pun. Untuk informasi selengkapnya, lihat Mengelola namespace dan kuota.

  3. Buat aplikasi reviews di namespace test2 kluster ACK. Untuk informasi selengkapnya, lihat Menyebar aplikasi di kluster yang terkait dengan instans ASM.

  4. Tambahkan label ke Pod untuk mengaktifkan injeksi otomatis.

    1. Masuk ke Konsol ACK. Di panel navigasi sebelah kiri, klik Clusters.

    2. Pada halaman Clusters, temukan kluster yang Anda inginkan dan klik namanya. Di panel sebelah kiri, pilih Workloads > Deployments.

    3. Di bagian atas halaman Stateless, atur Namespace menjadi test2. Di kolom Actions untuk layanan reviews, klik Lainnya > Lihat YAML.

    4. Pada kotak dialog Edit YAML, di bawah parameter labels, tambahkan label sidecar.istio.io/inject: "true". Lalu, klik Perbarui.

      Catatan

      Untuk menggunakan label dalam mengonfigurasi injeksi otomatis untuk Pod, instans Service Mesh (ASM) Anda harus versi 1.12.4 atau lebih baru. Untuk informasi selengkapnya tentang cara meningkatkan instans, lihat Meningkatkan instans ASM.

      修改YAML..png

  5. Verifikasi bahwa kebijakan injeksi otomatis berhasil dikonfigurasi untuk Pod tersebut.

    1. Masuk ke Konsol ACK. Di panel navigasi sebelah kiri, klik Clusters.

    2. Pada halaman Clusters, temukan kluster yang Anda inginkan dan klik namanya. Di panel sebelah kiri, pilih Workloads > Deployments.

    3. Di bagian atas halaman Stateless, atur Namespace menjadi test2, lalu klik nama aplikasi reviews.

      Pada tab Pods, Anda dapat melihat bahwa Pod berisi citra Proxy. Hal ini menunjukkan bahwa kebijakan injeksi otomatis berhasil dikonfigurasi untuk Pod tersebut.场景二验证..png

Referensi

  • Pod yang sedang berjalan harus dimulai ulang agar kebijakan injeksi sidecar berlaku. Untuk informasi selengkapnya, lihat Memulai ulang Pod.

  • Jika aplikasi yang diaktifkan Istio masih menggunakan versi lama proxy sidecar setelah Anda meningkatkan lapisan kontrol, Anda harus meningkatkan proxy sidecar tersebut. Untuk informasi selengkapnya, lihat Meningkatkan proxy sidecar.

  • Anda dapat mengonfigurasi penggunaan sumber daya, kebijakan intersepsi lalu lintas, proxy DNS, dan siklus hidup proxy sidecar pada berbagai tingkatan, seperti global, namespace, beban kerja, dan Pod. Untuk informasi selengkapnya, lihat Mengonfigurasi proxy sidecar.