Secara default, setiap proxy sidecar dalam mesh menerima konfigurasi lengkap untuk semua layanan di bidang data. Hal ini meningkatkan penggunaan memori pada setiap proxy dan menghasilkan dorongan lapisan kontrol yang tidak perlu setiap kali lapisan kontrol atau bidang data dimodifikasi—bahkan untuk layanan yang tidak pernah dipanggil oleh workload.
Service Mesh (ASM) mengatasi masalah ini dengan menganalisis log akses yang dihasilkan oleh proxy sidecar untuk mengidentifikasi layanan yang benar-benar dipanggil oleh setiap workload. Berdasarkan hasil analisis tersebut, ASM merekomendasikan resource Sidecar tercakup (scoped) untuk setiap workload. Setelah Anda menerapkan sidecar tercakup:
Proxy hanya menyimpan konfigurasi untuk layanan yang menjadi dependensi workload tersebut.
Lapisan kontrol melewatkan dorongan pembaruan ketika layanan yang tidak terkait atau resource terkaitnya (seperti virtual service) berubah.
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
Instans ASM. Lihat Create an ASM instance
Kluster ACK yang dikelola (Container Service for Kubernetes (ACK)). Lihat Create an ACK managed cluster
Kluster ACK yang telah ditambahkan ke instans ASM. Lihat Add a cluster to an ASM instance
Gerbang masuk (ingress gateway) yang telah diterapkan. Lihat Create an ingress gateway
Aplikasi yang telah diterapkan di instans ASM. Lihat Deploy an application in an ASM instance
Log Service yang telah dikonfigurasi untuk mengumpulkan log akses bidang data. Lihat Use Log Service to collect access logs on the data plane
Catatan Penggunaan
| Note | Details |
|---|---|
| Pemilihan proyek Log Service | Jika Anda memilih Use Default untuk proyek Log Service saat mengaktifkan pengumpulan log akses, ASM menggunakan proyek Log Service dari kluster pertama yang ditambahkan ke instans ASM untuk menghasilkan rekomendasi. |
| Cakupan per workload | Rekomendasi dihasilkan per workload. Hal ini menyederhanakan konfigurasi sidecar bidang data semaksimal mungkin. Konfigurasikan setiap workload secara individual. |
| Data panggilan tidak lengkap | Jika suatu workload tidak memiliki catatan panggilan dalam log akses, sidecar yang direkomendasikan mungkin tidak akurat. Verifikasi secara manual sebelum menerapkannya. |
Langkah 1: Hasilkan log akses
Buka browser dan kunjungi http://{IP address of the ingress gateway service}/productpage. Muat ulang halaman aplikasi Bookinfo beberapa kali hingga peringkat bintangnya bergantian antara hitam dan merah. Tindakan ini menghasilkan data log akses yang digunakan ASM untuk menganalisis dependensi layanan.
Langkah 2: Hasilkan dan terapkan rekomendasi sidecar
Masuk ke ASM console.
Di panel navigasi kiri, pilih Service Mesh > Mesh Management.
Pada halaman Mesh Management, klik nama instans ASM Anda.
Di panel navigasi kiri instans tersebut, pilih Mesh Optimization Center > Inbound and Outbound Traffic Configuration (Sidecar Object).
Temukan workload target dan klik Recommend di kolom Actions. Tunggu hingga kolom Recommendation status menampilkan Recommendation complete.
Klik View di kolom Actions untuk membuka panel Recommended Sidecar.
Di panel Recommended Sidecar, verifikasi bahwa bidang hosts dalam YAML Sidecar mencakup semua layanan yang dipanggil oleh workload tersebut. Jika ada layanan yang diperlukan tetapi tidak tercantum dalam hosts, tambahkan ke YAML sebelum melanjutkan.
Klik OK untuk menerapkan konfigurasi sidecar.
(Opsional) Buat ulang rekomendasi setelah perubahan dependensi
Saat aplikasi berkembang, dependensi layanan berubah dan sidecar yang sebelumnya direkomendasikan mungkin tidak lagi mencerminkan pola panggilan aktual. Untuk memperbarui rekomendasi sidecar, kumpulkan log akses terbaru dan hasilkan rekomendasi baru:
Masuk ke ASM console.
Di panel navigasi kiri, pilih Service Mesh > Mesh Management.
Klik nama instans ASM Anda, lalu pilih Mesh Optimization Center > Inbound and Outbound Traffic Configuration (Sidecar Object).
Temukan workload target dan klik Recollecting access logs di kolom Actions.
Pada pesan Recollecting access logs, klik OK. Sidecar yang ada akan dihapus, dan kolom Recommendation status berubah menjadi Recollecting access logs.
Hasilkan log akses baru dengan mengulangi Langkah 1.
Hasilkan rekomendasi baru dengan mengulangi Langkah 2.