Todos los productos
Search
Centro de documentos

Container Service for Kubernetes:Cluster topology monitoring

Última actualización: Sep 20, 2026

Alibaba Cloud Application Monitoring eBPF Edition es una solución integral de observability diseñada para clústeres de Kubernetes. Una vez que instale el complemento Application Monitoring eBPF Edition, podrá consultar las métricas, trazas, registros y eventos de su clúster de Kubernetes.

Aviso

La función de observability de Application Monitoring eBPF Edition ya no recibe mantenimiento. En Container Service for Kubernetes (ACK), esta función es compatible con el complemento ack-arms-cmonitor. Para obtener más información, consulte [[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).

Requisitos previos

Contexto

En Kubernetes, monitorear el estado de las cargas de trabajo y el rendimiento del tráfico es fundamental. Application Monitoring eBPF Edition utiliza un método no intrusivo para recopilar datos de rendimiento RED (Rate, Errors y Duration) de los contenedores. Esto le permite identificar rápidamente problemas en los pods y en el rendimiento. Además, correlaciona automáticamente los datos con el servicio correspondiente y las cargas de trabajo del controlador, como Deployments, StatefulSets y DaemonSets, lo que reduce el tiempo de detección. Para obtener más información, consulte What is Application Monitoring eBPF Edition?

Incorporación

Para conectar su clúster de Kubernetes a Application Monitoring eBPF Edition, instale a continuación los complementos de monitoreo:

  • Complemento Managed Service for Prometheus: ack-arms-prometheus

    Nota

    Las métricas de Application Monitoring eBPF Edition dependen de Managed Service for Prometheus, por lo que debe instalar primero este complemento.

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

    Antes de instalar el complemento ack-arms-cmonitor, compruebe si existe un ARMS Addon Token en el clúster. De lo contrario, se producirá un error de permisos insuficientes. Si el token existe, ARMS ejecuta una autorización sin contraseña. Después de instalar el complemento, puede usar Application Monitoring eBPF Edition. Si el token no existe, debe adjuntar manualmente las políticas de ARMS y Tracing Analysis.

    En las siguientes secciones se describe cómo comprobar la existencia de un ARMS Addon Token y adjuntar manualmente las políticas de permisos obligatorias.

    Comprobar la existencia del ARMS Addon Token

    1. Inicie sesión en la consola de ACK. En el panel de navegación izquierdo, haga clic en Clusters.

    2. En la página Clusters, haga clic en el nombre del clúster de destino. En el panel de navegación izquierdo, elija Configurations > Secrets.

    3. En la parte superior de la página Secrets, seleccione kube-system en la lista desplegable Namespace y compruebe si existe addon.arms.token.

    Conceder permisos manualmente

    1. Inicie sesión en la consola de ACK. En el panel de navegación izquierdo, haga clic en Clusters.

    2. En la página Clusters, haga clic en el nombre de su clúster. En el panel de navegación izquierdo, haga clic en Cluster Information.

    3. En la página Cluster Information, haga clic en la pestaña Basic Information. En la sección Cluster Resources, haga clic en el enlace situado a la derecha de Worker RAM Role.

    4. En la consola de RAM, conceda al rol los permisos AliyunTracingAnalysisFullAccess y AliyunARMSFullAccess.

      1. En la página Role, dentro de la pestaña Permissions, haga clic en Attach Policy.

      2. En el panel Attach Policy, busque y seleccione las dos políticas siguientes en la sección Policies. A continuación, haga clic en OK.

        • AliyunTracingAnalysisFullAccess: otorga permisos completos para Tracing Analysis.

        • AliyunARMSFullAccess: otorga permisos completos para ARMS.

    Nota
    • Clúster administrado de ACK: es posible que algunos clústeres administrados de ACK no tengan un ARMS Addon Token. Compruebe primero si existe el token; si no está presente, deberá conceder los permisos manualmente.

    • Clúster dedicado de ACK: estos clústeres no incluyen un ARMS Addon Token de forma predeterminada. Por lo tanto, debe conceder los permisos manualmente.

Integración con Application Monitoring eBPF Edition

Integración manual

Para aplicaciones existentes

Si ya instaló el componente Application Monitoring eBPF Edition, vaya a la página Operations > Component Management de su clúster en la consola de ACK. Asegúrese de que el componente ack-arms-cmonitor tenga la versión 4.0.0 o posterior. Si cuenta con una versión anterior, haga clic en Upgrade.

  1. Inicie sesión en la consola de ACK. En la página Clusters, haga clic en el nombre del clúster de destino.

  2. En el panel de navegación izquierdo, elija Operations > Cluster Topology.

  3. En la página Cluster Topology, haga clic en Install. La consola de ACK instala automáticamente el componente Application Monitoring eBPF Edition.

    Nota

    El espacio de nombres predeterminado es arms-prom.

  4. En un clúster dedicado, debe actualizar la configuración del par de AccessKey.

    1. En el panel de navegación izquierdo, elija Application > Helm.

    2. Busque arms-cmonitor y haga clic en Update. Establezca los parámetros accessKey y accessKeySecret con el AccessKey ID y el AccessKey Secret de su cuenta de Alibaba Cloud. Para obtener más información, consulte Obtain an AccessKey pair.

      Importante

      Asegúrese de que las políticas AliyunARMSFullAccess y AliyunSTSAssumeRoleAccess estén adjuntas a la cuenta de Alibaba Cloud.

    3. Haga clic en OK.

Para aplicaciones nuevas

  1. Inicie sesión en la consola de ACK. En la página Clusters, busque el clúster de destino y haga clic en Applications dentro de la columna Actions.

  2. En la página Stateless, haga clic en Create from YAML.

  3. Seleccione Sample Template. En el editor Template (formato YAML), agregue las siguientes labels debajo de la sección spec.template.metadata.

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

    El siguiente ejemplo de YAML crea un Deployment y habilita ARMS Application Monitoring eBPF Edition:

    Ejemplo de 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

Integración automática

  1. Inicie sesión en la consola de ARMS.

  2. En el panel de navegación izquierdo, haga clic en Integration Center. En la sección Server-side Applications, haga clic en la tarjeta de Application Monitoring eBPF Edition.

  3. Siga las instrucciones en pantalla para completar la integración con Application Monitoring eBPF Edition.

  4. Puede consultar todas las aplicaciones y componentes integrados con ARMS en la página Integration Management.

    En la página Integration Management, haga clic en el nombre de un clúster para ver su información básica, los componentes integrados y las métricas recopiladas. También puede explorar las métricas o configurar los ajustes del agente.