全部产品
Search
文档中心

Application Real-Time Monitoring Service:Pasang agen ARMS untuk Java ke layanan yang menggunakan Istio

更新时间:Jul 06, 2025

Sebelum aplikasi Java dimulai, komponen ack-onepilot menggunakan init container untuk menyiapkan agen ARMS untuk Java. Jika baik ack-onepilot maupun Istio digunakan, Anda perlu memperbarui ack-onepilot ke versi yang lebih baru atau mengonfigurasi versi sebelumnya dengan mempertimbangkan pengaturan jaringan yang berbeda di Istio dan kluster lainnya.

Langkah 1: Instal komponen ack-onepilot

Anda dapat memasang ack-onepilot di salah satu kluster berikut:

Catatan
  • Memperbarui ack-onepilot ke V3.0.19 atau lebih tinggi secara otomatis memodifikasi konfigurasi intersepsi Istio Proxy. Dalam hal ini, lewati Langkah 2.

  • Untuk menonaktifkan modifikasi otomatis, perbarui ack-onepilot ke V4.1.2 atau lebih tinggi dan atur variabel lingkungan ARMS_ISTIO_AUTO_INJECT_ENABLE dari ack-onepilot-ack-onepilot menjadi false:

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

    2. Di halaman Clusters, temukan kluster yang ingin Anda kelola dan klik namanya. Di panel di sebelah kiri, pilih Workloads > Deployments.

    3. Di halaman Deployments, klik komponen ack-onepilot. Umumnya, komponen ini bernama ack-onepilot-ack-onepilot dalam namespace ack-onepilot.

    4. Di pojok kanan atas halaman yang muncul, klik Edit.

    5. Geser ke bawah hingga Anda melihat bagian Environments. Klik Add, tambahkan variabel lingkungan ARMS_ISTIO_AUTO_INJECT_ENABLE, dan atur nilainya menjadi false.

