Untuk memantau aplikasi Go yang dideploy di Container Service for Kubernetes (ACK) atau Container Compute Service (ACS), Anda harus menginstal komponen ack-onepilot dari Application Real-Time Monitoring Service (ARMS) dan mengompilasi file biner Go Anda. Data pemantauan—seperti topologi aplikasi, panggilan API, dan analisis database—kemudian dapat dilihat di ARMS. Topik ini menjelaskan cara menginstal agen Go untuk aplikasi yang dideploy di Container Service for Kubernetes (ACK) atau Container Compute Service (ACS).
Langkah instalasi untuk ACK dan ACS identik. Panduan ini menggunakan ACK sebagai contoh.
Jika Anda memiliki pertanyaan tentang agen Go, hubungi kami di grup tanya jawab DingTalk kami (ID: 159215000379).
Prasyarat
Kluster ACK atau ACS:
Diperlukan namespace. Untuk informasi selengkapnya, lihat Kelola namespace dan kuota. Topik ini menggunakan namespace default.
Periksa sistem operasi, arsitektur, versi Go, dan versi framework di lingkungan build Anda. Untuk persyaratan spesifik, lihat Komponen dan framework Go yang didukung oleh pemantauan aplikasi ARMS.
Langkah 1: Berikan izin untuk mengakses resource ARMS
ACK managed cluster
Jika tidak ada ARMS Addon Token di ACK managed cluster Anda, Anda harus memberikan izin secara manual agar kluster dapat mengakses resource ARMS.
Jika kluster memiliki ARMS Addon Token, ARMS melakukan otorisasi tanpa password pada kluster tersebut. ARMS Addon Token mungkin tidak tersedia di beberapa kluster ACK managed. Kami menyarankan Anda memeriksa keberadaan ARMS Addon Token sebelum menggunakan ARMS untuk memantau aplikasi di kluster tersebut. Jika kluster tidak memiliki ARMS Addon Token, Anda harus memberikan otorisasi agar kluster dapat mengakses ARMS.
Kluster ACK dedicated dan terdaftar
Untuk memantau aplikasi di kluster ACK dedicated dan kluster terdaftar ACK One, pastikan akun Alibaba Cloud memiliki izin AliyunARMSFullAccess dan AliyunSTSAssumeRoleAccess. Untuk informasi lebih lanjut tentang cara memberikan izin, lihat Berikan izin kepada Pengguna RAM.
Setelah menginstal komponen ack-onepilot, Anda juga harus memberikan pasangan AccessKey (ID AccessKey dan Rahasia AccessKey) dari akun Alibaba Cloud yang memiliki izin ARMS.
Metode 1: Tentukan pasangan AccessKey di Helm
-
Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.
Pada halaman Clusters, klik nama kluster target Anda. Di panel navigasi kiri, pilih . Temukan komponen ack-onepilot lalu klik Update di kolom Actions.
Ganti
accessKeydanaccessKeySecretdengan ID AccessKey dan Rahasia AccessKey Anda, lalu klik OK.CatatanUntuk informasi tentang cara mendapatkan pasangan AccessKey, lihat Buat pasangan AccessKey.
Pada halaman Update Release, di editor konfigurasi YAML, temukan bidang
accessKeydanaccessKeySecretdi bawah bagian controller.Restart Deployment aplikasi.
Metode 2: Referensikan pasangan AccessKey dari secret
Masuk ke Konsol Container Service for Kubernetes (ACK). Di panel navigasi kiri, klik Clusters.
Pada halaman Clusters, klik nama kluster target Anda. Di panel navigasi kiri, pilih .
Pilih namespace ack-onepilot, buat secret, lalu tambahkan informasi pasangan AccessKey Anda.
CatatanUntuk informasi tentang cara mendapatkan pasangan AccessKey, lihat Buat pasangan AccessKey.
Tetapkan Name menjadi
ack-onepilot-akskdan Type menjadi Opaque. Di tabel data, tambahkan pasangan kunci-nilai bernamaakdansk, lalu atur nilainya sesuai dengan ID AccessKey dan Rahasia AccessKey Anda. Kemudian klik OK.Di panel navigasi kiri, pilih . Klik komponen ack-onepilot, yang biasanya bernama ack-onepilot-ack-onepilot dan berada di namespace ack-onepilot.
Di pojok kanan atas halaman ack-onepilot-ack-onepilot, klik Edit. Lalu, di bagian Environment Variables, tambahkan
ONE_PILOT_ACCESSKEYdanONE_PILOT_ACCESSKEY_SECRET, atur nilainya dengan mereferensikan Secret tersebut, lalu klik OK.Tetapkan secret yang direferensikan untuk kedua variabel menjadi ack-onepilot-aksk. Tetapkan kunci untuk
ONE_PILOT_ACCESSKEYmenjadi ak dan kunci untukONE_PILOT_ACCESSKEY_SECRETmenjadi sk.
Kluster ACK serverless (ASK) dan kluster terintegrasi ECI
Lengkapi otorisasi di halaman Resource Access Authorization, lalu restart semua pod komponen ack-onepilot.
Langkah 2: Instal komponen ack-onepilot
-
Masuk ke Konsol ACK. Pada halaman Clusters, klik nama kluster.
Di panel navigasi kiri, klik Component Management dan cari ack-onepilot.
PentingPastikan versi ack-onepilot adalah 3.2.0 atau lebih baru.
-
Klik Install pada kartu ack-onepilot.
CatatanSecara default, komponen ack-onepilot mendukung 1.000 pod. Untuk setiap tambahan 1.000 pod di kluster, Anda harus menambahkan 0,5 core CPU dan memori 512 MB untuk komponen tersebut.
-
Pada kotak dialog yang muncul, konfigurasikan parameter lalu klik OK. Kami menyarankan Anda menggunakan nilai default.
CatatanSetelah menginstal ack-onepilot, Anda dapat melakukan upgrade, mengonfigurasi, atau menguninstalnya di halaman Add-ons.
Langkah 3: Kompilasi gambar aplikasi Go
(Opsional) Jika proyek Anda menyertakan direktori vendor, tambahkan
-mod=vendorsetelahgo build.Gunakan perintah
wgetuntuk mengunduh tool kompilasi instgo, dan pilih alamat unduhan yang sesuai dengan lingkungan kompilasi dan wilayah mesin kompilasi Anda.Perhatikan bahwa instgo secara otomatis memperbarui dirinya sendiri selama kompilasi. Simpan instgo di direktori tempat pengguna build memiliki izin tulis.
CatatanInstgo adalah tool build yang disediakan ARMS untuk aplikasi Go. Setelah Anda mengompilasi proyek Go menggunakan instgo, ARMS dapat memantau aplikasi Go Anda.
Tool build ini sama di semua wilayah. Jika jaringan publik Anda dapat mengakses URL OSS, Anda dapat mengunduh tool tersebut dari titik akhir publik untuk wilayah China (Hangzhou) yang sesuai dengan sistem operasi dan arsitektur Anda.
Berikan izin eksekusi pada tool build tersebut.
Linux dan Mac
# Berikan izin eksekusi chmod +x instgoWindows
Di Windows, Anda tidak perlu memberikan izin eksekusi.
(Opsional) Konfigurasikan UID sebagai parameter build.
PentingJika Anda melewatkan langkah ini, instgo akan menginstal versi terbaru agen ARMS secara default.
Gunakan perintah set untuk mengonfigurasi UID atau kunci lisensi sebagai parameter build.
instgo set --uid={YourAliyunUid} // Anda harus menggunakan instgo versi 1.4.5 atau lebih baru. uid adalah UID akun Alibaba Cloud utama Anda.Tambahkan awalan instgo pada perintah build asli Anda.
instgo go build {arg1} {arg2} {arg3}Metode ini juga berlaku jika Anda menggunakan go install.
Buat gambar menggunakan file biner yang dihasilkan pada langkah sebelumnya.
Langkah 4: Aktifkan pemantauan ARMS untuk aplikasi Go
Templat YAML berikut menunjukkan contoh lengkap cara membuat aplikasi tanpa status (Deployment) dan mengaktifkan pemantauan aplikasi ARMS:
-
Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.
Di bagian atas halaman Clusters, pilih kelompok sumber daya dan wilayah tempat kluster target berada, lalu klik nama kluster target tersebut. Di panel navigasi kiri, klik Workloads dan pilih Stateless, StatefulSets, atau DaemonSets.
Temukan aplikasi target dan pilih di kolom Actions.
Untuk membuat aplikasi baru, klik Create Resources in YAML.
Pada file YAML, tambahkan
labelsberikut ke level spec.template.metadata.labels: aliyun.com/app-language: golang # Wajib untuk aplikasi Go. Ini menunjukkan bahwa ini adalah aplikasi Go. armsPilotAutoEnable: 'on' armsPilotCreateAppName: "<YOUR-DEPLOYMENT-NAME>" # Ganti <YOUR-DEPLOYMENT-NAME> dengan nama aplikasi Anda.Klik Update.
Hasil
Sekitar satu menit kemudian, agen terhubung jika aplikasi Go Anda muncul di halaman di Konsol ARMS dan sedang melaporkan data.
> Edit YAML