Fitur yang didukung menggunakan Istio API (bidang kontrol terkelola)

Halaman ini menjelaskan fitur dan batasan yang didukung untuk Cloud Service Mesh yang menggunakan Cloud Service Mesh atau istiod sebagai bidang kontrol serta perbedaan di antara setiap implementasi. Perhatikan bahwa ini bukan opsi yang dapat Anda pilih. Implementasi istiod hanya tersedia untuk pengguna yang sudah ada. Penginstalan baru menggunakan implementasi Cloud Service Mesh.

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 bidang kontrol Cloud Service Mesh mana yang digunakan, 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 hingga --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.
  • Skala dibatasi hingga 1.000 layanan dan 5.000 workload 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

    • Kubernetes Gateway 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 saja 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 sudah ada Istio CRD di dalam cluster, CRD tersebut akan ditimpa

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

  • Mulai 14 November 2023, penginstalan baru Cloud Service Mesh terkelola di saluran rilis cepat mengambil JWKS hanya menggunakan Envoys. Hal 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

Terdapat perbedaan dalam fitur yang didukung antara implementasi bidang kontrol istiod dan Cloud Service Mesh. Untuk memeriksa implementasi yang Anda gunakan, lihat Mengidentifikasi penerapan 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 ini didukung oleh daftar yang diizinkan. Hubungi Dukungan Google Cloud untuk meminta akses.
  • – 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 mendapatkan dukungan upaya terbaik.

Faktor yang menentukan penerapan bidang kontrol

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

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

  • Jika sudah menjadi pengguna Cloud Service Mesh terkelola, Anda dapat menerima implementasi bidang kontrol ISTIOD saat mengaktivasi fleet baru di Organisasi Google Cloud yang sama ke Cloud Service Mesh yang dikelola, hingga setidaknya 24 Juni 2024. Jika Anda adalah salah satu pengguna ini, Anda dapat menghubungi Dukungan untuk menyesuaikan perilaku ini.
  • Jika ada cluster di fleet Anda yang menggunakan Certificate Authority Service saat menyediakan Cloud Service Mesh terkelola, Anda akan menerima implementasi bidang kontrol ISTIOD.
  • Jika ada cluster di fleet Anda yang berisi bidang kontrol Cloud Service Mesh dalam cluster saat 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.

Mengidentifikasi penerapan bidang kontrol

Jalankan perintah berikut untuk mengidentifikasi implementasi bidang kontrol:

  gcloud container fleet mesh describe --project FLEET_PROJECT_ID

Perlu diperhatikan bahwa jika Anda menggunakan Cloud Service Mesh dengan Google Cloud API (lihat Tentang Cloud Service Mesh), perintah ini tidak akan berfungsi.

Outputnya mirip dengan hal berikut ini:

  ...
  membershipSpecs:
    projects/746296320118/locations/us-central1/memberships/demo-cluster-1:
      mesh:
        management: MANAGEMENT_AUTOMATIC
  membershipStates:
    projects/746296320118/locations/us-central1/memberships/demo-cluster-1:
      servicemesh:
        controlPlaneManagement:
          details:
          - code: REVISION_READY
            details: 'Ready: asm-managed'
          state: ACTIVE
          implementation: TRAFFIC_DIRECTOR
  ...

Kemungkinan nilai implementation adalah:

  • TRAFFIC_DIRECTOR: Infrastruktur inti Google Cloud berfungsi sebagai bidang kontrol Cloud Service Mesh.
  • ISTIOD: instance istiod terkelola berfungsi sebagai bidang kontrol Cloud Service Mesh.
  • UPDATING: Cluster sedang dimigrasikan di antara implementasi. Anda akan segera memiliki implementasi TRAFFIC_DIRECTOR.

Fitur yang didukung bidang kontrol terkelola

Instal, upgrade, dan rollback

Fitur Terkelola (TD) Terkelola (istiod)
Penginstalan pada cluster GKE menggunakan API fitur fleet
Mengupgrade dari versi ASM 1.9 yang menggunakan Mesh CA
Upgrade langsung (level lewati) 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)
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 lokal, GKE Enterprise di cloud publik lainnya, Amazon EKS, Microsoft AKS, atau cluster Kubernetes lainnya)

Skala

Fitur Terkelola (TD) Terkelola (istiod)
1.000 layanan dan 5.000 workload per cluster
50 ServicePorts per mesh dan 36 pod per ServicePort

Lingkungan platform

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

Deployment multi-cluster

