Fitur yang didukung menggunakan Istio API (bidang kontrol terkelola)

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

Untuk mengetahui daftar API Istio dan Google Cloud yang didukung oleh Cloud Service Mesh terkelola dengan TRAFFIC_DIRECTOR, lihat Dukungan API di Cloud Service Mesh Terkelola.

Untuk mengetahui daftar fitur yang didukung Cloud Service Mesh untuk bidang kontrol dalam cluster, lihat Menggunakan Istio API (bidang kontrol istiod dalam cluster).

Jika tidak yakin dengan bidang kontrol Cloud Service Mesh yang Anda gunakan, Anda dapat memeriksa implementasi bidang kontrol menggunakan petunjuk di Mengidentifikasi implementasi 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.
  • Pod yang berjalan dengan hostNetwork: true tidak didukung.
  • Cloud Service Mesh Terkelola tidak boleh di-deploy di cluster yang juga memiliki deployment dalam cluster OSS Istio atau bidang kontrol Cloud Service Mesh dalam cluster.
  • 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 dari Cloud Service Mesh dalam cluster hanya didukung menggunakan strategi Migrasi cluster canary.
  • Migrasi dan upgrade hanya didukung dari versi Cloud Service Mesh dalam cluster yang ada dalam tabel Versi yang didukung dan menggunakan Mesh CA atau Certificate Authority Service. Penginstalan dengan Istio CA (sebelumnya dikenal sebagai Citadel) harus terlebih dahulu bermigrasi ke Mesh CA.
  • Batas skala diuraikan dalam panduan ini
  • Hanya opsi deployment multi-primer untuk multi-cluster yang didukung: opsi deployment primer-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:

    • WasmPlugin API

    • IstioOperator API

    • Kubernetes Ingress API

  • Untuk mengetahui dukungan dan batasan mendetail di tingkat kolom di semua Istio API, lihat Dukungan Cloud Service Mesh API.

  • Anda dapat menggunakan bidang kontrol terkelola tanpa langganan GKE Enterprise, tetapi elemen UI dan fitur tertentu di konsol Google Cloud hanya tersedia untuk pelanggan GKE Enterprise. Untuk mengetahui informasi tentang apa yang tersedia bagi 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 sudah ada di cluster, CRD tersebut akan ditimpa.

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

  • Penginstalan baru Cloud Service Mesh terkelola hanya mengambil JWKS menggunakan Envoy, kecuali jika fleet berisi cluster lain yang tidak mengaktifkan perilaku tersebut. Ini setara dengan opsi Istio PILOT_JWT_ENABLE_REMOTE_JWKS=envoy. Dibandingkan dengan penginstalan yang tidak memiliki kondisi VPCSC_GA_SUPPORTED (lihat di bawah), Anda mungkin memerlukan konfigurasi tambahan untuk konfigurasi ServiceEntry dan DestinationRule. Untuk contoh, lihat requestauthn-with-se.yaml.tmpl. Anda dapat menentukan apakah mode operasi saat ini setara dengan PILOT_JWT_ENABLE_REMOTE_JWKS=envoy dengan menentukan apakah Kontrol Layanan VPC didukung untuk bidang kontrol (yaitu kondisi VPCSC_GA_SUPPORTED ditampilkan).

  • Bidang data terkelola hanya didukung untuk workload tanpa sidecar tambahan (selain sidecar Cloud Service Mesh).

Perbedaan bidang kontrol

Ada perbedaan 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 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 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 upaya terbaik.

Hal yang menentukan implementasi bidang kontrol

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

Fleet baru yang diaktivasi ke Cloud Service Mesh terkelola akan menerima implementasi bidang kontrol TRAFFIC_DIRECTOR, dengan pengecualian tertentu:

  • Jika Anda adalah pengguna Cloud Service Mesh terkelola yang sudah ada, Anda akan menerima implementasi 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 ini, Anda dapat menghubungi Dukungan untuk menyesuaikan perilaku ini. Pengguna yang penggunaan saat ininya tidak kompatibel dengan implementasi TRAFFIC_DIRECTOR tanpa perubahan akan terus menerima implementasi ISTIOD hingga 8 September 2024. (Pengguna ini menerima Pengumuman Layanan.)
  • Jika ada cluster GKE on Google Cloud di 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) Terkelola (istiod) tidak digunakan lagi
