cAdvisor/Kubelet

Kubelet espone le metriche su se stesso, nonché le metriche di cAdvisor sui contenuti in esecuzione sul suo nodo.

Cloud Monitoring offre una raccolta gestita di metriche cAdvisor/Kubelet pronta all'uso come alternativa alla configurazione di questa integrazione. L'opzione di raccolta completamente gestita fornisce un insieme selezionato di metriche opinative che viene configurato nei nuovi cluster per impostazione predefinita.

L'integrazione descritta in questo documento offre tutte le metriche di cAdvisor, molte delle quali è improbabile che tu abbia bisogno e probabilmente vorrai escludere, ed è disponibile per Google Kubernetes Engine e altri ambienti Kubernetes. L'insieme gestito di metriche cAdvisor/Kubelet è stato selezionato per fornire solo le metriche più utili ed è disponibile solo per GKE. Per maggiori informazioni, consulta Pacchetto: metriche cAdvisor/Kubelet.

Se configuri la raccolta delle metriche cAdvisor come descritto in questo documento, la configurazione sostituisce la configurazione di cAdvisor gestita da GKE. La configurazione descritta in questo documento abilita un superset delle metriche cAdvisor gestite.

Quando utilizzi l'approccio descritto in questo documento, anziché utilizzare una configurazione personalizzata di PodMonitoring, puoi configurare la raccolta gestita per eseguire automaticamente lo scraping delle metriche di cAdvisor e Kubelet modificando OperatorConfig. Puoi installare i manifest copiandoli in un file locale ed eseguendo kubectl apply -f FILE_NAME. Puoi anche installare i manifest utilizzando Terraform.

  1. Apri la risorsa OperatorConfig per la modifica:

    kubectl -n gmp-public edit operatorconfig config
    
  2. Aggiungi la seguente sezione collection, in grassetto, alla risorsa:

    apiVersion: monitoring.googleapis.com/v1
    kind: OperatorConfig
    metadata:
      namespace: gmp-public
      name: config
    collection:
      kubeletScraping:
        interval: 30s
    
  3. Salva il file e chiudi l'editor.

Dopo poco tempo, gli endpoint delle metriche di Kubelet verranno estratti e le metriche diventeranno disponibili per le query in Managed Service per Prometheus.

Lo scraping di Kubelet è dotato di alcuni filtri predefiniti e puoi aggiungerne altri alla sezione collection della risorsa OperatorConfig, come mostrato di seguito. La sezione di configurazione filter.matchOneOf ha la stessa semantica dei parametri match[] per la federazione di Prometheus.

L'esempio seguente esclude le metriche che iniziano con container_foo o container_bar:

collection:
  filter:
    matchOneOf:
    - '{__name__!~"container_foo.*|container_bar.*"}'

Puoi utilizzare questo filtro della raccolta OperatorConfig anche per scopi di debug. Ad esempio, potresti voler disattivare temporaneamente la raccolta di una determinata metrica nel tuo cluster senza modificare alcuna risorsa PodMonitoring.

Suggerimenti per le configurazioni avanzate di cAdvisor

Se esegui il deployment autonomo di cAdvisor o fornisci una configurazione avanzata a Kubelet con cAdvisor, tieni presente che è possibile associare etichette aggiuntive utilizzando le impostazioni avanzate di cAdvisor.

In particolare, evita di associare alle metriche le etichette o le variabili di ambiente dei contenitori Kubernetes e, in questo caso, controlla rigorosamente queste etichette utilizzando un pattern di lista consentita (ad esempio, la sezione metricRelabeling di PodMonitoring).

Controllare il numero di etichette aggiunte alle metriche può aiutarti a evitare di superare il limite del numero di etichette.