全部产品
Search
文档中心

Application Real-Time Monitoring Service:Instal agen Java di Container Service for Kubernetes (ACK) dan Container Compute Service (ACS) menggunakan komponen ack-onepilot

更新时间:Feb 03, 2026

Anda dapat menginstal komponen Pemantauan Aplikasi ARMS ack-onepilot untuk memantau aplikasi Java yang diterapkan di Container Service for Kubernetes ACK atau Container Compute Service ACS. Setelah instalasi, Anda dapat melihat topologi aplikasi, panggilan API, transaksi abnormal dan lambat, serta data pemantauan lainnya. Topik ini menjelaskan cara menginstal agen untuk aplikasi Java di Container Service for Kubernetes ACK dan Container Compute Service ACS.

Catatan

Prosedur instalasi agen di Container Service for Kubernetes ACK dan Container Compute Service ACS identik. Topik ini menggunakan Container Service for Kubernetes ACK sebagai contoh.

Ikhtisar komponen ack-onepilot

ARMS Agent Onboarding Assistant (ack-onepilot) adalah komponen utama yang membantu pengguna ARMS secara otomatis menyiapkan paket agen ARMS dan mengonfigurasi lingkungan pelaporan di lingkungan terkontainerisasi. Untuk informasi selengkapnya tentang cara kerja ack-onepilot, lihat Cara kerja ack-onepilot.

Setelah instalasi, ack-onepilot akan secara otomatis meningkatkan agen ke versi terbaru ketika aplikasi Anda dimulai ulang setelah rilis versi agen baru. Jika Anda tidak ingin pembaruan otomatis, Anda dapat mengontrol versi agen secara manual. Untuk informasi selengkapnya, lihat Mengontrol versi agen secara manual.

Penting

Komponen pemantauan aplikasi lama arms-pilot tidak lagi dipelihara. Anda harus menginstal komponen ack-onepilot yang telah ditingkatkan untuk memantau aplikasi Anda. ack-onepilot sepenuhnya kompatibel dengan arms-pilot, sehingga Anda dapat bermigrasi secara mulus tanpa mengubah konfigurasi aplikasi Anda. Untuk informasi selengkapnya, lihat Uninstal arms-pilot dan instal ack-onepilot.

Prasyarat

Langkah 1: Instal ARMS Agent Onboarding Assistant (ack-onepilot)

  1. Masuk ke Konsol ACK. Pada halaman Clusters, klik nama kluster.

  2. Di panel navigasi sebelah kiri, klik Add-ons. Pada halaman Add-ons, cari ack-onepilot.

  3. Klik Install pada kartu ack-onepilot.

    Catatan

    Secara 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.

  4. Pada kotak dialog yang muncul, konfigurasikan parameter dan klik OK. Kami menyarankan Anda menggunakan nilai default.

    Catatan

    Setelah menginstal ack-onepilot, Anda dapat melakukan peningkatan, mengonfigurasi, atau menguninstalnya di halaman Add-ons.

Langkah 2: Berikan izin akses ke resource ARMS

Kluster ACK yang dikelola

Jika kluster ACK yang dikelola Anda tidak memiliki ARMS Addon Token, Anda harus memberikan izin akses ke resource ARMS secara manual. Jika ARMS Addon Token sudah ada, lanjutkan ke Langkah 3.

Periksa apakah ARMS Addon Token ada di kluster

  1. Masuk ke ACK console. Di panel navigasi sebelah kiri, klik Clusters. Pada halaman Clusters, klik nama kluster untuk membuka halaman detailnya.

  2. Di panel navigasi sebelah kiri, pilih Configurations > Secrets. Di bagian atas halaman, pilih kube-system dari daftar drop-down Namespace dan periksa apakah addon.arms.token ditampilkan di halaman Secrets.

Catatan

Jika kluster memiliki ARMS Addon Token, ARMS melakukan otorisasi tanpa kata sandi pada kluster tersebut. ARMS Addon Token mungkin tidak ada di beberapa kluster ACK yang dikelola. Kami menyarankan Anda memeriksa apakah kluster ACK yang dikelola memiliki 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.