Penginstalan di cluster GKE menggunakan API fitur fleet
Upgrade dari versi ASM 1.9 yang menggunakan Mesh CA
Upgrade langsung (lewati level) dari versi Cloud Service Mesh sebelum 1.9 (lihat catatan untuk upgrade tidak langsung)
Upgrade langsung (lewati level) dari Istio OSS (lihat catatan untuk upgrade tidak langsung)
Upgrade langsung (lewati level) dari add-on Istio-on-GKE (lihat catatan untuk upgrade tidak langsung)
Mengaktifkan fitur opsional

Lingkungan

Fitur Terkelola (TD) Terkelola (istiod) tidak digunakan lagi
Versi GKE yang saat ini tersedia di saluran rilis, di salah satu region yang didukung
Versi GKE yang saat ini tersedia di saluran rilis, di salah satu region yang didukung, cluster Autopilot GKE
Lingkungan di luar Google Cloud (GKE Enterprise lokal, GKE Enterprise di cloud publik lainnya, Amazon EKS, Microsoft AKS, atau cluster Kubernetes lainnya)

Skala

Lihat halaman Batas Skalabilitas

Lingkungan platform

Fitur Terkelola (TD) Terkelola (istiod) tidak digunakan lagi
Jaringan tunggal
Multi-jaringan
Project tunggal
Multi-project dengan VPC Bersama

Deployment multi-cluster

Fitur Terkelola (TD) Terkelola (istiod) tidak digunakan lagi
Multi-primary
Primary-remote
Penemuan endpoint multi-cluster dengan API deklaratif
Penemuan endpoint multi-cluster dengan secret jarak jauh
Penemuan endpoint multi-cluster dengan API deklaratif dan topologi sederhana

Catatan tentang terminologi

  • Konfigurasi multi-primer 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.
  • Topologi sederhana untuk penemuan endpoint multi-cluster berarti setiap cluster dalam fleet berpartisipasi atau tidak berpartisipasi dalam penemuan endpoint. Topologi kompleks yang tidak didukung mencakup (a) penemuan endpoint satu arah (misalnya, cluster A dapat menemukan endpoint di cluster B, tetapi tidak sebaliknya) dan (b) jaringan penemuan endpoint yang terpisah (misalnya, cluster A dan B dapat menemukan endpoint satu sama lain, cluster C dan D dapat menemukan endpoint satu sama lain, tetapi A/B dan C/D tidak dapat menemukan endpoint satu sama lain).

Image Dasar

Fitur Terkelola (TD) Terkelola (istiod) tidak digunakan lagi
Image proxy distroless †

† Istio memublikasikan image proxy default, debug, dan distroless. Untuk Cloud Service Mesh dengan bidang kontrol terkelola (TRAFFIC_DIRECTOR): cluster yang diaktivasi secara langsung menggunakan distroless secara default dan tidak dapat diubah. Cluster yang dimigrasikan menggunakan image default secara default dan dapat memilih untuk menggunakan distroless menggunakan MeshConfig atau anotasi pod. Penggantian ke jenis gambar lain (debug) tidak didukung.

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 container 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) Terkelola (istiod) tidak digunakan lagi
Kontrol Layanan VPC

Mekanisme distribusi dan rotasi sertifikat

Fitur Terkelola (TD) Terkelola (istiod) tidak digunakan lagi
Pengelolaan sertifikat workload
Pengelolaan sertifikat eksternal di gateway ingress dan egress.

Dukungan certificate authority (CA)

Fitur Terkelola (TD) Terkelola (istiod) tidak digunakan lagi
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) Terkelola (istiod) tidak digunakan lagi
Integrasi IAP
Autentikasi pengguna akhir
Mode uji coba
Logging penolakan
Kebijakan audit (tidak didukung)

Kebijakan otorisasi

Fitur Terkelola (TD) Terkelola (istiod) tidak digunakan lagi
Kebijakan v1beta1 otorisasi
Kebijakan Otorisasi CUSTOM

Autentikasi peer

