Topik ini menjelaskan prinsip kerja ack-onepilot, sebuah komponen yang membantu menghubungkan aplikasi Kubernetes ke Application Real-Time Monitoring Service (ARMS).
Alur Kerja
Komponen ack-onepilot terdiri dari dua layanan: webhook dan init container. Layanan webhook ack-onepilot berfungsi sebagai mutating admission webhook dari Kubernetes. Untuk informasi lebih lanjut, lihat Mutating admission webhook.
Layanan webhook ack-onepilot memodifikasi pod Kubernetes sebelum disimpan secara permanen di etcd, seperti yang ditunjukkan dalam bagan alur berikut.
Layanan webhook ack-onepilot melakukan operasi berikut pada pod:
Menentukan variabel lingkungan utama untuk pod.
Untuk aplikasi Java, layanan webhook ack-onepilot secara otomatis menambahkan parameter sistem tertentu dari Java virtual machine (JVM) melalui variabel lingkungan JAVA_TOOL_OPTIONS saat startup. JAVA_TOOL_OPTIONS menyuntikkan kunci lisensi ARMS, nama aplikasi, wilayah pelaporan, dan informasi lainnya untuk menemukan titik akhir tempat data dilaporkan. Selain itu, JAVA_TOOL_OPTIONS menyuntikkan parameter
-javaagentuntuk aplikasi Java guna menemukan jalur agen ARMS dan memuatnya selama startup aplikasi.Untuk aplikasi Go, parameter serupa dengan
-javaagenttidak diperlukan.Menambahkan init container ke pod.
Secara umum, init container mempersiapkan file agen ARMS dan memuatnya ke pod menggunakan volume. Saat startup, aplikasi menemukan agen ARMS yang telah dipersiapkan melalui JAVA_TOOL_OPTIONS pada langkah 1 dan memuatnya ke proses Java. Data observasi selama proses bisnis kemudian dapat dikumpulkan.
FAQ
Apakah versi ack-onepilot terkait dengan versi agen ARMS?
Tidak, mereka tidak harus saling terkait. Komponen ack-onepilot mengambil paket agen yang sesuai berdasarkan konfigurasi backend.