Tambahkan kebijakan izin secara manual

  1. Masuk ke Konsol ACK. Di panel navigasi sebelah kiri, klik Clusters. Pada halaman Clusters, klik nama kluster.

  2. Pada tab Basic Information di halaman Cluster Information, klik tautan di samping Worker RAM Role di bagian Cluster Resources.

  3. Pada halaman yang muncul, klik Grant Permission pada tab Permissions.

  4. Pada panel Grant Permission, tambahkan kebijakan berikut dan klik Grant permissions.

    • AliyunTracingAnalysisFullAccess: akses penuh ke Managed Service for OpenTelemetry.

    • AliyunARMSFullAccess: akses penuh ke ARMS.

Kluster khusus dan kluster terdaftar

Untuk memantau aplikasi di kluster khusus ACK dan kluster terdaftar ACK One, Anda harus memastikan bahwa Akun Alibaba Cloud Anda memiliki izin AliyunARMSFullAccess dan AliyunSTSAssumeRoleAccess. Untuk informasi selengkapnya tentang cara menambahkan izin, lihat Kelola izin untuk Pengguna RAM.

Setelah menginstal komponen ack-onepilot, Anda juga harus memberikan ID AccessKey dan Rahasia AccessKey dari Akun Alibaba Cloud yang memiliki izin ARMS kepada komponen ack-onepilot.

Metode 1: Tentukan ID AccessKey dan Rahasia AccessKey langsung di Helm

  1. Masuk ke Konsol ACK. Di panel navigasi sebelah kiri, klik Clusters.

  2. Pada halaman Clusters, klik nama kluster Anda. Di panel navigasi sebelah kiri, pilih Applications > Helm. Klik Update di samping komponen ack-onepilot.

  3. Ganti nilai accessKey dan accessKeySecret dengan ID AccessKey dan Rahasia AccessKey akun Anda. Lalu, klik OK.

    Catatan

    Untuk informasi selengkapnya tentang cara mendapatkan pasangan Kunci Akses, lihat Buat pasangan Kunci Akses.

    image

  4. Mulai ulang deployment aplikasi.

Metode 2: Gunakan secret Kubernetes untuk menyediakan ID AccessKey dan Rahasia AccessKey

  1. Masuk ke Konsol Container Service for Kubernetes. Di panel navigasi sebelah kiri, pilih Clusters.

  2. Pada halaman Clusters, klik nama kluster Anda. Di panel navigasi sebelah kiri, pilih Configurations > Secrets.

  3. Pilih namespace ack-onepilot dan buat secret untuk menyimpan ID AccessKey dan Rahasia AccessKey.

    Catatan

    Untuk informasi selengkapnya tentang cara mendapatkan pasangan Kunci Akses, lihat Buat pasangan Kunci Akses.

    image

  4. Di panel navigasi sebelah kiri, pilih Workloads > Deployments. Klik komponen ack-onepilot. Komponen tersebut biasanya bernama ack-onepilot-ack-onepilot dan berada di namespace ack-onepilot.

  5. Di pojok kanan atas halaman ack-onepilot-ack-onepilot, klik Edit. Di bagian Environment Variables, tambahkan ONE_PILOT_ACCESSKEY dan ONE_PILOT_ACCESSKEY_SECRET, dan referensikan nilai yang disimpan di secret tersebut. Lalu, klik OK.

    image

Kluster ASK/ECI

Untuk memantau aplikasi di kluster ACK serverless atau kluster yang terintegrasi dengan ECI, Anda harus menyelesaikan otorisasi di halaman Resource Access Authorization. Kemudian, mulai ulang semua Pod komponen ack-onepilot.

Langkah 3: Aktifkan Pemantauan Aplikasi ARMS untuk aplikasi Java

Templat YAML berikut menunjukkan cara membuat aplikasi tanpa status (Deployment) dan mengaktifkan Pemantauan Aplikasi ARMS:

Perluas untuk melihat contoh YAML lengkap (Java)

apiVersion: v1
kind: Namespace
metadata:
  name: arms-demo
---
apiVersion: apps/v1 # for versions before 1.8.0 use apps/v1beta1
kind: Deployment
metadata:
  name: arms-springboot-demo
  namespace: arms-demo
  labels:
    app: arms-springboot-demo
