Canonical Service
Catatan: Layanan Kanonis didukung secara otomatis di Cloud Service Mesh versi 1.6.8 dan yang lebih baru.
Halaman ini menjelaskan apa yang dimaksud dengan Layanan Kanonis dalam Mesh Layanan Cloud.
Apa itu Layanan Kanonis?
Cloud Service Mesh 1.6.8 memperkenalkan dukungan untuk Layanan Kanonis, yaitu model konseptual dan arsitektur untuk merepresentasikan workload produksi Anda sebagai layanan tunggal yang lebih mudah diamati dan dikelola. Workload ini dapat mencakup beberapa cluster, platform backend yang berbeda, serta skema dan konfigurasi yang berbeda.
Untuk pengguna Kubernetes: Layanan Kanonis kurang lebih setara dengan konsep "aplikasi" Kubernetes dan CRD Aplikasi.
Untuk pengguna Serverless: Layanan Kanonis sangat mirip dengan konsep layanan App Engine dan layanan Cloud Run. Satu perbedaannya adalah layanan serverless Google bersifat inheren, sedangkan Layanan Kanonis bersifat abstraksi global / multi-region.
Misalnya, semua skenario berikut menjelaskan cara untuk merujuk ke Layanan Kanonis:
- Layanan mengalami pemadaman layanan.
- Layanan berjalan di infrastruktur lokal dan cloud publik.
- Men-deploy revisi layanan yang baru.
- Layanan Foo mengirimkan terlalu banyak traffic dan dapat melebihi kapasitas kami.
Layanan Kanonis tersedia dalam satu Mesh, yang dalam Mesh Layanan Cloud berarti Layanan tersebut juga unik dalam fleet dan Project Google Cloud (semuanya bersifat one-to-one dengan Mesh).
Workload tertentu hanya diizinkan untuk menjadi bagian dari satu Layanan Kanonis.
Anda dapat menentukan cakupan penuh Layanan Kanonis dari grup beban kerja yang menentukannya, termasuk:
- Nama host dan alamat IP
- Jaringan
- Kebijakan jaringan dan keamanan
- Pemilihan rute dan load balancing
- Image VM dan container
- Infrastruktur fisik atau virtual
- Wilayah geografis
- Sistem CI/CD
- Kode sumber
- Telemetri
- Tujuan dan pemberitahuan tingkat layanan
Anda dapat melihat dasbor yang menampilkan detail operasional ini untuk setiap layanan di halaman Layanan GKE Enterprise.
Persyaratan dan batasan Layanan Kanonis
Layanan Kanonis hanya tersedia di Mesh Layanan Cloud versi 1.6.8 dan yang lebih baru.
Setiap Layanan Kanonis berada di dalam satu namespace Kubernetes/Istio dan tidak dapat melewati batas namespace.
Anda harus memberi Layanan Kanonis nama unik dalam namespace induknya. Untuk informasi selengkapnya, lihat menentukan Layanan Kanonis.
Layanan Kanonis dapat tersedia di beberapa cluster dan region. Meskipun memecah resource dan telemetri berdasarkan cluster dan region dapat dilakukan, hal tersebut bukanlah faktor dalam menentukan cakupan atau keunikan layanan.
Oleh karena itu, identitas unik Layanan Kanonis ditentukan oleh:
mesh id + namespace + canonical name.
Revisi
Revisi mengacu pada perubahan inkremental pada layanan yang bisa Anda gunakan untuk membedakan dan mengidentifikasi berbagai "versi" atau "rilis" layanan Anda.
Membedakan revisi Layanan Kanonis dengan memberi label setiap beban kerja dengan "revisi kanonis". Label ini adalah string arbitrer yang dapat ditentukan. Meskipun label dapat ditetapkan secara otomatis dalam beberapa kasus, Anda atau sistem CI/CD yang men-deploy layanan tersebut harus menerapkan label tersebut. Untuk panduan tentang menetapkan label ini, lihat Menentukan Layanan Kanonis.
Perhatikan bahwa beberapa revisi dapat dibuat secara bersamaan. Menjalankan beberapa revisi sekaligus paling sering digunakan untuk menyelesaikan:
- Peluncuran progresif biner baru, konfigurasi baru, atau keduanya di semua instance layanan seseorang. Dalam hal ini, revisi lama dan baru akan aktif selama transisi.
- "Pengujian A/B" atau "eksperimen live", yang menampilkan dua versi layanan berbeda yang diekspos ke subset pemanggil downstream untuk menguji efek perubahan.