Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Collect metrics from a specific virtual node

Última atualização: Oct 13, 2026

Modifique a configuração de monitoramento do Prometheus para coletar métricas de um nó virtual específico.

Visão geral

Na arquitetura de nós virtuais, vários nós virtuais no mesmo cluster compartilham o mesmo IP de nó. Como resultado, a coleta de dados de um único nó virtual retorna os dados de todos os nós virtuais. Como o Prometheus geralmente coleta as métricas de todos os nós por meio do kubelet Service, ocorrem métricas duplicadas. Para resolver esse problema, o Container Service for Kubernetes (ACK) permite coletar métricas de um nó virtual específico. Ele mantém o endpoint de coleta original <nodeIP>:10250/metrics/cadvisor e adiciona um endpoint que especifica o nome do nó virtual <nodeIP>:10250/metrics/cadvisor?nodeName=<nodeName>. Após especificar o nome de um nó virtual, o nó virtual retorna métricas apenas para os pods que ele gerencia.

Pré-requisitos

O add-on ACK Virtual Node está instalado na versão v2.11.0 ou posterior. Para mais informações, consulte {{XREF_0}}.

Modificar a configuração de monitoramento do Prometheus

Você pode modificar a configuração de monitoramento do Prometheus para coletar métricas de um nó virtual específico. O Container Service for Kubernetes oferece suporte a três cenários de configuração: o Alibaba Cloud Managed Service for Prometheus, a solução Prometheus Operator da edição comunitária (ou o {{XREF_1}} do App Marketplace do Container Service for Kubernetes) e o Prometheus open source.

Alibaba Cloud Managed Service for Prometheus

Há suporte por padrão. Nenhuma ação adicional é necessária.

Community edition Prometheus Operator

Se você usar a solução Prometheus Operator da edição comunitária ou o {{XREF_2}} do App Marketplace do Container Service for Kubernetes, adicione a seguinte configuração de CR do ServiceMonitor.

scrape_configs:

...Other job configurations.

- job_name: monitoring/ack-prometheus-operator-kubelet/0
  honor_labels: true
  honor_timestamps: true
  ...
  relabel_configs:
  ...
  # Remove the collection of the /metrics/cadvisor endpoint for virtual nodes.
  - source_labels: [__meta_kubernetes_endpoint_address_target_name]
    separator: ;
    regex: (^virtual-kubelet.*)
    replacement: $1
    action: drop

Se o seu cluster já usa o service discovery baseado no kubelet Service para coletar métricas do cAdvisor, adicione a seguinte configuração para remover a coleta de <Virtual Node IP>:10250/metrics/cadvisor e evitar a coleta de dados duplicados.

scrape_configs:

...Other job configurations.

- job_name: monitoring/ack-prometheus-operator-kubelet/0
  honor_labels: true
  honor_timestamps: true
  ...
  relabel_configs:
  ...
  # Remove the collection of the /metrics/cadvisor endpoint for virtual nodes.
  - source_labels: [__meta_kubernetes_endpoint_address_target_name]
    separator: ;
    regex: (^virtual-kubelet.*)
    replacement: $1
    action: drop

Open source Prometheus

No Prometheus open source, localize o arquivo de configuração do Prometheus, que geralmente está em /etc/prometheus/prometheus.yml ou no seu diretório de configuração personalizado, e adicione a seguinte configuração de scrape.

scrape_configs:

...Other job configurations.

- job_name: monitoring/ack-prometheus-operator-kubelet/0
  honor_labels: true
  honor_timestamps: true
  ...
  relabel_configs:
  ...
  # Remove the collection of the /metrics/cadvisor endpoint for virtual nodes.
  - source_labels: [__meta_kubernetes_endpoint_address_target_name]
    separator: ;
    regex: (^virtual-kubelet.*)
    replacement: $1
    action: drop

Se o seu cluster já usa o service discovery baseado no kubelet Service para coletar métricas do cAdvisor, adicione a seguinte configuração para remover a coleta de <Virtual Node IP>:10250/metrics/cadvisor e evitar a coleta de dados duplicados.

scrape_configs:

...Other job configurations.

- job_name: monitoring/ack-prometheus-operator-kubelet/0
  honor_labels: true
  honor_timestamps: true
  ...
  relabel_configs:
  ...
  # Remove the collection of the /metrics/cadvisor endpoint for virtual nodes.
  - source_labels: [__meta_kubernetes_endpoint_address_target_name]
    separator: ;
    regex: (^virtual-kubelet.*)
    replacement: $1
    action: drop
scrape_configs:

...Other job configurations.

- job_name: monitoring/ack-prometheus-operator-kubelet/0
  honor_labels: true
  honor_timestamps: true
  ...
  relabel_configs:
  ...
  # Remove the collection of the /metrics/cadvisor endpoint for virtual nodes.
  - source_labels: [__meta_kubernetes_endpoint_address_target_name]
    separator: ;
    regex: (^virtual-kubelet.*)
    replacement: $1
    action: drop