Untuk memantau aplikasi Go yang diterapkan di Container Service for Kubernetes (ACK) atau Container Compute Service (ACS), Anda harus menginstal komponen ack-onepilot dan mengompilasi file biner Go Anda. Data pemantauan—seperti topologi aplikasi, panggilan antarmuka, dan analisis database—kemudian dapat dilihat di konsol Application Real-Time Monitoring Service (ARMS). Topik ini menjelaskan cara menginstal agen untuk aplikasi Go di Container Service for Kubernetes (ACK) atau Container Compute Service (ACS).
Jika Anda memiliki pertanyaan tentang penggunaan agen Go, hubungi kami melalui grup DingTalk kami (ID: 159215000379).
Prasyarat
Kluster ACK atau ACS telah dibuat.
Kluster ACK: Anda dapat membuat kluster ACK yang dikelola, kluster khusus ACK, kluster ACK Serverless, atau kluster terdaftar, sesuai kebutuhan bisnis Anda.
Kluster ACS: Untuk informasi tentang cara membuat kluster ACS, lihat Buat kluster ACS.
Buat namespace. Topik ini menggunakan default sebagai nama namespace. Untuk informasi selengkapnya, lihat Kelola namespace dan kuota.
Periksa sistem operasi, arsitektur, versi Go, dan versi framework saat kompilasi. Untuk informasi selengkapnya, lihat Komponen dan framework Go yang didukung oleh Pemantauan Aplikasi.
Langkah 1: Berikan izin akses sumber daya ARMS
Kluster ACK yang dikelola
Jika token ARMS Addon tidak ada di kluster ACK yang dikelola Anda, Anda harus memberikan izin akses kluster ke sumber daya ARMS secara manual. Jika token sudah ada, Anda dapat langsung menuju ke Langkah 4.
Jika kluster memiliki token ARMS Addon, ARMS melakukan otorisasi tanpa kata sandi pada kluster tersebut. Token ARMS Addon mungkin tidak ada di beberapa kluster ACK yang dikelola. Disarankan agar Anda memeriksa apakah kluster ACK yang dikelola memiliki token ARMS Addon sebelum menggunakan ARMS untuk memantau aplikasi di kluster tersebut. Jika kluster tidak memiliki token ARMS Addon, Anda harus memberikan otorisasi agar kluster dapat mengakses ARMS.
Kluster khusus ACK/kluster terdaftar
Untuk memantau aplikasi yang diterapkan di kluster khusus ACK atau kluster terdaftar, pastikan izin AliyunARMSFullAccess dan AliyunSTSAssumeRoleAccess telah diberikan kepada pengguna Resource Access Management (RAM) Anda.
Setelah menginstal komponen ack-onepilot, masukkan ID AccessKey dan Rahasia AccessKey akun ke dalam file konfigurasi ack-onepilot.
Metode 1: Masukan di Hem
Masuk ke konsol ACK. Di panel navigasi sebelah kiri, klik Clusters.
Pada halaman Clusters, klik kluster yang ingin Anda kelola. Di panel navigasi sebelah kiri halaman yang muncul, pilih . Lalu, klik Perbarui di samping ack-onepilot.
Ganti
accessKeydanaccessKeySecretdengan ID AccessKey dan Rahasia AccessKey akun, lalu klik OK.CatatanRahasia AccessKey hanya terlihat saat pembuatan awal pasangan AccessKey Alibaba Cloud dan tidak dapat diambil kembali setelah itu. Desain ini mengurangi risiko kebocoran. Simpan Rahasia tersebut dengan aman segera setelah dibuat.

Mulai ulang Deployment.
Metode 2: Impor melalui Secret Kubernetes
Masuk ke konsol ACK. Di panel navigasi sebelah kiri, klik Clusters.
Pada halaman Clusters, klik kluster yang ingin Anda kelola. Di panel navigasi sebelah kiri halaman yang muncul, pilih .
Klik Create. Pada panel yang muncul, klik Add dan tambahkan ID AccessKey dan Rahasia AccessKey untuk ack-onepilot.
CatatanRahasia AccessKey hanya terlihat saat pembuatan awal pasangan AccessKey Alibaba Cloud dan tidak dapat diambil kembali setelah itu. Desain ini mengurangi risiko kebocoran. Simpan Rahasia tersebut dengan aman segera setelah dibuat.

