Fitur yang didukung menggunakan API Istio (bidang kontrol terkelola)

Halaman ini menjelaskan fitur dan batasan yang didukung untuk Cloud Service Mesh menggunakan TRAFFIC_DIRECTOR atau ISTIOD sebagai bidang kontrol dan perbedaan antara setiap penerapan. 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 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 berupa 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 Istio CA (sebelumnya dikenal sebagai Citadel) harus bermigrasi ke Mesh CA terlebih dahulu.
  • 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 di Pemecahan masalah.
  • API yang tidak didukung:

    • EnvoyFilter API

    • WasmPlugin API

    • IstioOperator API

    • Kubernetes Ingress API

  • Untuk mengetahui daftar kolom API yang tidak didukung, lihat API Istio yang tidak didukung di Managed Cloud Service Mesh.

  • Anda dapat menggunakan bidang kontrol terkelola tanpa langganan GKE Enterprise, tetapi elemen dan fitur UI tertentu di konsol hanya tersedia untuk pelanggan GKE Enterprise. Google Cloud 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.

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

  • Penginstalan baru Managed Cloud Service Mesh mengambil JWKS hanya menggunakan Envoy, kecuali jika fleet berisi cluster lain yang tidak mengaktifkan perilaku tersebut. Hal 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).

  • Managed data plane hanya didukung untuk beban kerja tanpa sidecar tambahan (selain sidecar Cloud Service Mesh).

Perbedaan bidang kontrol

Ada perbedaan dalam fitur yang didukung antara implementasi bidang kontrol ISTIOD dan TRAFFIC_DIRECTOR. Untuk memeriksa penerapan mana yang Anda gunakan, lihat Mengidentifikasi penerapan 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 didukung oleh daftar yang diizinkan. Pengguna Anthos Service Mesh terkelola sebelumnya akan otomatis dimasukkan dalam daftar yang diizinkan di tingkat organisasi. Hubungi Google Cloud Dukungan untuk meminta akses atau memeriksa status daftar yang diizinkan.
  • – menunjukkan bahwa fitur tidak tersedia atau tidak didukung.

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

Yang menentukan penerapan bidang kontrol

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

Fleet baru yang di-onboard ke Cloud Service Mesh terkelola menerima penerapan 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 mengaktifkan armada baru di Organisasi yang sama ke Cloud Service Mesh terkelola, hingga setidaknya 30 Juni 2024. Google Cloud Jika Anda adalah salah satu pengguna ini, Anda dapat menghubungi Dukungan untuk menyempurnakan perilaku ini. Pengguna yang penggunaan yang ada 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 GKE di Google Cloud 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 penerapan bidang kontrol ISTIOD.

Fitur yang didukung bidang kontrol terkelola

Menginstal, mengupgrade, dan mengembalikan

Fitur Terkelola (TD) Dikelola (istiod)
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 (beda level) dari add-on Istio-on-GKE (lihat catatan untuk upgrade tidak langsung)
Mengaktifkan fitur opsional

Lingkungan

Fitur Terkelola (TD) Dikelola (istiod)
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 lain, 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 Headless Service Ports per mesh dan 36 pod per Headless ServicePort

Lingkungan platform

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

Deployment multi-cluster

Fitur Terkelola (TD) Dikelola (istiod)
Multi-primary
Primer-jarak jauh
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 primer-jarak jauh berarti bahwa 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 armada 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 terputus (misalnya, cluster A dan B dapat menemukan endpoint masing-masing, cluster C dan D dapat menemukan endpoint masing-masing, tetapi A/B dan C/D tidak dapat menemukan endpoint masing-masing).

Gambar Dasar

Fitur Terkelola (TD) Dikelola (istiod)
Gambar proxy tanpa distro

† Cloud Service Mesh dengan bidang kontrol terkelola (TD) hanya mendukung jenis gambar tanpa distro. Anda tidak dapat mengubahnya.

Perhatikan bahwa image tanpa distro memiliki biner minimal, sehingga Anda tidak dapat menjalankan perintah biasa seperti bash atau curl karena tidak ada di image tanpa distro. Namun, Anda dapat menggunakan container sementara untuk melampirkan 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)
Kontrol Layanan VPC

Mekanisme rotasi dan distribusi sertifikat

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

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 §

Autentikasi peer

Fitur Terkelola (TD) Dikelola (istiod)
mTLS otomatis
Mode PERMISIF mTLS
Mode mTLS STRICT * *
Mode NONAKTIF mTLS

Meminta autentikasi

Fitur Terkelola (TD) Dikelola (istiod)
Autentikasi JWT(Catatan 1)
Perutean 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 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 Istio Telemetry API yang digunakan untuk mengonfigurasi log akses dan trace. Bidang kontrol TRAFFIC_DIRECTOR tidak mendukung konfigurasi frekuensi pengambilan sampel rekaman aktivitas.

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 penyadapan dan pengalihan traffic

Fitur Terkelola (TD) Dikelola (istiod)
Penggunaan iptables menggunakan container init dengan CAP_NET_ADMIN
Istio Container Network Interface (CNI)
File bantuan whitebox

† Sebaiknya gunakan Container Network Interface (CNI) daripada penampung init.

Dukungan protokol

Fitur Terkelola (TD) Dikelola (istiod)
IPv4
HTTP/1.1
HTTP/2
Aliran byte 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 Layer 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 aliran byte TCP tidak dapat mendukung protokol (misalnya, Kafka mengirim alamat pengalihan dalam respons khusus protokol dan pengalihan ini tidak kompatibel dengan logika perutean Cloud Service Mesh), maka protokol 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 stack ganda 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 gRPC versi yang tidak mendukung dual-stack, klien hanya akan menggunakan alamat pertama yang dikirim oleh Traffic Director.

Deployment Envoy

Fitur Terkelola (TD) Dikelola (istiod)
File bantuan
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 kesalahan, pencocokan jalur, pengalihan, percobaan ulang, penulisan ulang, waktu tunggu, percobaan ulang, mirroring, 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
Google Cloud Load balancer internal * *

Gateway cloud service mesh

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

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
GCPTrafficDistributionPolicy
GCPBackendPolicy

Entri layanan

Fitur Terkelola (TD) Dikelola (istiod)
ServiceEntry v1beta1

† Penerapan bidang 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
  • Dua entri endpoints[] atau lebih jika kolom resolution memiliki nilai DNS

Aturan tujuan

Fitur Terkelola (TD) Dikelola (istiod)
DestinationRule v1beta1

† Implementasi bidang kontrol TRAFFIC_DIRECTOR tidak mendukung kolom berikut.

  • Kolom trafficPolicy.loadBalancer.localityLbSetting
  • Kolom trafficPolicy.tunnel
  • Kolom trafficPolicy.tls.credentialName
  • Kolom trafficPolicy.portLevelSettings[].tls.credentialName

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.

File bantuan

Fitur Terkelola (TD) Dikelola (istiod)
Sidecar v1beta1

† Penerapan bidang kontrol TRAFFIC_DIRECTOR tidak mendukung kolom dan nilai berikut dalam kolom:

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

Proxy DNS

Fitur Terkelola (TD) Dikelola (istiod)
Resolusi nama Service di seluruh cluster
Resolusi nama ServiceEntry dalam cluster
Resolusi nama Headless Service
Alokasi otomatis alamat

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

MeshConfig

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

ProxyConfig

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

Image tanpa distro 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 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) 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