Cloud Service Mesh dengan fitur yang didukung Google Cloud API
Dokumen ini merangkum fitur yang tersedia di Cloud Service Mesh.
Cloud Service Mesh terdiri dari aplikasi Anda, yang kompatibel dengan xDS bidang data (proxy Envoy open source atau gRPC bidang data tanpa proxy), dan Cloud Service Mesh sebagai bidang kontrol Anda.
Dalam tabel berikut, nilai T/A (tidak berlaku) berarti bahwa fitur tidak dapat didukung karena tidak kompatibel dengan konfigurasi Cloud Service Mesh. Ruang kosong, tanpa tanda centang atau T/A, berarti fitur tersebut tidak didukung.
Beberapa fitur ini hanya tersedia dengan API load balancing. Rab sebaiknya gunakan API perutean layanan dan Anda tidak boleh membuat deployment baru menggunakan load balancing, Google Cloud Platform.
Versi xDS yang didukung
Cloud Service Mesh menggunakan API bidang kontrol xDS open source untuk mengonfigurasi Envoy dan klien gRPC tanpa proxy. Klien ini bertindak atas nama kode aplikasi untuk menghadirkan jaringan aplikasi Cloud Service Mesh kemampuan IT.
Hanya xDS v3 yang didukung. Bermigrasi ke xDS v3 jika Anda menggunakan xDS v2. Untuk informasi tentang cara bermigrasi, lihat Bermigrasi dari xDS v2 ke xDS v3.
Platform untuk menjalankan layanan mesh
Anda dapat menjalankan aplikasi pada platform berikut dan mengadopsinya ke dalam yang dikonfigurasi oleh Cloud Service Mesh.
Fitur | Didukung |
---|---|
Instance virtual machine (VM) Compute Engine | ✔ |
Instance container Google Kubernetes Engine (GKE) | ✔ |
Kubernetes di instance container Compute Engine | ✔ |
Pengelolaan layanan
Layanan dalam mesh yang mendapatkan manfaat dari konfigurasi Cloud Service Mesh hal berikut:
Penemuan layanan. Saat sebuah aplikasi di mesh Anda ingin menjangkau aplikasi lain, aplikasi itu dapat memanggil layanan itu dengan nama.
Penskalaan otomatis backend. Instance yang menjalankan kode aplikasi Anda meningkatkan skala atau dikurangi secara dinamis berdasarkan kebutuhan Anda.
Pendaftaran endpoint otomatis. Ketika {i>instance<i} baru dibuat atau dihapus, secara otomatis mereka akan dikaitkan dengan layanan Anda.
Fitur | Didukung |
---|---|
Deployment otomatis proxy file bantuan untuk VM Compute Engine | ✔ |
Injeksi otomatis proxy file bantuan untuk Pod GKE | ✔ |
Penemuan layanan berdasarkan nama host | ✔ |
Penskalaan otomatis instance berdasarkan penggunaan CPU | ✔ |
Penskalaan otomatis instance berdasarkan kapasitas/load traffic traffic (VM Compute Engine hanya dalam grup instance terkelola, atau MIG) |
✔ |
Autohealing instance berdasarkan health check yang dapat dikonfigurasi | ✔ |
Pendaftaran endpoint otomatis untuk VM Compute Engine | ✔ |
Pendaftaran endpoint otomatis untuk Pod/instance container GKE | ✔ |
API untuk menambahkan atau menghapus endpoint secara terprogram | ✔ |
Endpoint untuk traffic bidang data Anda
Microservice menggunakan bidang data untuk menjangkau layanan di mesh dan di luar jaring Anda. Cloud Service Mesh memungkinkan Anda memisahkan aplikasi dari logika jaringan sehingga aplikasi Anda hanya perlu mengirim permintaan ke bidang data (misalnya, proxy file bantuan yang berjalan di samping aplikasi). Bidang data kemudian mengirimkan permintaan ke endpoint yang benar.
Dalam tabel berikut, aplikasi yang dijelaskan berada di mesh adalah aplikasi aplikasi yang menggunakan bidang data yang dikelola Cloud Service Mesh untuk berkomunikasi dengan layanan lain. Aplikasi tersebut dapat mengirimkan traffic ke layanan {i>in-mesh<i} dan layanan di luar {i>mesh<i}.
Fitur | Didukung |
---|---|
Aplikasi berbasis VM di mesh | ✔ |
Aplikasi berbasis container di mesh | ✔ |
Aplikasi berbasis VM di luar mesh | ✔ |
Aplikasi berbasis container di luar mesh | ✔ |
Aplikasi yang berjalan di pusat data lokal | ✔ |
Aplikasi di lingkungan multicloud | ✔ |
Topologi bidang data
Dalam model mesh layanan, aplikasi Anda menggunakan bidang data untuk berkomunikasi. Bidang data ini sering kali terdiri dari proxy file bantuan yang di-deploy bersama menggunakan berbagai aplikasi obrolan. Cloud Service Mesh sangat fleksibel dan mendukung data topologi bidang yang sesuai dengan kebutuhan jaringan layanan Anda.
Fitur | Didukung |
---|---|
Proxy file bantuan yang berjalan bersama aplikasi | ✔ |
Aplikasi gRPC tanpa proxy | ✔ |
Proxy tengah antara dua aplikasi dalam mesh | ✔ |
Proxy edge di batas mesh Anda | ✔ |
Mesh yang mencakup beberapa cluster GKE dan/atau VM Compute Engine di beberapa region | ✔ |
Konfigurasi terprogram berbasis API
Semua konfigurasi diekspos melalui REST API dan dasbor kami yang siap pakai, memungkinkan Anda mengotomatiskan perubahan di seluruh tim besar dan mengelola perubahan secara terprogram. Beberapa fitur tidak dapat dikonfigurasi menggunakan Konsol Google Cloud.
Fitur | Didukung |
---|---|
REST API | ✔ |
Konsol Google Cloud | ✔ |
Google Cloud CLI | ✔ |
Cloud Deployment Manager | ✔ |
Dukungan Terraform | ✔ |
Dukungan bahasa dengan aplikasi gRPC tanpa proxy
Anda dapat membuat aplikasi gRPC tanpa proxy yang berfungsi dengan Cloud Service Mesh menggunakan bahasa pemrograman berikut. Fitur mesh layanan yang didukung dalam berbagai implementasi dan versi gRPC tercantum di GitHub.
Bahasa | Didukung |
---|---|
Java | ✔ |
Go | ✔ |
C++ | ✔ |
Python | ✔ |
Ruby | ✔ |
PHP | ✔ |
Node | ✔ |
Meminta protokol
Aplikasi bisa menggunakan protokol permintaan berikut ketika menggunakan Bidang data yang dikonfigurasi Cloud Service Mesh untuk berkomunikasi.
Fitur | Didukung |
---|---|
HTTP | ✔ |
HTTPS | ✔ |
HTTP/2 | ✔ |
TCP | ✔ |
gRPC | ✔ |
Keamanan layanan
Cloud Service Mesh mendukung keamanan layanan dengan konfigurasi standar.
Fitur | Envoy | gRPC |
---|---|---|
TLS dengan Pod GKE | ✔ | ✔ |
mTLS dengan Pod GKE | ✔ | ✔ |
Kontrol dan otorisasi akses | ✔ | ✔ |
Pengelolaan pemilihan rute dan traffic
Cloud Service Mesh mendukung kebijakan pengelolaan traffic lanjutan yang dapat dapat digunakan untuk mengarahkan, memisahkan, dan membentuk traffic saat melewati bidang data Anda.
Beberapa fitur pengelolaan traffic lanjutan tidak tersedia dengan layanan gRPC tanpa proxy, dan tidak ada traffic lanjutan yang tersedia dengan sumber daya proxy TCP target.
Fitur berikut tidak didukung saat Cloud Service Mesh menangani traffic TCP (non-HTTP(S).
Fitur | Didukung dengan proxy Envoy dikonfigurasi untuk menangani traffic HTTP(S) atau gRPC | Didukung dengan proxyless gRPC |
---|---|---|
Pemilihan rute permintaan HTTP/Lapisan 7 berdasarkan pencocokan akhiran/awalan/penuh/ekspresi reguler berdasarkan: | ||
• Nama host | ✔ | ✔ |
• Jalur | ✔ | ✔ |
• Header | ✔ | ✔ |
• Metode | ✔ | T/A |
• Cookie | ✔ | ✔ |
• Parameter permintaan | ✔ | T/A |
Injeksi kesalahan | ✔ | ✔ |
Waktu tunggu yang dapat dikonfigurasi | ✔ | T/A Lihat Durasi streaming maksimum. |
Upaya coba lagi | ✔ | ✔ Kecuali waktu tunggu per percobaan ulang |
Pengalihan | ✔ | |
Penulisan ulang URI | ✔ | |
Transformasi header permintaan/respons | ✔ | |
Pemisahan traffic | ✔ | ✔ |
Pencerminan traffic | ✔ | |
Deteksi outlier | ✔ | ✔ |
Pemutusan sirkuit | ✔ | ✔ Hanya maxRequests |
Durasi streaming maksimum | ✔ | ✔ |
Load balancing
Anda dapat mengonfigurasi metode dan algoritma load balancing lanjutan untuk melakukan load balancing di layanan, grup backend (grup instance atau grup endpoint jaringan), dan tingkat backend atau endpoint individual. Untuk informasi selengkapnya, lihat Ringkasan layanan backend dan Ringkasan load balancing lanjutan.
Fitur | Didukung dengan proxy Envoy dikonfigurasi untuk menangani traffic HTTP(S), TCP, atau gRPC | Didukung dengan proxyless gRPC |
---|---|---|
Pemilihan backend (grup instance atau grup endpoint jaringan) berdasarkan region (lebih memilih region terdekat dengan kapasitas backend yang sehat) | ✔ | ✔ |
Pemilihan backend menggunakan mode penyeimbangan berbasis kapasitas (permintaan per detik). | ✔ Tidak didukung dengan traffic TCP (non-HTTP(S). |
✔ |
Pemilihan backend berdasarkan mode penyeimbangan berbasis pemakaian (VM di grup instance Compute Engine saja) | ✔ | ✔ |
Kapasitas maksimum per backend yang dapat dikonfigurasi (Compute Engine dan khusus GKE) | ✔ | ✔ |
Pemilihan backend berdasarkan kebijakan load balancing yang dapat dikonfigurasi. Untuk informasi tentang setiap kebijakan bawaan, lihat
|
|
|
Ketahanan layanan
Cloud Service Mesh mendukung kemampuan yang membantu Anda meningkatkan layanan Anda. Misalnya, Anda dapat menggunakan Cloud Service Mesh untuk mengimplementasikan pola blue-green deployment, pengujian canary, atau pemutusan sirkuit (Envoy, gRPC).
Fitur | Didukung dengan proxy Envoy dikonfigurasi untuk menangani traffic HTTP(S), TCP, atau gRPC | Didukung dengan proxyless gRPC |
---|---|---|
Pemilihan layanan berdasarkan pemisahan traffic berbasis bobot | ✔ | ✔ |
Pemutusan sirkuit | ✔ | ✔ Hanya maxRequests |
Pengelolaan kapasitas layanan dan backend
Cloud Service Mesh mempertimbangkan kapasitas layanan dan backend untuk memastikan distribusi traffic yang optimal di seluruh layanan Anda backend. Mesh Layanan Cloud terintegrasi dengan infrastruktur Google Cloud sehingga secara otomatis mengumpulkan data kapasitas. Anda juga dapat menetapkan dan mengonfigurasi kapasitas secara manual.
Fitur | Didukung |
---|---|
Secara otomatis melacak kapasitas dan penggunaan backend, berdasarkan CPU, untuk instance VM dalam grup instance terkelola (MIG). | ✔ |
Kapasitas manual dan penggantian untuk instance VM dan container di MIG dan grup endpoint jaringan (NEG) berdasarkan rasio permintaan. | ✔ |
Pengosongan kapasitas manual. | ✔ |
Failover
Workload perusahaan umumnya mengandalkan deployment dengan ketersediaan tinggi untuk memastikan waktu beroperasi layanan. Cloud Service Mesh mendukung jenis deployment ini dengan memungkinkan redundansi multi-zona/multi-region.
Fitur | Didukung |
---|---|
Failover otomatis ke zona lain dalam region yang sama yang memiliki kapasitas backend yang responsif. | ✔ |
Failover otomatis ke region terdekat dengan kapasitas backend yang responsif. | ✔ |
Health check
Cloud Service Mesh mendukung health check terpusat untuk menentukan backend kesehatan.
Untuk mengetahui informasi referensi, lihat Ringkasan health check.
Fitur | Didukung |
---|---|
Health check gRPC | ✔ |
Health check HTTP | ✔ |
Health check HTTPS | ✔ |
Health check HTTP/2 | ✔ |
Health check TCP | ✔ |
Health check yang dapat dikonfigurasi:
|
✔ |
Jalur permintaan yang dapat dikonfigurasi (HTTP, HTTPS, HTTP/2) | ✔ |
String atau jalur permintaan yang dapat dikonfigurasi (TCP atau SSL) | ✔ |
String respons yang diharapkan yang dapat dikonfigurasi | ✔ |
Kemampuan observasi
Alat kemampuan observasi menyediakan informasi pemantauan, proses debug, dan performa untuk membantu Anda memahami mesh layanan Anda. Kemampuan berikut dapat yang disediakan secara default atau dikonfigurasi di bidang data Anda. Kode aplikasi Anda tidak perlu melakukan hal khusus untuk menghasilkan data kemampuan observasi ini.
Dasbor kondisi layanan tersedia dengan layanan gRPC tanpa proxy, tetapi Anda tidak dapat mengonfigurasi logging dan pelacakan bidang data. Mesh Layanan Cloud tidak dapat mengonfigurasi logging dan pelacakan aplikasi gRPC. Anda dapat aktifkan logging dan pelacakan dengan mengikuti petunjuk dalam pemecahan masalah atau panduan gRPC yang tersedia di situs open source. Misalnya, untuk mengaktifkan pengumpulan dan pelacakan metrik di layanan gRPC tanpa proxy, Anda dapat menggunakan Opencensus.
Fitur | Didukung dengan proxy | Didukung dengan layanan gRPC tanpa proxy |
---|---|---|
Dasbor kondisi layanan | ✔ | ✔ |
Logging bidang data | ✔ | ✔ |
Pelacakan bidang data | ✔ | ✔ |
Afinitas sesi
Komunikasi klien-server sering melibatkan beberapa permintaan yang berurutan. Dengan demikian sebuah kasus, akan sangat membantu untuk merutekan permintaan klien yang berurutan ke {i>backend<i} atau server. Cloud Service Mesh menyediakan opsi yang dapat dikonfigurasi untuk mengirim permintaan dari klien tertentu, atas dasar upaya terbaik, ke backend selama backend responsif dan memiliki kapasitas. Untuk informasi selengkapnya, lihat Ringkasan layanan backend.
Fitur | Didukung dengan proxy HTTP(S) | Didukung dengan proxy TCP | Didukung dengan layanan gRPC tanpa proxy |
---|---|---|---|
Alamat IP klien | ✔ | ✔ | |
Cookie HTTP | ✔ | T/A | |
Header HTTP | ✔ | T/A | ✔ |
Cookie yang dihasilkan (menetapkan cookie klien pada permintaan pertama) | ✔ | T/A |
Topologi jaringan
Cloud Service Mesh mendukung topologi jaringan Google Cloud umum.
Fitur | Didukung |
---|---|
Satu jaringan dalam project Google Cloud | ✔ |
Beberapa mesh dalam project Google Cloud | ✔ |
Beberapa gateway dalam project Google Cloud | ✔ |
VPC Bersama (satu jaringan yang digunakan bersama di beberapa project Google Cloud) | ✔ |
Untuk penjelasan terperinci tentang bagaimana VPC Bersama didukung dengan Cloud Service Mesh, lihat Batasan.
Kepatuhan
Cloud Service Mesh mematuhi standar berikut.
Sertifikasi kepatuhan | Didukung |
---|---|
HIPAA | ✔ |
ISO 27001, ISO 27017, ISO 27018 | ✔ |
SOC1, SOC2, SOC3 | ✔ |
PCI DSS | ✔ |
Langkah selanjutnya
- Untuk mempelajari Cloud Service Mesh lebih lanjut, lihat Ringkasan Cloud Service Mesh.
- Untuk menemukan kasus penggunaan dan pola arsitektur bagi layanan gRPC tanpa proxy, lihat Ringkasan layanan gRPC tanpa proxy.