Batasan Cloud Service Mesh dengan Envoy

Dokumen ini menjelaskan batasan yang berlaku untuk Cloud Service Mesh dengan Google Cloud API, termasuk batasan pengelolaan traffic lanjutan. Ini tidak berlaku untuk Cloud Service Mesh dengan Istio API.

Untuk mengetahui informasi tentang batas, lihat Kuota dan batas.

Batasan umum

Batasan Cloud Service Mesh mencakup hal berikut:

  • Cloud Service Mesh dengan API perutean layanan hanya mendukung Google Cloud API.
  • Anda dapat menggunakan Cloud Service Mesh untuk mengonfigurasi protokol permintaan berikut: HTTP (HTTP/1.1 atau HTTP/2), HTTPS, TCP, dan gRPC.
  • Saat Anda menggunakan Envoy sebagai proxy bidang data, nilai stream_idle_timeout ditetapkan secara default ke 5 menit. Hal ini tidak dapat dikonfigurasi melalui Cloud Service Mesh.
  • Jika menggunakan resource TCPRoute untuk mengonfigurasi protokol permintaan TCP, Anda tidak dapat menggunakan fitur pengelolaan traffic lanjutan. Pengelolaan traffic lanjutan hanya tersedia saat Anda mengonfigurasi bidang data untuk menangani permintaan HTTP atau gRPC.
  • Cloud Service Mesh mendukung Peering Jaringan VPC dengan API pemilihan rute layanan.
  • Cloud Service Mesh tidak mendukung protokol server-first.
  • Anda tidak dapat menggunakan Cloud Service Mesh dengan layanan yang berjalan di Knative atau Google Cloud Serverless Computing.
  • Dokumen ini membahas proxy Envoy, tetapi Anda dapat menggunakan proxy API standar terbuka (xDS) dengan Cloud Service Mesh. Namun, Google telah menguji Cloud Service Mesh hanya dengan proxy Envoy.
  • Untuk memastikan semua kerentanan keamanan yang diketahui dimitigasi, sebaiknya gunakan versi Envoy terbaru. Untuk mengetahui informasi tentang saran keamanan Envoy, lihat Anjuran Keamanan Envoy.
  • Konsol Google Cloud tidak mendukung grup endpoint jaringan konektivitas hybrid (NEG). Untuk membuat atau menghapus NEG konektivitas hybrid, gunakan Google Cloud CLI.
  • Karena bidang data Anda menangani health check, Anda tidak dapat menggunakan Google Cloud Console, API, atau gcloud CLI untuk mengambil status health check.
  • Periksa iptables dan pastikan semuanya disiapkan dengan benar. Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi iptables, lihat catatan Envoy tentang cara mengonfigurasi pemfilteran HTTP.

    • Jika Anda menggunakan konsol Google Cloud untuk membuat instance virtual machine (VM), beberapa modul terkait ipv6 tidak akan diinstal dan tersedia sebelum mulai ulang. Akibatnya, iptables.sh gagal karena dependensi yang hilang. Dalam kasus tersebut, mulai ulang VM dan jalankan kembali skrip run.sh.
    • Jika menggunakan gcloud CLI untuk membuat VM Compute Engine, Anda tidak diharapkan mengalami masalah ini.

Batasan pengelolaan traffic lanjutan

Batasan pengelolaan traffic lanjutan mencakup hal berikut:

  • Jika nilai BackendService.sessionAffinity tidak NONE, dan BackendService.localityLbPolicy disetel ke kebijakan load balancing selain MAGLEV atau RING_HASH, setelan afinitas sesi tidak akan berlaku.
  • Perintah gcloud import tidak menghapus kolom tingkat atas resource, seperti layanan backend dan peta URL. Misalnya, jika layanan backend dibuat dengan setelan untuk circuitBreakers, Anda dapat menggunakan perintah gcloud import berikutnya untuk memperbarui setelan tersebut. Namun, Anda tidak dapat menghapus setelan tersebut dari layanan backend. Anda dapat menghapus dan membuat ulang resource itu sendiri tanpa setelan circuitBreakers.

Batasan dengan Direktori Layanan

  • Direktori Layanan dan Cloud Service Mesh tidak menjamin keterjangkauan jaringan untuk klien.
  • Layanan backend hanya dapat mereferensikan salah satu dari hal berikut:

    • Grup instance terkelola atau grup instance yang tidak dikelola
    • Grup endpoint jaringan
    • Pengikatan layanan
  • Layanan Direktori Layanan hanya dapat digunakan dengan layanan backend global dengan load-balancing-scheme=INTERNAL_SELF_MANAGED.

  • Layanan Direktori Layanan yang dirujuk oleh binding layanan dapat dihapus. Jika layanan Direktori Layanan yang mendasari tempat layanan backend terpasang dihapus, aplikasi yang menggunakan Cloud Service Mesh tidak dapat mengirim traffic ke layanan ini, oleh karena itu, permintaan akan gagal. Lihat Kemampuan observasi dan proses debug untuk mengetahui praktik terbaik.

  • Jika Anda mengikat layanan Direktori Layanan ke layanan backend, Anda tidak dapat mengonfigurasi health check pada layanan backend tersebut.

Langkah selanjutnya

  • Untuk mempelajari batasan yang berlaku pada Cloud Service Mesh dengan aplikasi gRPC tanpa proxy, lihat Batasan gRPC tanpa proxy.