Canonical Service

Catatan: Layanan Kanonis didukung secara otomatis di Cloud Service Mesh versi 1.6.8 dan yang lebih tinggi.

Layanan Kanonis di Cloud Service Mesh memungkinkan Anda mengelompokkan workload produksi terdistribusi ke dalam satu layanan logis untuk pemantauan dan pengelolaan terpadu. Anda dapat mengamati telemetri gabungan, menentukan tujuan tingkat layanan, dan melacak revisi di beberapa cluster, platform, dan konfigurasi.

Apa itu Layanan Kanonis?

Cloud Service Mesh 1.6.8 memperkenalkan dukungan untuk Layanan Kanonis, 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 serupa dengan konsep "aplikasi" Kubernetes dan CRD Aplikasi.

Untuk pengguna Serverless: Layanan Kanonis sangat mirip dengan konsep layanan App Engine dan layanan Cloud Run. Satu-satunya perbedaan adalah bahwa layanan Serverless Google secara inheren bersifat regional, sedangkan Layanan Kanonis adalah abstraksi global / multi-region.

Misalnya, semua skenario berikut menjelaskan cara Anda dapat merujuk ke Layanan Kanonis:

  • Layanan mengalami gangguan.
  • Layanan berjalan di lokal dan di cloud publik.
  • Men-deploy revisi baru layanan.
  • Layanan Foo mengirim terlalu banyak traffic dan mungkin melebihi kapasitas kami.

Layanan Kanonis ada dalam satu mesh, yang di Cloud Service Mesh berarti layanan tersebut juga unik dalam fleet dan Google Cloud Project (yang semuanya bersifat satu-ke-satu dengan mesh).

Workload tertentu hanya diizinkan 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 tingkat layanan dan pemberitahuan

Anda dapat melihat dasbor yang menampilkan detail operasional ini untuk setiap layanan di halaman Layanan.

Persyaratan layanan dan batasan Kanonis

Layanan Kanonis hanya tersedia di Cloud Service Mesh versi 1.6.8 dan yang lebih tinggi.

Setiap Layanan Kanonis ada di dalam satu namespace Kubernetes/Istio dan tidak dapat melintasi batas namespace.

Anda harus memberi Layanan Kanonis nama unik dalam namespace induknya. Untuk mengetahui informasi selengkapnya, lihat menentukan Layanan Kanonis.

Layanan Kanonis dapat ada di beberapa cluster dan region. Meskipun resource dan telemetri dapat dikelompokkan menurut cluster dan region, hal tersebut bukan 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 dapat Anda gunakan untuk membedakan dan mengidentifikasi berbagai "versi" atau "rilis" layanan Anda.

Membedakan revisi Layanan Kanonis dengan memberi label pada setiap beban kerja dengan "revisi kanonis". Label ini adalah string arbitrer yang dapat Anda tentukan. Meskipun label dapat ditetapkan secara otomatis dalam beberapa kasus, Anda atau sistem CI/CD yang men-deploy layanan harus menerapkan label. Untuk panduan tentang cara menyetel label ini, lihat Menentukan Layanan Kanonis.

Perhatikan bahwa beberapa revisi dapat diproduksi secara bersamaan. Menjalankan beberapa revisi sekaligus paling sering digunakan untuk menyelesaikan:

  • Peluncuran progresif biner baru, konfigurasi baru, atau keduanya di semua instance layanan. Dalam hal ini, revisi lama dan baru ditayangkan selama transisi.
  • "Pengujian A/B" atau "eksperimen aktif", di mana dua versi layanan yang berbeda ditampilkan kepada subset pemanggil hilir untuk menguji efek perubahan.

Langkah berikutnya