In questo articolo verranno trattati i seguenti argomenti:
In Linux usando il comando top è possibile visualizzare in tempo reale i processi attivi sul sistema. Usato come strumento di diagnostica, o semplicemente per monitorare il consumo di risorse è innegabile la sua utilità, soprattutto grazia alla capacità di identificare quale processo è responsabile di un consumo elevato di risorse computazionali.
Come si evince dall’ output del comando manca l’API del server di metriche, e senza di esse è impossibile raccogliere le metriche di nodi o pod.
Se il Metrics Server è già installato all’interno del tuo Cluster, e quindi non hai ottenuto questo output, puoi saltare il seguente paragrafo.
Il progetto Metrics Server è gestito e mantenuto dalla Kubernetes SIGs (Kubernetes Special Interest Group), su GitHub è possibile trovare tutta la documentazione a riguardo.
È possibile installare il Metrics Server, sia tramite Helm Chart, che direttamente scaricando i manifest ed applicandoli nel Cluster.
Prima di poter usare il Metrics Server correttamente, potrebbe essere necessario aggiungere un parametro alla configurazione del Deployment per consentire la comunicazione con i nodi usando self signed cerificate (gli oggetti creati tramite i manifest precedenti vengono creati nel Namespace kube-system) :
Usando il comando kubectl top, si può controllare la corretta installazione del Metrics Server
Kubectl top
Usando il comando kubectl top è possibile monitorare i consumi di risorse per nodi o per pod, usando rispettivamente:
FIltrare e ordinare gli oggetti
Con kubectl top esistono diversi metodi per filtrare gli oggetti di cui si vogliono conoscere i consumi:
4 – È anche possibile specificare un namespace, ed ottenere solo i Pod contenuti in quel Namespace:
Conclusione
Grazie al Metrics Server in Kubernetes è possibile avere rapidamente informazioni sul consumo di CPU e memoria all’ interno del Cluster, e grazie ai parametri del comando kubectl top è possibile filtrare ed ordinare queste informazioni, in modo da ottenere informazione specifiche e capillari sul carico di lavoro del Cluster.
Il Metrics Server è anche un componente fondamentale per il funzionamento di altri componenti in Kubernetes, tra cui l’Horizontal Pod Autoscaler o la Kubernetes Dashboard; pertanto, i sui utilizzi non sono limitati al monitoraggio.
Installare il Metrics Server è anche il primo strumento da utilizzare per diagnosticare eventuali problemi di prestazioni e decidere se ingrandire il Cluster o ridurre il numero di Pod.
Condividi l’articolo!!
Scopri i nostri corsi!
Pascal Carone
DevOps Instructor & Engineer
Sono conosciuto per la mia capacità di spiegare concetti complessi in termini semplici e per la mia dedizione ad aiutare i miei studenti ad avere successo. Sviluppo e insegno corsi Kubernetes e Google Cloud e mi impegno a rimanere aggiornato sugli ultimi progressi tecnologici.