Mengaktifkan fitur opsional di bidang kontrol terkelola

Managed Cloud Service Mesh memungkinkan Anda mengaktifkan fitur mesh opsional dengan menyesuaikan resource ConfigMap di cluster Anda. Anda dapat mengonfigurasi penguatan keamanan seperti image proxy tanpa distro, membatasi keluar eksternal dengan kebijakan traffic keluar, dan menyesuaikan pengambilan sampel rekaman aktivitas sementara Google mengelola pemeliharaan dan upgrade bidang kontrol.

Ketersediaan fitur bervariasi menurut penerapan bidang kontrol dan saluran rilis. Untuk mengetahui informasi selengkapnya, lihat Fitur yang didukung menggunakan Istio API (bidang kontrol terkelola) dan Mengaktifkan fitur opsional di bidang kontrol dalam cluster.

Gambar proxy tanpa distro

  • Cluster yang di-onboard langsung (cluster yang di-onboard langsung ke TRAFFIC_DIRECTOR bidang kontrol yang dikelola): Hanya jenis image distroless yang didukung. Anda tidak dapat mengubahnya. Gambar default tidak didukung.

  • Cluster yang dimigrasikan (cluster yang dimigrasikan dari bidang kontrol ISTIOD ke TRAFFIC_DIRECTOR): Jenis image secara default adalah image default (yang berisi biner debug). Anda dapat secara eksplisit memilih untuk menggunakan gambar distroless sendiri guna meningkatkan keamanan.

Distroless adalah jenis image yang direkomendasikan untuk meningkatkan keamanan. Sebagai praktik terbaik, Anda harus membatasi konten runtime penampung hanya pada paket yang diperlukan. Pendekatan ini meningkatkan keamanan dan rasio sinyal terhadap derau (signal-to-noise ratio) pemindai Common Vulnerabilities and Exposures (CVE). Istio menyediakan image proxy berdasarkan image dasar distroless.

Image proxy tanpa distro tidak berisi biner selain proxy. Oleh karena itu, tidak mungkin untuk exec shell atau menggunakan curl, ping, atau utilitas debug lainnya di dalam penampung. Namun, Anda dapat menggunakan container sementara untuk dilampirkan ke Pod workload yang sedang berjalan agar dapat memeriksanya dan menjalankan perintah kustom. Misalnya, lihat Mengumpulkan log Cloud Service Mesh.

Konfigurasi berikut mengaktifkan image tanpa distro untuk seluruh Cloud Service Mesh. Perubahan jenis gambar mengharuskan setiap pod dimulai ulang dan disuntikkan kembali agar dapat diterapkan.

     apiVersion: v1
     kind: ConfigMap
     metadata:
       name: istio-release-channel
       namespace: istio-system
     data:
       mesh: |-
         defaultConfig:
           image:
             imageType: distroless

Anda dapat mengganti imageType menggunakan anotasi pod berikut. Perhatikan bahwa untuk cluster dengan bidang kontrol TRAFFIC_DIRECTOR terkelola, hanya distroless yang didukung sebagai nilai penggantian eksplisit (debug atau jenis image non-distroless lainnya tidak diizinkan).

sidecar.istio.io/proxyImageType: distroless

Setelah mengubah jenis gambar deployment menggunakan anotasi, deployment harus dimulai ulang. Untuk kembali ke gambar default, hapus anotasi sidecar.istio.io/proxyImageType atau kolom imageType dari MeshConfig Anda, lalu mulai ulang deployment.

kubectl rollout restart deployment -n NAMESPACE DEPLOYMENT_NAME

Karena tidak memerlukan image dasar debug, sebagian besar jenis proses debug proxy harus menggunakan gcloud beta container fleet mesh debug proxy-status / proxy-config (detail).

Kebijakan Lalu Lintas Keluar

Secara default, outboundTrafficPolicy disetel ke ALLOW_ANY. Dalam mode ini, semua traffic ke layanan eksternal diizinkan. Untuk mengontrol dan membatasi traffic hanya ke layanan eksternal yang entri layanannya ditentukan, Anda dapat mengubah perilaku default ALLOW_ANY menjadi REGISTRY_ONLY.

  1. Konfigurasi berikut mengonfigurasi outboundTrafficPolicy ke REGISTRY_ONLY:

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: istio-release-channel
      namespace: istio-system
    data:
      mesh: |-
        outboundTrafficPolicy:
          mode: REGISTRY_ONLY
    

    dengan release-channel adalah saluran rilis Anda (asm-managed, asm-managed-stable, atau asm-managed-rapid).

  2. Anda dapat melakukan perubahan konfigurasi yang diperlukan sebelumnya di configmap menggunakan perintah berikut:

    kubectl edit configmap istio-release-channel -n istio-system -o yaml
    
  3. Jalankan perintah berikut untuk melihat configmap:

    kubectl get configmap istio-release-channel -n istio-system -o yaml
    
  4. Untuk memverifikasi bahwa outboundTrafficPolicy diaktifkan dengan REGISTRY_ONLY, pastikan baris berikut muncul di bagian mesh:.

    ...
    apiVersion: v1
    data:
      mesh: |
        outboundTrafficPolicy:
         mode: REGISTRY_ONLY
    ...
    

Autentikasi pengguna akhir

Anda dapat mengonfigurasi autentikasi pengguna Cloud Service Mesh terkelola untuk autentikasi pengguna akhir berbasis browser dan kontrol akses ke beban kerja yang di-deploy. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi autentikasi pengguna Cloud Service Mesh.

Mengonfigurasi versi TLS minimum untuk beban kerja Anda

Jika Anda langsung mengaktifkan Cloud Service Mesh dengan TRAFFIC_DIRECTOR implementasi bidang kontrol terkelola, Anda tidak dapat mengubah setelan ini.

Anda dapat menggunakan kolom minProtocolVersion untuk menentukan versi TLS minimum untuk koneksi TLS di antara workload Anda. Untuk mengetahui informasi selengkapnya tentang cara menyetel versi TLS minimum dan memeriksa konfigurasi TLS workload Anda, lihat Konfigurasi Versi TLS Minimum Workload Istio.

Contoh berikut menunjukkan ConfigMap yang menyetel versi TLS minimum untuk beban kerja ke 1.3:

apiVersion: v1
kind: ConfigMap
metadata:
  name: istio-release-channel
  namespace: istio-system
data:
  mesh: |-
    meshMTLS:
      minProtocolVersion: TLSV1_3