spec:
  replicas: 2
  selector:
    matchLabels:
      app: arms-springboot-demo
  template:
    metadata:
      labels:
        app: arms-springboot-demo
        armsPilotAutoEnable: "on"
        armsPilotCreateAppName: "arms-k8s-demo"
    spec:
      containers:
        - resources:
            limits:
              cpu: 0.5
          image: registry.cn-hangzhou.aliyuncs.com/arms-docker-repo/arms-springboot-demo:v0.1
          imagePullPolicy: Always
          name: arms-springboot-demo
          env:
            - name: SELF_INVOKE_SWITCH
              value: "true"
            - name: COMPONENT_HOST
              value: "arms-demo-component"
            - name: COMPONENT_PORT
              value: "6666"
            - name: MYSQL_SERVICE_HOST
              value: "arms-demo-mysql"
            - name: MYSQL_SERVICE_PORT
              value: "3306"
---
apiVersion: apps/v1 
kind: Deployment
metadata:
  name: arms-springboot-demo-subcomponent
  namespace: arms-demo
  labels:
    app: arms-springboot-demo-subcomponent
spec:
  replicas: 2
  selector:
    matchLabels:
      app: arms-springboot-demo-subcomponent
  template:
    metadata:
      labels:
        app: arms-springboot-demo-subcomponent
        armsPilotAutoEnable: "on"
        armsPilotCreateAppName: "arms-k8s-demo-subcomponent"
    spec:
      containers:
        - resources:
            limits:
              cpu: 0.5
          image: registry.cn-hangzhou.aliyuncs.com/arms-docker-repo/arms-springboot-demo:v0.1
          imagePullPolicy: Always
          name: arms-springboot-demo-subcomponent
          env:
            - name: SELF_INVOKE_SWITCH
              value: "false"
            - name: MYSQL_SERVICE_HOST
              value: "arms-demo-mysql"
            - name: MYSQL_SERVICE_PORT
              value: "3306"
---
apiVersion: v1
kind: Service
metadata:
  labels:
    name: arms-demo-component
  name: arms-demo-component
  namespace: arms-demo
spec:
  ports:
    # the port that this service should serve on
    - name: arms-demo-component-svc
      port: 6666
      targetPort: 8888
  # label keys and values that must match to receive traffic for this service
  selector:
    app: arms-springboot-demo-subcomponent
---
apiVersion: apps/v1 # for versions before 1.8.0 use apps/v1beta1
kind: Deployment
metadata:
  name: arms-demo-mysql
  namespace: arms-demo
  labels:
    app: mysql
spec:
  replicas: 1
  selector:
    matchLabels:
      app: mysql
  template:
    metadata:
      labels:
        app: mysql
    spec:
      containers:
        - resources:
            limits:
              cpu: 0.5
          image: registry.cn-hangzhou.aliyuncs.com/arms-docker-repo/arms-demo-mysql:v0.1
          name: mysql
          ports:
            - containerPort: 3306
              name: mysql
---
apiVersion: v1
kind: Service
metadata:
  labels:
    name: mysql
  name: arms-demo-mysql
  namespace: arms-demo
spec:
  ports:
    # the port that this service should serve on
    - name: arms-mysql-svc
      port: 3306
      targetPort: 3306
  # label keys and values that must match to receive traffic for this service
  selector:
    app: mysql
---
  1. Masuk ke Konsol ACK. Di panel navigasi sebelah kiri, klik Clusters.

  2. Pada halaman Stateless, pilih image > YAML Edit di sebelah kanan aplikasi target.

    Untuk membuat aplikasi baru, klik Create from YAML.

  3. Dalam file YAML, tambahkan labels berikut ke bagian `spec.template.metadata`:

    labels:
      armsPilotAutoEnable: "on"
      armsPilotCreateAppName: "<your-deployment-name>"    # Ganti <your-deployment-name> dengan nama aplikasi Anda.
      aliyun.com/app-language: java
    Catatan

    YAML Example

  4. Klik Update.

    Pada halaman Stateless, klik image > ARMS Console di kolom Actions aplikasi target untuk melihat detail pemantauan aplikasi.

    image.png

FAQ