Canonical Service
Catatan: Layanan Kanonis didukung secara otomatis di Cloud Service Mesh versi 1.6.8 dan yang lebih tinggi.
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 model arsitektural untuk merepresentasikan workload produksi Anda sebagai satu layanan yang lebih mudah diobservasi dan dikelola. Workload ini dapat mencakup berbagai cluster, platform backend yang berbeda, dan skema serta konfigurasi yang berbeda.
Untuk pengguna Kubernetes: Layanan Kanonis kurang lebih setara dengan "Aplikasi" Kubernetes konsep dan CRD Aplikasi.
Untuk pengguna Serverless: Layanan Kanonis sangat mirip dengan Layanan App Engine dan konsep layanan Cloud Run. Satu perbedaannya adalah layanan Google Serverless bersifat regional sedangkan Layanan Kanonis adalah abstraksi global / multi-region.
Misalnya, semua skenario berikut menggambarkan cara yang mungkin Anda gunakan untuk merujuk ke Layanan Kanonis:
- Layanan mengalami pemadaman layanan.
- Layanan berjalan di infrastruktur lokal dan di cloud publik.
- Men-deploy revisi layanan yang baru.
- Layanan Foo mengirimkan terlalu banyak traffic dan dapat melebihi kapasitas kami.
Layanan Kanonis ada dalam satu Mesh, yang dalam {i>Cloud Service Mesh<i} berarti mereka juga unik dalam fleet dan Google Cloud Project (semuanya one-to-one dengan Mesh).
Workload tertentu hanya diizinkan untuk menjadi bagian dari satu Layanan Kanonis.
Anda dapat menentukan cakupan penuh dari Layanan Kanonis dari grup 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 lebih tinggi.
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. Sebagai informasi selengkapnya, lihat menentukan Layanan Kanonis.
Layanan Kanonis dapat tersedia di beberapa cluster dan region. Meskipun untuk memerinci resource dan telemetri berdasarkan cluster dan region, bukan faktor dalam menentukan ruang lingkup atau keunikan suatu layanan.
Oleh karena itu, identitas unik Layanan Kanonis ditentukan oleh:
mesh id + namespace + canonical name.
Revisi
Revisi mengacu pada perubahan bertahap pada layanan yang dapat Anda gunakan untuk membedakan dan mengidentifikasi "versi" yang berbeda atau "rilis" layanan Anda.
Membedakan revisi Layanan Kanonis dengan memberi label pada individu workload dengan "revisi kanonis". Label ini adalah string arbitrer yang yang dapat Anda tentukan. Meskipun label dapat ditetapkan secara otomatis dalam beberapa kasus, Anda atau sistem CI/CD yang men-deploy layanan tersebut harus menerapkan label. Untuk panduan tentang menyetel 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 dari biner baru, konfigurasi baru, atau keduanya di semua instance layanan. Dalam hal ini, baik data lama maupun revisi baru tersedia selama masa transisi.
- "Pengujian A/B" atau "eksperimen langsung", di mana dua versi berbeda dari layanan diekspos ke subset pemanggil downstream untuk menguji efek berubah.