Tous les produits
Search
Centre de documentation

Container Service for Kubernetes:Cluster topology monitoring

Dernière mise à jour :Aug 11, 2026

La solution Application Monitoring eBPF Edition d'Alibaba Cloud est une solution d'observabilité tout-en-un conçue pour les clusters Kubernetes. Une fois le composant Application Monitoring eBPF Edition installé, 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 identifiée par et repose sur le composant ack-arms-cmonitor. Pour plus d'informations, consultez la rubrique [[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 collecte de manière non intrusive les données de performance RED (Rate, Errors, Duration) des conteneurs pour vous aider à identifier rapidement les problèmes liés aux pods et aux performances. Elle corrèle automatiquement ces données avec le service correspondant et les charges de travail du contrôleur (Deployments, StatefulSets et DaemonSets), ce qui réduit le temps de détection. Pour plus d'informations, consultez la rubrique Présentation de la solution Application Monitoring eBPF Edition

Mise en route

Pour connecter votre cluster Kubernetes à la solution Application Monitoring eBPF Edition, installez les composants de surveillance suivants :

  • Composant 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. Installez donc d'abord le composant Managed Service for Prometheus.

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

    Avant d'installer le composant ack-arms-cmonitor, vérifiez la présence d'un jeton ARMS Addon Token dans le cluster. Sinon, une erreur d'autorisations insuffisantes se produira. Si le jeton existe, ARMS procède à une autorisation sans mot de passe. Une fois le composant installé, vous pouvez utiliser la solution Application Monitoring eBPF Edition. Si le jeton est absent, associez 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 associer 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 la présence de addon.arms.token.

    Accorder manuellement les autorisations

    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 est absent, accordez 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 le composant Application Monitoring eBPF Edition est déjà installé, accédez à la page Operations > Component Management de votre cluster dans la console ACK et vérifiez que le composant ack-arms-cmonitor est en version 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é, mettez à 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é d'accès (AccessKey ID) et la clé secrète d'accès (AccessKey Secret) 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 associées au compte Alibaba Cloud.

    3. Cliquez sur OK.

Pour les nouvelles applications

  1. Connectez-vous à la console ACK. Sur la page Clusters, localisez 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.