Fitur yang didukung menggunakan Istio API (bidang kontrol terkelola)

Halaman ini menjelaskan fitur dan batasan yang didukung untuk Cloud Service Mesh menggunakan TRAFFIC_DIRECTOR atau ISTIOD sebagai platform kontrol dan perbedaan antara setiap implementasi. Perhatikan bahwa ini bukan opsi yang dapat Anda pilih. Penerapan ISTIOD hanya tersedia untuk pengguna yang sudah ada. Penginstalan baru menggunakan implementasi TRAFFIC_DIRECTOR jika memungkinkan.

Untuk daftar fitur yang didukung Cloud Service Mesh untuk bidang kontrol dalam cluster, lihat Menggunakan Istio API (bidang kontrol istiod dalam cluster). Jika tidak yakin bidang kontrol Cloud Service Mesh mana yang Anda gunakan, Anda dapat memeriksa penerapan bidang kontrol menggunakan petunjuk di Mengidentifikasi penerapan bidang kontrol

Batasan

Batasan berikut berlaku:

  • Cluster GKE harus berada di salah satu region yang didukung.
  • Versi GKE harus merupakan versi yang didukung.
  • Hanya platform yang tercantum di Lingkungan yang didukung.
  • Mengubah saluran rilis tidak didukung.
  • Migrasi dari Cloud Service Mesh terkelola dengan asmcli ke Cloud Service Mesh dengan fleet API tidak didukung. Demikian pula, penyediaan Cloud Service Mesh terkelola dengan fleet API dari --management manual ke --management automatic tidak didukung.
  • Migrasi dan upgrade hanya didukung dari Cloud Service Mesh dalam cluster versi 1.9+ yang diinstal dengan Mesh CA. Penginstalan dengan CA Istio (sebelumnya dikenal sebagai Citadel) harus bermigrasi ke CA Mesh terlebih dahulu.
  • Skala dibatasi hingga 1.000 layanan dan 5.000 beban kerja per cluster.
  • Hanya opsi deployment multi-utama untuk multi-cluster yang didukung: opsi deployment utama-jarak jauh untuk multi-cluster tidak didukung.
  • istioctl ps tidak didukung. Sebagai gantinya, Anda dapat menggunakan perintah gcloud beta container fleet mesh debug seperti yang dijelaskan dalam Pemecahan Masalah.
  • API yang tidak didukung:

    • EnvoyFilter API

    • WasmPlugin API

    • IstioOperator API

    • Kubernetes Ingress API

  • Anda dapat menggunakan bidang kontrol terkelola tanpa langganan GKE Enterprise, tetapi elemen dan fitur UI tertentu di konsol Google Cloud hanya tersedia untuk pelanggan GKE Enterprise. Untuk mengetahui informasi tentang apa yang tersedia untuk pelanggan dan non-pelanggan, lihat Perbedaan UI GKE Enterprise dan Cloud Service Mesh.

  • Selama proses penyediaan untuk bidang kontrol terkelola, CRD Istio yang sesuai dengan saluran yang dipilih akan diinstal di cluster yang ditentukan. Jika ada CRD Istio yang ada di cluster, CRD tersebut akan ditimpa.

  • Cloud Service Mesh Terkelola hanya mendukung domain DNS default .cluster.local.

  • Mulai 14 November 2023, penginstalan baru Cloud Service Mesh terkelola di saluran rilis cepat hanya mengambil JWKS menggunakan Envoy. Ini setara dengan opsi Istio PILOT_JWT_ENABLE_REMOTE_JWKS=envoy. Dibandingkan dengan penginstalan di saluran rilis reguler dan stabil, atau penginstalan di saluran rilis cepat sebelum 14 November 2023, Anda mungkin memerlukan konfigurasi ServiceEntry dan DestinationRule tambahan. Sebagai contoh, lihat requestauthn-with-se.yaml.tmpl.

Perbedaan bidang kontrol