Fitur Terkelola (TD) Terkelola (istiod) tidak digunakan lagi
mTLS otomatis
Mode mTLS PERMISSIVE
Mode mTLS STRICT * *
Mode mTLS DISABLE †

† Meskipun PeerAuthentication API tidak mendukung mode DISABLE untuk implementasi bidang kontrol TRAFFIC_DIRECTOR, Anda dapat menonaktifkan mTLS untuk layanan atau port tertentu menggunakan DestinationRule API. Untuk mengetahui informasi selengkapnya, lihat Menonaktifkan mTLS dan Dukungan API: PeerAuthentication.

Meminta autentikasi

Fitur Terkelola (TD) Terkelola (istiod) tidak digunakan lagi
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 memaksa Envoy untuk mengambil JWKS saat menentukan URI JWKS.
  4. Algoritma AES CBC A128CBC-HS256, A192CBC-HS384, dan A256CBC-HS512 tidak diizinkan dalam JWKS inline saat menggunakan implementasi bidang kontrol TRAFFIC_DIRECTOR.

Telemetri

Metrik

Fitur Terkelola (TD) Terkelola (istiod) tidak digunakan lagi
Cloud Monitoring (metrik in-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 telemetri dan logging arbitrer

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

Logging permintaan proxy

Fitur Terkelola (TD) Terkelola (istiod) tidak digunakan lagi
Log traffic
Log akses * *

Pelacakan

Fitur Terkelola (TD) Terkelola (istiod) tidak digunakan lagi
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) Terkelola (istiod) tidak digunakan lagi
Penggunaan iptables menggunakan container init dengan CAP_NET_ADMIN †
Container Network Interface (CNI) Istio
Sidecar Whitebox
Mengonfigurasi mode intersepsi

† Sebaiknya gunakan Container Network Interface (CNI), bukan container init.

Dukungan protokol

Fitur Terkelola (TD) Terkelola (istiod) tidak digunakan lagi
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, MySQL, 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 mengirimkan alamat pengalihan dalam balasan khusus protokol dan pengalihan ini tidak kompatibel dengan logika perutean Cloud Service Mesh), maka protokol tersebut tidak didukung. Meskipun port gateway dapat dibuat dengan protokol Mongo, MySQL, dan Redis, mesh memperlakukan traffic yang dihasilkan sebagai TCP standar, tanpa penanganan khusus protokol.
  3. † Di gRPC tanpa proxy, fitur dual-stack IPv6 hanya didukung di gRPC 1.66.1 atau yang lebih baru di C++ dan Python, gRPC Go v1.71, dan atau gRPC Node.js v1.12. Jika Anda mencoba mengonfigurasi fitur dual-stack dengan versi gRPC yang tidak mendukung dual-stack, klien hanya akan menggunakan alamat pertama yang dikirim oleh Traffic Director.

Deployment Envoy

Fitur Terkelola (TD) Terkelola (istiod) tidak digunakan lagi
File bantuan
Gateway masuk
Egress langsung dari sidecar
Egress menggunakan gateway egress * *

Dukungan CRD

Fitur Terkelola (TD) Terkelola (istiod) tidak digunakan lagi
Resource file bantuan
Resource entri layanan
Aturan pemilihan rute persentase, injeksi kesalahan, pencocokan jalur, pengalihan, percobaan ulang, penulisan ulang, waktu tunggu, percobaan ulang, pencerminan, manipulasi header, dan CORS
`WasmPlugin` API
Istio Operator

Load balancer untuk gateway ingress Istio

Fitur Terkelola (TD) Terkelola (istiod) tidak digunakan lagi
Load balancer eksternal pihak ketiga
Google Cloud Load balancer internal * *

Gateway cloud mesh layanan

Fitur Terkelola (TD) Terkelola (istiod) tidak digunakan lagi
Gateway cloud mesh layanan

Kubernetes Gateway API

Fitur Terkelola (TD) Terkelola (istiod) tidak digunakan lagi
Kubernetes Gateway API

Kebijakan load balancing

Fitur Terkelola (TD) Terkelola (istiod) tidak digunakan lagi
Panggilan acak
Koneksi paling sedikit
Acak
Passthrough
Hash yang konsisten
Locality
GCPTrafficDistributionPolicy
GCPBackendPolicy

