Menyelesaikan masalah Layanan Kanonis di Mesh Layanan Cloud

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

Bagian ini menjelaskan masalah umum Cloud Service Mesh dan cara mengatasinya. Jika Anda memerlukan bantuan tambahan, lihat Mendapatkan dukungan.

Cluster di mesh Anda menjalankan Cloud Service Mesh versi lama

Jika ada cluster Anda yang menjalankan Cloud Service Mesh versi sebelumnya (<1.6.8) atau cluster menjalankan Cloud Service Mesh dengan pengontrol Layanan Kanonis yang dinonaktifkan, cluster tersebut (dan layanan yang berjalan pada cluster tersebut) tidak akan muncul di UI Service Mesh. Untuk menggunakan Layanan Kanonis, Anda harus mengupgrade setiap cluster ke Cloud Service Mesh 1.6.8 atau yang lebih tinggi dan menggunakan opsi penginstalan default yang mencakup pengontrol Layanan Kanonis. Untuk mengetahui informasi selengkapnya, lihat Mengupgrade Cloud Service Mesh ke versi terbaru jika cluster Anda berada di GKE atau Mengupgrade Cloud Service Mesh secara lokal.

Atau, jika memilih untuk tidak menginstal pengontrol di cluster, Anda dapat mengaktifkan Pengontrol Layanan Kanonis Terkelola (saat ini dalam Pratinjau) untuk mesh Anda.

Untuk informasi selengkapnya tentang cara mengaktifkan pengontrol Layanan Kanonis, lihat Mengaktifkan pengontrol Layanan Kanonis.

Cloud Service Mesh tidak diinstal di cluster

Jika Cloud Service Mesh tidak diinstal di cluster Anda, cluster tersebut tidak akan muncul di UI Service Mesh. Untuk mengetahui informasi selengkapnya tentang cara menginstal Cloud Service Mesh, lihat dokumentasi Cloud Service Mesh.

Anda belum login ke cluster lokal

Jika Anda memiliki cluster lokal di mesh dan tidak login ke cluster, Anda tidak akan dapat melihat layanan yang sesuai dengan cluster tersebut. Untuk melihat layanan tersebut di dasbor, Anda harus login ke cluster. Untuk mengetahui informasi lebih lanjut tentang cara Login ke cluster, lihat Login ke cluster dari Konsol Cloud.

Cluster lokal tidak dapat dijangkau

Jika Anda memiliki cluster lokal di mesh dan tidak dapat dijangkau melalui agen penghubung, Anda tidak akan dapat melihat layanan yang sesuai dengan cluster tersebut. Untuk melihat layanan tersebut di dasbor, pastikan cluster Anda berjalan dan terhubung ke Google Cloud. Untuk mengetahui informasi selengkapnya tentang cara menghubungkan cluster ke Google Cloud, lihat Ringkasan Connect.

Layanan dengan SLO yang ditentukan tidak memetakan 1:1 dengan Layanan Kanonis

Sebelum beralih ke Layanan Kanonis, Cloud Service Mesh menampilkan dasbor untuk Layanan Kubernetes. Meskipun Layanan Kubernetes dan Layanan Kanonis default sering kali sesuai, ada kemungkinan bahwa Layanan Kubernetes tidak dapat dicocokkan secara otomatis dengan Layanan Kanonis terkait atau batas Layanan Kanonis default tidak diinginkan.

Jika Anda telah menyiapkan Tujuan Tingkat Layanan (SLO) pada layanan yang sudah ada dan tidak dapat dicocokkan secara otomatis dengan Layanan Kanonis default, layanan tersebut tidak dapat dimigrasikan. Untuk mulai menggunakan Layanan Kanonis, Anda perlu menghapus SLO untuk layanan yang bermasalah. Jika mau, Anda dapat membuat SLO baru untuk Layanan Kanonis yang paling cocok dengan layanan tersebut sebelum menghapus SLO lama.

Dasbor saya tidak memiliki konten yang saya harapkan

Setiap dasbor layanan Mesh Layanan dicakupkan ke Layanan Kanonis di mesh layanan Anda. Layanan Kanonis adalah konsep layanan logis tingkat tinggi yang mencakup semua workload, region, dan lainnya yang relevan.

Secara default, label yang ada di setiap instance workload (Pod atau WorkloadEntry) menentukan Layanan Kanonis dan mengikuti aturan ini dalam penurunan prioritas:

  1. Label service.istio.io/canonical-name telah ditetapkan secara eksplisit. Tidak ada tindakan lebih lanjut yang diambil.
  2. Jika tidak, label service.istio.io/canonical-name akan ditambahkan dan nilainya akan ditetapkan ke label label app.kubernetes.io/name.
  3. Jika tidak, label service.istio.io/canonical-name akan ditambahkan dan nilainya akan ditetapkan ke label label app.
  4. Jika tidak, label service.istio.io/canonical-name akan ditambahkan dan nilainya akan ditetapkan ke name beban kerja yang memiliki. Dalam hal ini, "beban kerja yang memiliki" jika Pod di-deploy secara solo, atau Deployment, StatefulSet, dll. jika menggunakan orkestrasi level lebih tinggi.

Bagi sebagian besar pengguna idiomatis Kubernetes dan Kube Run / Knative, aturan ini memetakan langsung ke cara Anda mengelola layanan dan workload.

Namun, dalam beberapa kasus penggunaan yang lebih kustom atau kompleks, heuristik default tidak menangkap layanan Anda dengan tepat, sehingga dasbor Cloud Service Mesh yang Anda lihat tidak menyertakan konten yang Anda harapkan.

Hal ini dapat diperbaiki dengan menentukan cakupan Layanan Kanonis secara manual.

Menentukan cakupan layanan secara manual

Jika memungkinkan, sebaiknya gunakan mekanisme pengelompokan default otomatis. Namun, jika ingin mengganti pengelompokan default ini, Anda dapat melakukannya dengan menerapkan label service.istio.io/canonical-name Kubernetes ke konfigurasi Pod Kubernetes dan WorkloadEntry.

Untuk mengetahui detailnya, lihat menentukan Layanan Kanonis secara manual.