Ada perbedaan dalam fitur yang didukung antara implementasi bidang kontrol ISTIOD dan TRAFFIC_DIRECTOR. Untuk memeriksa implementasi yang Anda gunakan, lihat Mengidentifikasi implementasi bidang kontrol.

  • – menunjukkan bahwa fitur tersedia dan diaktifkan secara default.
  • † - menunjukkan bahwa API fitur mungkin memiliki perbedaan di antara berbagai platform.
  • * – menunjukkan bahwa fitur didukung untuk platform dan dapat diaktifkan, seperti yang dijelaskan dalam Mengaktifkan fitur opsional atau panduan fitur yang ditautkan dalam tabel fitur.
  • § – menunjukkan bahwa fitur didukung oleh daftar yang diizinkan. Pengguna sebelumnya dari Anthos Service Mesh terkelola secara otomatis diizinkan di tingkat organisasi. Hubungi Dukungan Google Cloud untuk meminta akses atau memeriksa status daftar yang diizinkan.
  • – menunjukkan bahwa fitur tidak tersedia atau tidak didukung.

Fitur default dan opsional didukung sepenuhnya oleh Dukungan Google Cloud. Fitur yang tidak tercantum secara eksplisit dalam tabel akan menerima dukungan sebisa mungkin.

Yang menentukan penerapan bidang kontrol

Saat Anda menyediakan Cloud Service Mesh terkelola untuk pertama kalinya di fleet, kami akan menentukan implementasi bidang kontrol yang akan digunakan. Implementasi yang sama digunakan untuk semua cluster yang menyediakan Cloud Service Mesh terkelola di fleet tersebut.

Flotte baru yang melakukan aktivasi ke Cloud Service Mesh terkelola menerima implementasi bidang kontrol TRAFFIC_DIRECTOR, dengan pengecualian tertentu:

  • Jika Anda adalah pengguna Cloud Service Mesh terkelola yang sudah ada, Anda akan menerima penerapan bidang kontrol ISTIOD saat melakukan aktivasi fleet baru di Organisasi Google Cloud yang sama ke Cloud Service Mesh terkelola, hingga setidaknya 30 Juni 2024. Jika Anda adalah salah satu pengguna tersebut, Anda dapat menghubungi Dukungan untuk menyesuaikan perilaku ini. Pengguna yang penggunaannya saat ini tidak kompatibel dengan penerapan TRAFFIC_DIRECTOR tanpa perubahan akan terus menerima penerapan ISTIOD hingga 8 September 2024. (Pengguna ini menerima Pengumuman Layanan.)
  • Jika ada cluster di fleet Anda yang menggunakan Layanan Otoritas Sertifikasi saat Anda menyediakan Cloud Service Mesh terkelola, Anda akan menerima penerapan bidang kontrol ISTIOD.
  • Jika ada cluster dalam fleet Anda yang berisi bidang kontrol Cloud Service Mesh dalam cluster saat Anda menyediakan Cloud Service Mesh terkelola, Anda akan menerima implementasi bidang kontrol ISTIOD.
  • Jika ada cluster di fleet Anda yang menggunakan GKE Sandbox, saat menyediakan Cloud Service Mesh terkelola, Anda akan menerima implementasi bidang kontrol ISTIOD.

Fitur yang didukung bidang kontrol terkelola

Menginstal, mengupgrade, dan melakukan rollback

Fitur Terkelola (TD) Dikelola (istiod)
Penginstalan di cluster GKE menggunakan API fitur fleet
Upgrade dari versi ASM 1.9 yang menggunakan CA Mesh
Upgrade langsung (skip-level) dari versi Cloud Service Mesh sebelum 1.9 (lihat catatan untuk upgrade tidak langsung)
Upgrade langsung (skip-level) dari Istio OSS (lihat catatan untuk upgrade tidak langsung)
Upgrade langsung (skip-level) dari add-on Istio-on-GKE (lihat catatan untuk upgrade tidak langsung)
Mengaktifkan fitur opsional

Lingkungan

Fitur Terkelola (TD) Dikelola (istiod)
GKE 1.25-1.27 di salah satu region yang didukung
Cluster GKE 1.25-1.27 dengan Autopilot
Lingkungan di luar Google Cloud (GKE Enterprise di infrastruktur lokal, GKE Enterprise di cloud publik lainnya, Amazon EKS, Microsoft AKS, atau cluster Kubernetes lainnya)