Mode load balancing

Fitur Terkelola (TD) Terkelola (istiod) tidak digunakan lagi
HARGA
UTILIZATION
CUSTOM_METRICS
DALAM PENERBANGAN

Untuk mengetahui informasi selengkapnya tentang mode load balancing, lihat Ringkasan layanan backend.

Entri layanan

Fitur Terkelola (TD) Terkelola (istiod) tidak digunakan lagi
ServiceEntry v1beta1 †

† Implementasi bidang kontrol TRAFFIC_DIRECTOR mendukung subset kolom ServiceEntry. Untuk mengetahui daftar lengkap kolom yang didukung, kolom yang tidak didukung, dan batasan konfigurasi, lihat Dukungan API: ServiceEntry.

Aturan tujuan

Fitur Terkelola (TD) Terkelola (istiod) tidak digunakan lagi
DestinationRule v1beta1 †

† Implementasi bidang kontrol TRAFFIC_DIRECTOR mengharuskan aturan tujuan yang menentukan subset berada di namespace dan cluster yang sama dengan layanan Kubernetes atau ServiceEntry. Untuk mengetahui daftar lengkap kolom yang didukung, kolom yang tidak didukung, dan batasan konfigurasi, lihat Dukungan API: DestinationRule.

File bantuan

Fitur Terkelola (TD) Terkelola (istiod) tidak digunakan lagi
Sidecar v1beta1 †

† Implementasi bidang kontrol TRAFFIC_DIRECTOR mendukung subset kolom Sidecar. Untuk mengetahui daftar lengkap kolom yang didukung, kolom yang tidak didukung, dan batasan konfigurasi, lihat Dukungan API: Sidecar.

Proxy DNS

Fitur Terkelola (TD) Terkelola (istiod) tidak digunakan lagi
Resolusi nama Service di seluruh cluster †
Resolusi nama ServiceEntry dalam cluster †
Resolusi nama Service Headless
Alokasi otomatis alamat †

† Diperlukan sidecar versi 1.21.5-asm.39 atau yang lebih baru.

EnvoyFilter

Fitur Terkelola (TD) Terkelola (istiod) tidak digunakan lagi
EnvoyFilter v1alpha3 †

† Lihat halaman Dataplane Extensibility untuk mengetahui kolom yang didukung dan ekstensi yang dapat dikonfigurasi

MeshConfig

Fitur Terkelola (TD) Terkelola (istiod) tidak digunakan lagi
DiscoverySelectors
clusterLocal
LocalityLB †
ExtensionProviders
CACert
ImageType - distroless †
OutboundTrafficPolicy
defaultProviders.accessLogging
defaultProviders.tracing
defaultConfig.tracing.stackdriver
accessLogFile †
accessLogFormat †
accessLogEncoding †

† Lihat Image proxy Distroless untuk mengetahui perilaku konfigurasi yang mendetail.
† Lihat Mengonfigurasi Load Balancing Lokalitas untuk mengetahui perilaku dan batasan konfigurasi yang mendetail.
† Lihat Menyesuaikan format dan encoding log akses Envoy untuk mengetahui perilaku dan batasan konfigurasi yang mendetail.

ProxyConfig

Fitur Terkelola (TD) Terkelola (istiod) tidak digunakan lagi
Dukungan HTTP/1.0 (ISTIO_META_NETWORK)
Pemilihan image (image distroless atau dasar)
Sidecar native Kubernetes (ENABLE_NATIVE_SIDECARS)

Region

Cluster GKE harus berada di salah satu region berikut atau zona mana 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-north2 Stockholm
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
northamerica-south1 Meksiko
southamerica-east1 Brasil
southamerica-west1 Cile
us-central1 Iowa
us-east1 Carolina Selatan
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) Terkelola (istiod) tidak digunakan lagi
Dasbor Cloud Service Mesh di konsol Google Cloud
Cloud Monitoring
Cloud Logging

Alat

Fitur Terkelola (TD) Terkelola (istiod) tidak digunakan lagi
gcloud beta container fleet mesh debug alat