Langkah 2: Modifikasi konfigurasi intersepsi Istio Proxy

  1. Tambahkan rentang VIP berikut ke anotasi pod. Pisahkan blok CIDR dengan koma (,).

    Lihat rentang VIP yang tidak diintersep oleh Istio Proxy

    Wilayah

    ID Wilayah

    Titik akhir VPC

    Rentang VIP

    Cina (Hangzhou)

    oss-cn-hangzhou

    oss-cn-hangzhou-internal.aliyuncs.com

    • 100.118.28.0/24

    • 100.114.102.0/24

    • 100.98.170.0/24

    • 100.118.31.0/24

    Cina (Shanghai)

    oss-cn-shanghai

    oss-cn-shanghai-internal.aliyuncs.com

    • 100.98.35.0/24

    • 100.98.110.0/24

    • 100.98.169.0/24

    • 100.118.102.0/24

    Cina (Qingdao)

    oss-cn-qingdao

    oss-cn-qingdao-internal.aliyuncs.com

    • 100.115.173.0/24

    • 100.99.113.0/24

    • 100.99.114.0/24

    • 100.99.115.0/24

    Cina (Beijing)

    oss-cn-beijing

    oss-cn-beijing-internal.aliyuncs.com

    • 100.118.58.0/24

    • 100.118.167.0/24

    • 100.118.170.0/24

    • 100.118.171.0/24

    • 100.118.172.0/24

    • 100.118.173.0/24

    Cina (Zhangjiakou)

    oss-cn-zhangjiakou

    oss-cn-zhangjiakou-internal.aliyuncs.com

    • 100.118.90.0/24

    • 100.98.159.0/24

    • 100.114.0.0/24

    • 100.114.1.0/24

    Cina (Hohhot)

    oss-cn-huhehaote

    oss-cn-huhehaote-internal.aliyuncs.com

    • 100.118.195.0/24

    • 100.99.110.0/24

    • 100.99.111.0/24

    • 100.99.112.0/24

    Cina (Ulanqab)

    oss-cn-wulanchabu

    oss-cn-wulanchabu-internal.aliyuncs.com

    • 100.114.11.0/24

    • 100.114.12.0/24

    • 100.114.100.0/24

    • 100.118.214.0/24

    Cina (Shenzhen)

    oss-cn-shenzhen

    oss-cn-shenzhen-internal.aliyuncs.com

    • 100.118.78.0/24

    • 100.118.203.0/24

    • 100.118.204.0/24

    • 100.118.217.0/24

    Cina (Heyuan)

    oss-cn-heyuan

    oss-cn-heyuan-internal.aliyuncs.com

    • 100.98.83.0/24

    • 100.118.174.0/24

    Cina (Guangzhou)

    oss-cn-guangzhou

    oss-cn-guangzhou-internal.aliyuncs.com

    • 100.115.33.0/24

    • 100.114.101.0/24

    Cina (Chengdu)

    oss-cn-chengdu

    oss-cn-chengdu-internal.aliyuncs.com

    • 100.115.155.0/24

    • 100.99.107.0/24

    • 100.99.108.0/24

    • 100.99.109.0/24

    Cina (Hong Kong)

    oss-cn-hongkong

    oss-cn-hongkong-internal.aliyuncs.com

    • 100.115.61.0/24

    • 100.99.103.0/24

    • 100.99.104.0/24

    • 100.99.106.0/24

    Jepang (Tokyo)

    oss-ap-northeast-1

    oss-ap-northeast-1-internal.aliyuncs.com

    • 100.114.211.0/24

    • 100.114.114.0/25

    Singapura

    oss-ap-southeast-1

    oss-ap-southeast-1-internal.aliyuncs.com

    • 100.118.219.0/24

    • 100.99.213.0/24

    • 100.99.116.0/24

    • 100.99.117.0/24

    Malaysia (Kuala Lumpur)

    oss-ap-southeast-3

    oss-ap-southeast-3-internal.aliyuncs.com

    • 100.118.165.0/24

    • 100.99.125.0/24

    • 100.99.130.0/24

    • 100.99.131.0/24

    Indonesia (Jakarta)

    oss-ap-southeast-5

    oss-ap-southeast-5-internal.aliyuncs.com

    100.114.98.0/24

    Jerman (Frankfurt)

    oss-eu-central-1

    oss-eu-central-1-internal.aliyuncs.com

    100.115.154.0/24

    Inggris (London)

    oss-eu-west-1

    oss-eu-west-1-internal.aliyuncs.com

    100.114.114.128/25

    AS (Silicon Valley)

    oss-us-west-1

    oss-us-west-1-internal.aliyuncs.com

    100.115.107.0/24

    AS (Virginia)

    oss-us-east-1

    oss-us-east-1-internal.aliyuncs.com

    • 100.115.60.0/24

    • 100.99.100.0/24

    • 100.99.101.0/24

    • 100.99.102.0/24

    SAU (Riyadh - Wilayah Mitra)

    me-central-1

    oss-me-central-1-internal.aliyuncs.com

    100.99.121.0/24

    Ambil wilayah Cina (Hangzhou) sebagai contoh:

      traffic.sidecar.istio.io/excludeOutboundIPRanges: "100.118.28.0/24,100.114.102.0/24,100.98.170.0/24,100.118.31.0/24"
  2. Modifikasi file YAML aplikasi dan tambahkan anotasi berikut ke bagian spec.template.metadata.

    image

    Lihat file YAML yang telah selesai

    apiVersion: v1
    kind: Namespace
    metadata:
      name: arms-demo
    ---
    apiVersion: apps/v1 # untuk versi sebelum 1.8.0 gunakan 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:
          annotations:
              traffic.sidecar.istio.io/excludeOutboundIPRanges: "100.118.28.0/24,100.114.102.0/24,100.98.170.0/24,100.118.31.0/24"
          labels:
            app: arms-springboot-demo
            armsPilotAutoEnable: "on"
            armsPilotCreateAppName: "arms-k8s-demo"
            one-agent.jdk.version: "OpenJDK18"
        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 # untuk versi sebelum 1.8.0 gunakan apps/v1beta1
    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"
            one-agent.jdk.version: "OpenJDK18"
        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:
        # port yang harus dilayani oleh service ini
        - name: arms-demo-component-svc
          port: 6666
          targetPort: 8888
      # label keys dan values yang harus cocok agar menerima lalu lintas untuk service ini
      selector:
        app: arms-springboot-demo-subcomponent
    ---
    apiVersion: apps/v1 # untuk versi sebelum 1.8.0 gunakan 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:
        # port yang harus dilayani oleh service ini
        - name: arms-mysql-svc
          port: 3306
          targetPort: 3306
      # label keys dan values yang harus cocok agar menerima lalu lintas untuk service ini
      selector:
        app: mysql
    ---