Skala

Fitur Terkelola (TD) Dikelola (istiod)
1.000 layanan dan 5.000 beban kerja per cluster
50 Port Layanan Headless per mesh dan 36 pod per Port Layanan Headless

Lingkungan platform

Fitur Terkelola (TD) Dikelola (istiod)
Jaringan tunggal
Multi-jaringan
Satu project
Multi-project dengan VPC Bersama

Deployment multi-cluster

Fitur Terkelola (TD) Dikelola (istiod)
Multi-primary
Primary-remote
Penemuan endpoint multi-cluster dengan API deklaratif
Penemuan endpoint multi-cluster dengan secret jarak jauh

Catatan tentang terminologi

  • Konfigurasi multi-utama berarti konfigurasi harus direplikasi di semua cluster.
  • Konfigurasi utama-jarak jauh berarti satu cluster berisi konfigurasi dan dianggap sebagai sumber tepercaya.
  • Cloud Service Mesh menggunakan definisi jaringan yang disederhanakan berdasarkan konektivitas umum. Instance workload berada di jaringan yang sama jika dapat berkomunikasi secara langsung, tanpa gateway.

Gambar Dasar

Fitur Terkelola (TD) Dikelola (istiod)
Gambar proxy distroless

† Cloud Service Mesh dengan bidang kontrol terkelola (TD) hanya mendukung jenis image distroless. Anda tidak dapat mengubahnya.

Perhatikan bahwa image distroless memiliki biner minimal, sehingga Anda tidak dapat menjalankan perintah biasa seperti bash atau curl karena tidak ada dalam image distroless. Namun, Anda dapat menggunakan penampung sementara untuk dilampirkan ke Pod workload yang sedang berjalan agar dapat memeriksanya dan menjalankan perintah kustom. Misalnya, lihat Mengumpulkan log Cloud Service Mesh.

Keamanan

Kontrol Layanan VPC

Fitur Terkelola (TD) Dikelola (istiod)
Pratinjau Kontrol Layanan VPC
Kontrol Layanan VPC GA

Mekanisme distribusi dan rotasi sertifikat

Fitur Terkelola (TD) Dikelola (istiod)
Pengelolaan sertifikat workload
Pengelolaan sertifikat eksternal di gateway entrance dan exit.

Dukungan Certificate Authority (CA)

Fitur Terkelola (TD) Dikelola (istiod)
Certificate authority Cloud Service Mesh
Certificate Authority Service
CA Istio
Integrasi dengan CA kustom

Fitur keamanan

Selain mendukung fitur keamanan Istio, Cloud Service Mesh menyediakan lebih banyak kemampuan untuk membantu Anda mengamankan aplikasi.

Fitur Terkelola (TD) Dikelola (istiod)
Integrasi IAP
Autentikasi pengguna akhir
Mode uji coba
Logging penolakan
Kebijakan audit (tidak didukung)

Kebijakan otorisasi

Fitur Terkelola (TD) Dikelola (istiod)
Kebijakan otorisasi v1beta1
Kebijakan Otorisasi KUSTOM §

† Implementasi bidang kontrol TRAFFIC_DIRECTOR tidak mendukung kolom rules.from.source.RemoteIp dan rules.from.source.NotRemoteIp.

Autentikasi peer

Fitur Terkelola (TD) Dikelola (istiod)
Auto-mTLS
Mode PERMISSIVE mTLS
Mode mTLS STRICT * *
Mode NONAKTIFKAN mTLS

Meminta autentikasi

Fitur Terkelola (TD) Dikelola (istiod)
Autentikasi JWT(Catatan 1)
Pemilihan Rute Berbasis Klaim JWT
JWT Copy Claim to Headers

Catatan:

  1. JWT pihak ketiga diaktifkan secara default.
  2. Tambahkan fqdn/nama host lengkap di JWKSURI saat menentukan RequestAuthentication API.
  3. Bidang kontrol terkelola mewajibkan Envoy untuk mengambil JWKS saat menentukan URI JWKS.

