Tous les produits
Search
Centre de documentation

Container Service for Kubernetes:Surveillance de la topologie du cluster

Dernière mise à jour :Sep 20, 2026

La solution Application Monitoring eBPF Edition d'Alibaba Cloud est une solution d'observabilité tout-en-un conçue pour les clusters Kubernetes. Après avoir installé le module complémentaire Application Monitoring eBPF Edition, vous pouvez consulter les métriques, les traces, les journaux et les événements de votre cluster Kubernetes.

Avertissement

La fonctionnalité d'observabilité Application Monitoring eBPF Edition n'est plus maintenue. Dans Container Service for Kubernetes (ACK), cette fonctionnalité est prise en charge par le module complémentaire ack-arms-cmonitor. Pour plus d'informations, consultez la page [[Product Change] Notice of Discontinuation for Application Monitoring eBPF Edition](https://www.alibabacloud.com/help/zh/arms/product-overview/product-changes-discontinuity-of-public-preview-for-application-monitoring-ebpf).

Prérequis

Contexte

Dans Kubernetes, il est essentiel de surveiller l'état des charges de travail et le débit du trafic. La solution Application Monitoring eBPF Edition utilise une méthode non intrusive pour collecter les données de performance Rate, Errors et Duration (RED) à partir des conteneurs, ce qui vous aide à identifier rapidement les problèmes liés aux pods et aux performances. Elle met automatiquement en corrélation les données avec le service correspondant et les charges de travail du contrôleur, telles que les déploiements, les StatefulSets et les DaemonSets, afin de réduire le temps de détection. Pour plus d'informations, consultez la rubrique Présentation de la solution Application Monitoring eBPF Edition

Intégration initiale

Pour connecter votre cluster Kubernetes à la solution Application Monitoring eBPF Edition, installez les modules complémentaires de surveillance suivants :

  • Module complémentaire Managed Service for Prometheus : ack-arms-prometheus

    Remarque

    Les métriques de la solution Application Monitoring eBPF Edition dépendent de Managed Service for Prometheus. Vous devez donc installer au préalable le module complémentaire Managed Service for Prometheus.

  • Module complémentaire Application Monitoring eBPF Edition : ack-arms-cmonitor

    Avant d'installer le module complémentaire ack-arms-cmonitor, vérifiez si un jeton ARMS Addon Token existe dans le cluster. Sinon, vous rencontrerez une erreur d'autorisations insuffisantes. Si le jeton existe, ARMS effectue une autorisation sans mot de passe. Une fois le module complémentaire installé, vous pouvez utiliser la solution Application Monitoring eBPF Edition. Si le jeton n'existe pas, vous devez attacher manuellement les stratégies pour ARMS et Tracing Analysis.

    Les sections suivantes expliquent comment vérifier la présence d'un jeton ARMS Addon Token et attacher manuellement les stratégies d'autorisation requises.

    Vérifier la présence du jeton ARMS Addon Token

    1. Connectez-vous à la console ACK. Dans le volet de navigation de gauche, cliquez sur Clusters.

    2. Sur la page Clusters, cliquez sur le nom du cluster cible. Dans le volet de navigation de gauche, choisissez Configurations > Secrets.

    3. En haut de la page Secrets, sélectionnez kube-system dans la liste déroulante Namespace et vérifiez si addon.arms.token existe.

    Accorder des autorisations manuellement

    1. Connectez-vous à la console ACK. Dans le volet de navigation de gauche, cliquez sur Clusters.

    2. Sur la page Clusters, cliquez sur le nom de votre cluster. Dans le volet de navigation de gauche, cliquez sur Cluster Information.

    3. Sur la page Cluster Information, cliquez sur l'onglet Basic Information. Dans la section Cluster Resources, cliquez sur le lien situé à droite de Worker RAM Role.

    4. Dans la console RAM, accordez les autorisations AliyunTracingAnalysisFullAccess et AliyunARMSFullAccess au rôle.

      1. Sur la page Role, sous l'onglet Permissions, cliquez sur Attach Policy.

      2. Dans le panneau Attach Policy, recherchez et sélectionnez les deux stratégies suivantes dans la section Policies, puis cliquez sur OK.

        • AliyunTracingAnalysisFullAccess : accorde des autorisations complètes pour Tracing Analysis.

        • AliyunARMSFullAccess : accorde des autorisations complètes pour ARMS.

    Remarque
    • Cluster ACK managé : certains clusters ACK managés peuvent ne pas disposer de jeton ARMS Addon Token. Vérifiez d'abord la présence du jeton. S'il n'existe pas, vous devez accorder les autorisations manuellement.

    • Cluster ACK dédié : ces clusters ne disposent pas de jeton ARMS Addon Token par défaut. Vous devez accorder les autorisations manuellement.

Intégration avec la solution Application Monitoring eBPF Edition

Intégration manuelle

Pour les applications existantes

Si vous avez déjà installé le composant Application Monitoring eBPF Edition, accédez à la page Operations > Component Management de votre cluster dans la console ACK et assurez-vous que la version du composant ack-arms-cmonitor est 4.0.0 ou ultérieure. Si la version est antérieure, cliquez sur Upgrade.

  1. Connectez-vous à la console ACK. Sur la page Clusters, cliquez sur le nom du cluster cible.

  2. Dans le volet de navigation de gauche, choisissez Operations > Cluster Topology.

  3. Sur la page Cluster Topology, cliquez sur Install. La console ACK installe automatiquement le composant Application Monitoring eBPF Edition.

    Remarque

    Le namespace par défaut est arms-prom.

  4. Pour un cluster dédié, vous devez mettre à jour la configuration de la paire de clés AccessKey.

    1. Dans le volet de navigation de gauche, choisissez Application > Helm.

    2. Recherchez arms-cmonitor et cliquez sur Update. Définissez les paramètres accessKey et accessKeySecret avec l'ID de clé AccessKey et le secret AccessKey de votre compte Alibaba Cloud. Pour plus d'informations, consultez la rubrique Obtenir une paire de clés AccessKey.

      Important

      Assurez-vous que les stratégies AliyunARMSFullAccess et AliyunSTSAssumeRoleAccess sont attachées au compte Alibaba Cloud.

    3. Cliquez sur OK.

Pour les nouvelles applications

  1. Connectez-vous à la console ACK. Sur la page Clusters, recherchez le cluster cible et cliquez sur Applications dans la colonne Actions.

  2. Sur la page Stateless, cliquez sur Create from YAML.

  3. Sélectionnez Sample Template. Dans l'éditeur Template (format YAML), ajoutez les labels suivants sous la section spec.template.metadata.

    labels:
      armseBPFAutoEnable: "on"
      armseBPFCreateAppName: "<your-deployment-name>"    # Replace <your-deployment-name> with your application name.

    L'exemple YAML suivant crée un déploiement et active la solution ARMS Application Monitoring eBPF Edition :

    Exemple 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 in order 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 in order to receive traffic for this service
      selector:
        app: mysql

Intégration automatique

  1. Connectez-vous à la console ARMS.

  2. Dans le volet de navigation de gauche, cliquez sur Integration Center. Dans la section Server-side Applications, cliquez sur la carte Application Monitoring eBPF Edition.

  3. Suivez les instructions à l'écran pour terminer l'intégration avec la solution Application Monitoring eBPF Edition.

  4. Vous pouvez afficher toutes les applications et tous les composants intégrés à ARMS sur la page Integration Management.

    Sur la page Integration Management, cliquez sur le nom d'un cluster pour afficher ses informations de base, les composants intégrés et les métriques collectées, explorer les métriques ou configurer les paramètres de l'agent.