全部产品
Search
文档中心

Container Service for Kubernetes:Pemantauan Topologi Cluster

更新时间:Jul 06, 2025

Alibaba Cloud Application Monitoring eBPF Edition adalah rangkaian layanan observabilitas yang dikembangkan berdasarkan teknologi Extended Berkeley Packet Filter (eBPF) untuk klaster Kubernetes. Setelah menginstal komponen Application Monitoring eBPF Edition, Anda dapat memantau klaster Kubernetes berdasarkan metrik, jejak, log, dan peristiwa.

Prasyarat

Informasi latar belakang

Dalam Kubernetes, pemantauan status beban dan throughput lalu lintas sangat penting. Application Monitoring eBPF Edition mengumpulkan data performa Rate, Errors, dan Duration (RED) dari kontainer tanpa intrusi kode, secara efisien menemukan pod dan masalah performanya. Ini juga menghubungkan Services dan beban kerja controller seperti Deployments, StatefulSets, dan DaemonSets, meningkatkan efisiensi pemecahan masalah. Untuk informasi lebih lanjut, lihat Apa itu Application Monitoring eBPF Edition.

Sambungkan ke klaster ACK

Untuk menyambungkan klaster ACK ke Application Monitoring eBPF Edition, instal agen pemantauan berikut dalam klaster:

  • Agen Pemantauan Prometheus: ack-arms-prometheus

    Catatan

    Metrik yang digunakan dalam Application Monitoring eBPF Edition dikumpulkan oleh Managed Service for Prometheus. Oleh karena itu, Anda harus menginstal agen Managed Service for Prometheus.

  • Komponen Application Monitoring eBPF Edition: ack-arms-cmonitor

    Sebelum menginstal ack-arms-cmonitor dalam klaster, pastikan ARMS Addon Token tersedia. Jika ARMS Addon Token ada, ARMS akan melakukan otorisasi tanpa kata sandi. Setelah agen diinstal, Anda dapat menggunakan Application Monitoring eBPF Edition. Jika ARMS Addon Token tidak ada, kesalahan akan muncul karena izin yang tidak mencukupi. Anda harus melampirkan kebijakan yang memberikan izin penuh pada ARMS dan Tracing Analysis ke Peran RAM pekerja.

    Berikut ini menjelaskan cara memeriksa apakah ARMS Addon Token ada dan cara melampirkan kebijakan ke Peran RAM pekerja:

    Periksa apakah klaster memiliki ARMS Addon Token

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

    2. Di halaman Clusters, klik nama klaster yang ingin dikelola dan pilih Configurations > Secrets di panel navigasi sisi kiri.

    3. Di bagian atas halaman Secret, pilih kube-system dari daftar drop-down Namespace dan periksa apakah addon.arms.token ada.

    Lampirkan kebijakan yang memberikan izin penuh pada ARMS dan Tracing Analysis ke Peran RAM pekerja

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

    2. Di halaman Clusters, temukan klaster yang diinginkan dan klik namanya. Di panel sisi kiri, klik Cluster Information.

    3. Klik Basic Information di halaman detail klaster. Di bagian Cluster Resources, klik hyperlink di sebelah kanan Worker RAM Role.

    4. Di konsol RAM, berikan AliyunTracingAnalysisFullAccess dan AliyunARMSFullAccess izin untuk peran tersebut.

      1. Pada tab Permission, klik Grant Permission.

      2. Di bagian Policy dari panel Grant Permission, pilih kebijakan berikut, dan klik Grant permissions:

        • AliyunTracingAnalysisFullAccess: memberikan izin penuh pada Tracing Analysis.

        • AliyunARMSFullAccess: memberikan izin penuh pada ARMS.

    Catatan
    • Klaster Terkelola ACK: ARMS Addon Token mungkin tidak ada di beberapa klaster terkelola ACK. Jika Anda menggunakan klaster terkelola ACK, disarankan untuk memeriksa apakah ARMS Addon Token ada. Jika ARMS Addon Token tidak ada, Anda harus menyelesaikan otorisasi secara manual.

    • Klaster Khusus ACK: Secara default, klaster khusus ACK tidak memiliki ARMS Addon Token. Anda harus menyelesaikan otorisasi secara manual.

Integrasikan aplikasi ke Application Monitoring eBPF Edition

Integrasi manual

Instal komponen untuk aplikasi yang ada

Jika agen ack-arms-cmonitor telah diinstal di aplikasi Anda, periksa apakah versinya 4.0.0 atau lebih baru. Masuk ke Konsol ACK, pilih Operations > Add-ons di panel navigasi sisi kiri halaman detail klaster. Jika versinya lebih lama dari 4.0.0, klik Tingkatkan untuk meningkatkan agen ke versi terbaru. Untuk menginstal agen ack-arms-cmonitor, ikuti langkah-langkah berikut:

  1. Masuk ke Konsol ACK. Di panel navigasi sisi kiri, klik Clusters. Di halaman Klaster, klik nama klaster.

  2. Di panel navigasi sisi kiri, pilih Operasi > Topologi Klaster.

  3. Di halaman Cluster Topology, klik Instal. Konsol ACK secara otomatis menginstal agen.

    Catatan

    Namespace default adalah arms-prom.

  4. Jika Anda menggunakan klaster khusus ACK, perbarui pasangan AccessKey.

    1. Di panel navigasi sisi kiri, pilih Applications > Helm.

    2. Temukan arms-cmonitor dan klik Perbarui. Atur parameter accessKey dan accessKeySecret ke ID AccessKey dan rahasia akun Alibaba Cloud Anda. Untuk informasi lebih lanjut, lihat Dapatkan Pasangan AccessKey Pusat Utama.

      Penting

      Anda harus memastikan bahwa kebijakan AliyunARMSFullAccess dan AliyunSTSAssumeRoleAccess dilampirkan ke akun Alibaba Cloud Anda.

    3. Klik OK.

Instal komponen saat membuat aplikasi baru

  1. Masuk ke Konsol ACK. Di halaman Clusters, temukan klaster dan klik Applications di kolom Actions.

  2. Di halaman Deployments, klik Create from YAML.

  3. Pilih template dari daftar drop-down Sample Template dan tambahkan label berikut ke direktori spec.template.metadata di template YAML.

    labels:
      armseBPFAutoEnable: "on"
      armseBPFCreateAppName: "<your-deployment-name>"    //Ganti <your-deployment-name> dengan nama aplikasi.

    Template YAML berikut menunjukkan cara membuat Deployment dan mengaktifkan Application Monitoring eBPF Edition:

    Lihat Template YAML

    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
            armseBPFAutoEnable: "on"
            armseBPFCreateAppName: "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 # for versions before 1.8.0 use 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
            armseBPFAutoEnable: "on"
            armseBPFCreateAppName: "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
    --

Integrasi otomatis

  1. Masuk ke Konsol ARMS.

  2. Di panel navigasi sisi kiri, klik Integration Center. Di bagian Server Applications, klik kartu eBPF Application Monitor.

  3. Di panel yang muncul, atur parameter sesuai petunjuk untuk mengintegrasikan Application Monitoring eBPF Edition.

  4. Di panel navigasi sisi kiri, klik Integration Management. Anda dapat melihat semua aplikasi dan layanan yang diintegrasikan ke dalam ARMS.

    Di tab Integrated Environments halaman Integration Management, klik nama klaster ACK untuk melihat informasi dasar, komponen yang diaktifkan, dan metrik klaster. Anda juga dapat mengeksplorasi metrik dan mengonfigurasi agen ARMS.