Telemetri

Metrik

Fitur Terkelola (TD) Dikelola (istiod)
Cloud Monitoring (Metrik dalam proxy HTTP)
Cloud Monitoring (metrik dalam proxy TCP)
Ekspor metrik Prometheus ke Grafana (khusus metrik Envoy) * *
Ekspor metrik Prometheus ke Kiali
Google Cloud Managed Service for Prometheus, tidak termasuk dasbor Cloud Service Mesh * *
Istio Telemetry API
Adaptor/backend kustom, dalam atau di luar proses
Backend logging dan telemetri arbitrer

† Bidang kontrol TRAFFIC_DIRECTOR mendukung subset API telemetri Istio yang digunakan untuk mengonfigurasi log akses dan pelacakan.

Logging permintaan proxy

Fitur Terkelola (TD) Dikelola (istiod)
Log traffic
Log akses * *

Pelacakan

Fitur Terkelola (TD) Dikelola (istiod)
Cloud Trace * *
Pelacakan Jaeger (memungkinkan penggunaan Jaeger yang dikelola pelanggan) Kompatibel
Pelacakan Zipkin (memungkinkan penggunaan Zipkin yang dikelola pelanggan) Kompatibel

Jaringan

Mekanisme intersepsi dan pengalihan traffic

Fitur Terkelola (TD) Dikelola (istiod)
Penggunaan iptables tradisional menggunakan penampung init dengan CAP_NET_ADMIN
Antarmuka Jaringan Container (CNI) Istio
Sidecar whitebox

Dukungan protokol

Fitur Terkelola (TD) Dikelola (istiod)
IPv4
HTTP/1.1
HTTP/2
Byte stream TCP (Catatan 1)
gRPC
IPv6

Catatan:

  1. Meskipun TCP adalah protokol yang didukung untuk jaringan dan metrik TCP dikumpulkan, metrik tersebut tidak dilaporkan. Metrik hanya ditampilkan untuk layanan HTTP di konsol Google Cloud.
  2. Layanan yang dikonfigurasi dengan kemampuan Lapisan 7 untuk protokol berikut tidak didukung: WebSocket, MongoDB, Redis, Kafka, Cassandra, RabbitMQ, Cloud SQL. Anda mungkin dapat membuat protokol berfungsi dengan menggunakan dukungan byte stream TCP. Jika byte stream TCP tidak dapat mendukung protokol (misalnya, Kafka mengirim alamat pengalihan dalam balasan khusus protokol dan pengalihan ini tidak kompatibel dengan logika pemilihan rute Cloud Service Mesh), protokol tidak didukung.

Deployment Envoy

Fitur Terkelola (TD) Dikelola (istiod)
Sidecar
Gateway masuk
Traffic keluar langsung dari sidecar
Traffic keluar menggunakan gateway keluar * *

Dukungan CRD

Fitur Terkelola (TD) Dikelola (istiod)
Resource sidecar
Resource entri layanan
Persentase, injeksi error, pencocokan jalur, pengalihan, percobaan ulang, penulisan ulang, waktu tunggu habis, percobaan ulang, pencerminan, manipulasi header, dan aturan pemilihan rute CORS
`EnvoyFilter` API §
`WasmPlugin` API
Operator Istio

Load balancer untuk gateway traffic masuk Istio

Fitur Terkelola (TD) Dikelola (istiod)
Load balancer eksternal pihak ketiga
Load balancer Internal Google Cloud * *

Gateway cloud mesh layanan

Fitur Terkelola (TD) Dikelola (istiod)
Gateway cloud mesh layanan

Kubernetes Gateway API

Fitur Terkelola (TD) Dikelola (istiod)
Kubernetes Gateway API

Kebijakan load balancing

Fitur Terkelola (TD) Dikelola (istiod)
Panggilan acak
Koneksi paling sedikit
Acak
Passthrough
Hash konsisten
Locality

Entri layanan