Di panel navigasi sebelah kiri, pilih . Pada halaman yang muncul, klik komponen ack-onepilot. Biasanya, komponen ini bernama ack-onepilot-ack-onepilot di namespace ack-onepilot.
Di pojok kanan atas halaman yang muncul, klik Edit.
Gulir ke bawah hingga Anda melihat bagian Environments. Klik Add, tambahkan variabel lingkungan
ONE_PILOT_ACCESSKEYdanONE_PILOT_ACCESSKEY_SECRET, referensikan Secret di Secret Kubernetes, lalu klik OK.
Kluster ASK/ECI
Untuk memantau aplikasi di kluster ACK Serverless (ASK) atau aplikasi di kluster Kubernetes yang terhubung ke Elastic Container Instance, Anda harus terlebih dahulu memberikan otorisasi agar kluster dapat mengakses ARMS di halaman Otorisasi Akses Sumber Daya Cloud. Kemudian, mulai ulang semua pod tempat komponen ack-onepilot diterapkan.
Langkah 2: Instal helper agen ARMS (ack-onepilot)
Masuk ke konsol ACK. Pada halaman Clusters, klik nama kluster.
Di panel navigasi sebelah kiri, klik Component Management. Lalu, 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, konfigurasi parameter dan klik OK. Disarankan agar Anda menggunakan nilai default.
CatatanSetelah menginstal ack-onepilot, Anda dapat memperbarui, mengonfigurasi, atau menguninstall-nya di halaman Add-ons.
Langkah 3: Kompilasi citra aplikasi Golang
(Opsional) Jika proyek Anda menggunakan mode vendor untuk kompilasi atau parameter kompilasi mencakup
-mod=vendor, periksa hal berikut:Periksa apakah file go.mod berisi dependensi `google.golang.org/protobuf`, baik secara langsung maupun tidak langsung. Jika tidak, lihat petunjuk berikut:
Periksa apakah parameter kompilasi mencakup
-mod=vendor. Jika tidak, tambahkan-mod=vendorsetelahgo build.
Gunakan perintah
wgetuntuk mengunduh alat kompilasi instgo. Pilih alamat unduhan berdasarkan lingkungan kompilasi dan wilayah mesin Anda.Perhatikan bahwa instgo diperbarui secara otomatis saat kompilasi. Simpan instgo di folder tempat Anda memiliki izin modifikasi.
CatatanInstgo adalah alat kompilasi yang disediakan oleh ARMS untuk aplikasi Go. Setelah Anda mengompilasi proyek Go Anda dengan instgo, ARMS dapat memantau aplikasi Anda.
Alat kompilasi ini sama untuk semua wilayah. Jika lingkungan Anda dapat mengakses Object Storage Service (OSS) melalui internet, Anda dapat menggunakan alamat unduhan internet untuk Tiongkok (Hangzhou) sesuai sistem operasi dan arsitektur Anda.
Berikan izin eksekusi pada alat kompilasi.
Linux/Mac
# Berikan izin eksekusi chmod +x instgoWindows
Tidak diperlukan izin eksekusi untuk Windows.
Dapatkan LicenseKey dan konfigurasi parameter kompilasi.
PentingJika Anda melewatkan langkah ini, instgo akan masuk ke mode dev dan menginstal versi terbaru agen ARMS secara default. Untuk menerapkan aplikasi Anda di lingkungan produksi, Anda harus mengonfigurasi parameter berikut.
Dapatkan LicenseKey dengan memanggil operasi OpenAPI DescribeTraceLicenseKey.
Di halaman DescribeTraceLicenseKey, klik Debug. Pilih wilayah dan klik Lakukan Panggilan untuk mendapatkan LicenseKey.

Setelah mendapatkan LicenseKey, gunakan perintah
setuntuk mengonfigurasi parameter kompilasi.instgo set --licenseKey=${YourLicenseKey}
Tambahkan `instgo` sebagai awalan pada perintah kompilasi asli Anda dan jalankan perintah tersebut.
instgo go build {arg1} {arg2} {arg3}Jika Anda menggunakan `go install` untuk mengompilasi proyek, Anda juga dapat menambahkan `instgo` sebagai awalan pada perintah tersebut.
Buat citra menggunakan file biner yang dikompilasi pada langkah sebelumnya.
Langkah 4: Aktifkan Pemantauan Aplikasi untuk aplikasi Go
Templat YAML berikut menunjukkan cara membuat aplikasi tanpa status (Deployment) dan mengaktifkan Pemantauan Aplikasi untuknya:
Masuk ke konsol ACK. Di panel navigasi sebelah kiri, klik Clusters.
Di bagian atas halaman Clusters, pilih wilayah dan kelompok sumber daya tempat kluster target berada, lalu klik nama kluster target. Di panel navigasi sebelah kiri, klik Workloads. Lalu, pilih Deployments, StatefulSets, atau DaemonSets.
Temukan aplikasi target dan pilih .
Untuk membuat aplikasi baru, klik Create From YAML.
Tambahkan
labelberikut di bawah spec.template.metadata dalam file YAML.labels: aliyun.com/app-language: golang # Diperlukan untuk aplikasi Go. Menentukan bahwa ini adalah aplikasi Go. armsPilotAutoEnable: 'on' armsPilotCreateAppName: "<nama-deployment-anda>" # Ganti <nama-deployment-anda> dengan nama aplikasi Anda.
Klik Update.
Hasil eksekusi
Setelah sekitar satu menit, periksa apakah aplikasi Go muncul di halaman di konsol ARMS dan apakah data dilaporkan. Jika ya, agen berhasil diinstal.

> Edit YAML