Fitur Terkelola (TD) Terkelola (istiod)
Multi-primary
Utama-jarak jauh
Penemuan endpoint multi-cluster dengan API deklaratif
Penemuan endpoint multi-cluster dengan rahasia 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 kebenaran.
  • Cloud Service Mesh menggunakan definisi jaringan yang disederhanakan berdasarkan konektivitas umum. Instance workload berada di jaringan yang sama jika dapat berkomunikasi langsung, tanpa gateway.

Image Dasar

Fitur Terkelola (TD) Terkelola (istiod)
Gambar proxy tanpa gangguan

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

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

Keamanan

Kontrol Layanan VPC

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

Mekanisme rotasi dan distribusi sertifikat

Fitur Terkelola (TD) Terkelola (istiod)
Pengelolaan sertifikat workload
Pengelolaan sertifikat eksternal pada gateway masuk dan keluar.

Dukungan certificate authority (CA)

Fitur Terkelola (TD) Terkelola (istiod)
Certificate authority Cloud Service Mesh
Certificate Authority Service
Istio CA
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)
Integrasi IAP
Autentikasi pengguna akhir
Mode uji coba
Logging penolakan
Kebijakan audit (tidak didukung)

Kebijakan otorisasi

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

† Implementasi bidang kontrol Cloud Service Mesh tidak mendukung kolom rules.from.source.RemoteIp dan rules.from.source.NotRemoteIp.

Autentikasi rekan

Fitur Terkelola (TD) Terkelola (istiod)
mTLS otomatis
Mode mTLS PERMISSIVE
Mode mTLS STRICT * *
Mode NONAKTIFKAN mTLS

Minta autentikasi

Fitur Terkelola (TD) Terkelola (istiod)
Autentikasi JWT(Catatan 1)
Pemilihan Rute Berbasis Klaim JWT
Menyalin Klaim JWT ke Header

Catatan:

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

Telemetri

Regresi

Fitur Terkelola (TD) Terkelola (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 luar proses
Backend logging dan telemetri arbitrer

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

Logging permintaan proxy

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

Tracing

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

Networking

Mekanisme intersepsi dan pengalihan traffic

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

Dukungan protokol

Fitur Terkelola (TD) Terkelola (istiod)
IPv4
HTTP/1.1
HTTP/2
Streaming byte TCP (Catatan 1)
gRPC
IPv6

Catatan:

  1. Meskipun TCP adalah protokol yang didukung untuk jaringan dan metrik TCP dikumpulkan, protokol 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 ini berfungsi dengan menggunakan dukungan aliran byte TCP. Jika streaming byte 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), artinya protokol ini tidak didukung.

Deployment Envoy

Fitur Terkelola (TD) Terkelola (istiod)
File bantuan
Gateway masuk
Traffic keluar langsung dari file bantuan
Traffic keluar menggunakan gateway keluar * *

Dukungan CRD

Fitur Terkelola (TD) Terkelola (istiod)
Resource file bantuan
Resource entri layanan
Persentase, injeksi kesalahan, pencocokan jalur, pengalihan, percobaan ulang, penulisan ulang, waktu tunggu, percobaan ulang, pencerminan, manipulasi header, dan aturan perutean CORS
API`EnvoyFilter` §
API`WasmPlugin`
Operator Istio

Load balancer untuk gateway masuk Istio

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

Gateway cloud mesh layanan

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

API Gateway Kubernetes

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

Kebijakan load balancing

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

Entri layanan

Fitur Terkelola (TD) Terkelola (istiod)
ServiceEntry v1beta1

† Implementasi bidang kontrol Cloud Service Mesh tidak mendukung kolom dan nilai berikut di 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

Aturan tujuan

Fitur Terkelola (TD) Terkelola (istiod)
DestinationRule v1beta1

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

File bantuan

Fitur Terkelola (TD) Terkelola (istiod)
File bantuan v1beta1

† Implementasi bidang kontrol Cloud Service Mesh tidak mendukung kolom dan nilai berikut di kolom:

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

MeshConfig

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

ProxyConfig

Fitur Terkelola (TD) Terkelola (istiod)
Proxy DNS (ISTIO_META_DNS_CAPTURE, ISTIO_META_DNS_AUTO_ALLOCATE)
Dukungan HTTP/1.0 (ISTIO_META_NETWORK)
Pemilihan gambar (gambar dasar atau tanpa distro)

Gambar tanpa gangguan digunakan untuk injeksi.

Region

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

Region Location
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) Terkelola (istiod)
Dasbor Cloud Service Mesh di Konsol Google Cloud
Cloud Monitoring
Cloud Logging

Alat

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