Fitur Terkelola (TD) Dikelola (istiod)
ServiceEntry v1beta1

† Implementasi platform kontrol TRAFFIC_DIRECTOR tidak mendukung kolom dan nilai berikut dalam kolom:

  • Kolom workloadSelector
  • Kolom endpoints[].network
  • Kolom endpoints[].locality
  • Kolom endpoints[].weight
  • Kolom endpoints[].serviceAccount
  • Nilai DNS_ROUND_ROBIN di kolom resolution
  • Nilai MESH_INTERNAL di kolom location
  • Alamat soket domain Unix di kolom endpoints[].address
  • Kolom subjectAltNames

Aturan tujuan

Fitur Terkelola (TD) Dikelola (istiod)
DestinationRule v1beta1

† Implementasi bidang kontrol TRAFFIC_DIRECTOR tidak mendukung kolom trafficPolicy.loadBalancer.localityLbSetting dan kolom trafficPolicy.tunnel. Selain itu, penerapan bidang kontrol TRAFFIC_DIRECTOR mengharuskan aturan tujuan yang menentukan subset berada di namespace dan cluster yang sama dengan layanan Kubernetes atau ServiceEntry.

Sidecar

Fitur Terkelola (TD) Dikelola (istiod)
Sidecar v1beta1

† Implementasi platform kontrol TRAFFIC_DIRECTOR tidak mendukung kolom dan nilai berikut dalam kolom:

  • Kolom ingress
  • Kolom egress.port
  • Kolom egress.bind
  • Kolom egress.captureMode
  • Kolom inboundConnectionPool

MeshConfig

Fitur Terkelola (TD) Dikelola (istiod)
LocalityLB §
ExtensionProviders §
CACert
ImageType - distroless §
OutboundTrafficPolicy §
defaultProviders.accessLogging
defaultProviders.tracing
defaultConfig.tracing.stackdriver §
accessLogFile §

ProxyConfig

Fitur Terkelola (TD) Dikelola (istiod)
Proxy DNS (ISTIO_META_DNS_CAPTURE, ISTIO_META_DNS_AUTO_ALLOCATE)
Dukungan HTTP/1.0 (ISTIO_META_NETWORK)
Pilihan image (image dasar atau distroless)

Image distroless digunakan untuk injeksi.

Region

Cluster GKE harus berada di salah satu region berikut atau zona apa pun dalam region berikut.

Wilayah Lokasi
africa-south1 Johannesburg
asia-east1 Taiwan
asia-east2 Hong Kong
asia-northeast1 Tokyo, Jepang
asia-northeast2 Osaka, Jepang
asia-northeast3 Korea Selatan
asia-south1 Mumbai, India
asia-south2 Delhi, India
asia-southeast1 Singapura
asia-southeast2 Jakarta
australia-southeast1 Sydney, Australia
australia-southeast2 Melbourne, Australia
europe-central2 Polandia
europe-north1 Finlandia
europe-southwest1 Spanyol
europe-west1 Belgia
europe-west2 Inggris
europe-west3 Frankfurt, Jerman
europe-west4 Belanda
europe-west6 Swiss
europe-west8 Milan, Italia
europe-west9 Prancis
europe-west10 Berlin, Jerman
europe-west12 Turin, Italia
me-central1 Doha
me-central2 Dammam, Arab Saudi
me-west1 Tel Aviv
northamerica-northeast1 Montreal, Kanada
northamerica-northeast2 Toronto, Kanada
southamerica-east1 Brasil
southamerica-west1 Cile
us-central1 Iowa
us-east1 South Carolina
us-east4 Northern Virginia
us-east5 Ohio
us-south1 Dallas
us-west1 Oregon
us-west2 Los Angeles
us-west3 Salt Lake City
us-west4 Las Vegas

Antarmuka pengguna

Fitur Terkelola (TD) Dikelola (istiod)
Dasbor Cloud Service Mesh di konsol Google Cloud
Cloud Monitoring
Cloud Logging

Alat

Fitur Terkelola (TD) Dikelola (istiod)
Alat gcloud beta container fleet mesh debug