Osservazione del nodo di lavoro e dello stato aggiuntivo
Scopri come osservare lo stato e l'uso delle risorse dei nodi di lavoro e dei componenti aggiuntivi Kubernetes di base con Kubernetes Engine (OKE).
Kubernetes Engine ti consente di osservare lo stato e l'uso delle risorse dei nodi di lavoro e dei componenti aggiuntivi chiave Kubernetes, ad esempio CoreDNS e KubeProxy. È possibile osservare lo stato e l'uso delle risorse in qualsiasi cluster che supporta i componenti aggiuntivi gestiti. Raccogliendo metriche operative e delle risorse, puoi rilevare e risolvere in modo proattivo potenziali problemi e anomalie prima che i carichi di lavoro siano interessati.
Per consentirti di osservare lo stato e l'uso delle risorse, Kubernetes Engine distribuisce i seguenti due componenti aggiuntivi gestiti su ogni nodo di lavoro:
- ObservabilityAgent: il componente aggiuntivo ObservabilityAgent raccoglie le metriche dell'infrastruttura dalle origini, tra cui kubelet, cAdvisor, CoreDNS e KubeProxy.
- NodeProblemDetector: il componente aggiuntivo NodeProblemDetector identifica e evidenzia problemi quali la saturazione delle risorse e i problemi di rete a livello di nodo di lavoro. La configurazione NodeProblemDetector gestita è progettata per evitare conflitti con qualsiasi distribuzione esistente di questo strumento o strumenti simili.
I componenti aggiuntivi per l'osservabilità sono preconfigurati per utilizzare risorse minime e non richiedono un'ampia configurazione personalizzata. A loro viene assegnata una bassa priorità di pianificazione, assicurando che i carichi di lavoro di sistema e utente rimangano l'obiettivo principale delle risorse dei nodi di lavoro. Le risorse per i due componenti aggiuntivi di osservabilità vengono aggiunte allo spazio di nomi del sistema kube.
Quando si osserva lo stato e l'uso delle risorse, Kubernetes Engine raccoglie le metriche riportate di seguito.
- Utilizzo di CPU, memoria e rete di container e pod (da kubelet e cAdvisor).
- CoreDNS richieste DNS, tassi di errore e tempi di risposta.
- KubeProxy statistiche della rete di servizi.
- Informazioni sullo stato dei nodi di lavoro, eventi e condizioni (dal componente aggiuntivo NodeProblemDetector).
I dati raccolti vengono aggregati e resi accessibili utilizzando endpoint e strumenti standard del settore, come quelli compatibili con Prometheus.
Si noti che vengono raccolti solo i dati delle metriche per i componenti dell'infrastruttura e della piattaforma. In particolare, si noti che non vengono raccolti carichi di lavoro o dati delle applicazioni identificabili.
Abilitazione e disabilitazione della funzionalità di osservazione dello stato
Scopri come abilitare e disabilitare la funzionalità di osservazione dello stato con Kubernetes Engine (OKE).
È possibile abilitare e disabilitare la funzionalità di osservazione dell'integrità utilizzando la console, l'interfaccia CLI e l'API.
- Nella pagina della lista Cluster selezionare il nome del cluster per il quale si desidera abilitare la funzionalità di osservazione dello stato. Se è necessaria assistenza per trovare la pagina della lista o il cluster, vedere Elenca cluster.
- Nella scheda Componenti aggiuntivi selezionare Gestisci componenti aggiuntivi.
- Selezionare l'opzione Modifica accanto a ObservabilityAgent o NodeProblemDetector.
- Selezionare l'opzione Abilita <nome componente aggiuntivo> per distribuire e abilitare il componente aggiuntivo del cluster se non è stato abilitato in precedenza in questo cluster oppure per abilitare il componente aggiuntivo del cluster se è stato distribuito in precedenza ma è attualmente disabilitato.
- Configurare il componente aggiuntivo del cluster specificando i seguenti dettagli:
- Aggiornamenti automatici: scegliere questa opzione quando si desidera che Oracle aggiorni automaticamente il componente aggiuntivo quando è disponibile una nuova versione.
- Scegliere una versione: scegliere questa opzione quando si desidera controllare la versione del componente aggiuntivo distribuito da Oracle nel cluster. Un'avvertenza indica che l'utente è responsabile dell'aggiornamento del componente aggiuntivo. Se si sceglie questa opzione, selezionare la versione del componente aggiuntivo da distribuire nel cluster dalla lista Versione. Vedere Versioni supportate del componente aggiuntivo cluster.
- Opzione: e Valore: (facoltativo) selezionare Aggiungi configurazione per specificare una o più coppie chiave/valore da passare come argomenti al componente aggiuntivo del cluster. Vedere Argomenti di configurazione dei componenti aggiuntivi del cluster.
- Selezionare Salva modifiche.
Per disabilitare il componente aggiuntivo ObservabilityAgent o NodeProblemDetector, selezionare l'opzione Modifica accanto al componente aggiuntivo, deselezionare l'opzione Abilita <nome componente aggiuntivo> e selezionare Salva modifiche.
Utilizzare il comando oci ce cluster install-addon e i parametri richiesti per distribuire il componente aggiuntivo ObservabilityAgent o NodeProblemDetector:
oci ce cluster install-addon --cluster-id <cluster-ocid> --addon-name ObservabilityAgent --region <region> [OPTIONS]oci ce cluster install-addon --cluster-id <cluster-ocid> --addon-name NodeProblemDetector --region <region> [OPTIONS]Utilizzare il comando oci ce cluster disable-addon e i parametri necessari per disabilitare (e facoltativamente rimuovere) il componente aggiuntivo ObservabilityAgent o NodeProblemDetector distribuito su un cluster:
oci ce cluster disable-addon --cluster-id <cluster-ocid> --addon-name ObservabilityAgent --is-remove-existing-add-on <true|false> [OPTIONS]oci ce cluster disable-addon --cluster-id <cluster-ocid> --addon-name NodeProblemDetector --is-remove-existing-add-on <true|false> [OPTIONS]Per un elenco completo dei parametri e dei valori per i comandi CLI, consultare il manuale CLI Command Reference.
Eseguire l'operazione InstallAddon o l'operazione DisableAddon per installare o disabilitare (e facoltativamente rimuovere) il componente aggiuntivo ObservabilityAgent o NodeProblemDetector distribuito in un cluster.
Utilizzo di etichette per abilitare e disabilitare la funzionalità di osservazione dello stato in nodi di lavoro specifici o in tutti i nodi di lavoro
Scopri come utilizzare le etichette per abilitare e disabilitare la funzionalità di osservazione dello stato sui nodi di lavoro con Kubernetes Engine (OKE).
Per raccogliere le metriche da un nodo di lavoro specifico, applicare le etichette al nodo di lavoro come indicato di seguito.
kubectl label node --overwrite oci.oraclecloud.com/oke-observability-agent-enabled=true <node-name>
kubectl label node --overwrite oci.oraclecloud.com/oke-node-problem-detector-enabled=true <node-name>
Per raccogliere le metriche da tutti i nodi di lavoro, applicare le etichette come indicato di seguito.
kubectl label node --overwrite --all oci.oraclecloud.com/oke-observability-agent-enabled=true
kubectl label node --overwrite --all oci.oraclecloud.com/oke-node-problem-detector-enabled=true
Per disabilitare la funzionalità di osservazione dello stato su un nodo di lavoro specifico, applicare le etichette al nodo di lavoro come indicato di seguito.
kubectl label node --overwrite oci.oraclecloud.com/oke-observability-agent-enabled=false <node-name>
kubectl label node --overwrite oci.oraclecloud.com/oke-node-problem-detector-enabled=false <node-name>
Osservazione dello stato dei nodi di lavoro e dei componenti aggiuntivi
Dopo aver installato e attivato i componenti aggiuntivi ObservabilityAgent e NodeProblemDetector, scopri come osservare il nodo di lavoro e lo stato dei componenti aggiuntivi.
Dopo aver installato e abilitato i componenti aggiuntivi ObservabilityAgent e NodeProblemDetector, utilizza gli strumenti standard di monitoraggio e Kubernetes per osservare lo stato del nodo di lavoro e del componente aggiuntivo.
Ad esempio, per eseguire query e visualizzare le metriche raccolte per il nodo di lavoro e i componenti aggiuntivi, utilizzare soluzioni di monitoraggio compatibili con Prometheus o OpenMetrics. Queste metriche includono l'uso delle risorse contenitore e pod, le statistiche CoreDNS e KubeProxy e gli eventi relativi allo stato dei nodi di lavoro.
Recupero delle metriche direttamente da un nodo di lavoro (endpoint mTLS)
Il componente aggiuntivo ObservabilityAgent espone un endpoint delle metriche su ciascun nodo di lavoro e lo protegge con TLS (mTLS) reciproco. L'accesso all'endpoint delle metriche è consentito solo da un client che presenta un certificato client valido emesso da un'autorità di certificazione (CA) sicura. Una CA è un emittente sicuro che firma certificati in modo che altri componenti possano verificare l'identità e stabilire connessioni cifrate. Il certificato client deve essere firmato dalla CA del cluster. I certificati richiesti sono disponibili sul nodo di lavoro dopo il provisioning.
Per recuperare le metriche da un nodo di lavoro, connettersi al nodo (ad esempio, utilizzando SSH) ed eseguire un comando simile al seguente:
sudo curl -v --cert /var/lib/kubelet/pki/kubelet-client-current.pem --key /var/lib/kubelet/pki/kubelet-client-current.pem --cacert /etc/kubernetes/ca.crt https://<node-private-ip>:9995/metrics
dove:
--cert /var/lib/kubelet/pki/kubelet-client-current.pemspecifica il certificato client kubelet, considerato attendibile dalla CA del cluster.--key /var/lib/kubelet/pki/kubelet-client-current.pemspecifica la chiave privata per il certificato client (in questa configurazione è memorizzata nello stesso file PEM).--cacert /etc/kubernetes/ca.crtspecifica il certificato CA radice del cluster utilizzato per verificare il certificato server presentato dall'endpoint delle metriche.<node-private-ip>è l'indirizzo IP privato del nodo di lavoro (ad esempio,10.0.10.121).https://<node-private-ip>:9995/metricsè l'endpoint delle metriche ObservabilityAgent nel nodo.
È possibile utilizzare gli stessi certificati e gli stessi endpoint durante la configurazione della propria pipeline di metriche (ad esempio, uno scraper compatibile con Prometheus) per raccogliere e visualizzare le metriche ObservabilityAgent.
Verifica lo stato dei componenti aggiuntivi
È possibile osservare lo stato dei componenti aggiuntivi stessi ObservabilityAgent e NodeProblemDetector come indicato di seguito.
-
Per controllare lo stato DaemonSet per i componenti aggiuntivi di osservabilità distribuiti, immettere:
kubectl get daemonset -n kube-systemVerificare che
oke-dataplane-observability-agenteoke-node-problem-detectorDaemonSets siano in esecuzione e che i conteggi pod desiderati e pronti corrispondano al numero di nodi di lavoro osservati. -
Se si verificano risultati imprevisti o problemi con i componenti aggiuntivi di osservabilità, esaminare i pod log relativi a ObservabilityAgent e NodeProblemDetector nello spazio di nomi di sistema kube immettendo:
kubectl logs -n kube-system <pod-name>Verificare inoltre che i nodi di lavoro dispongano delle etichette necessarie.
Per ulteriori informazioni sulla gestione dei componenti aggiuntivi cluster, vedere Gestione dei componenti aggiuntivi cluster.