Come monitorare Kubernetes con la dashboard ufficiale

0
161

La dashboard di Kubernetes è un'applicazione ufficiale che ti consente di ispezionare e modificare le tue risorse tramite un'interfaccia grafica basata sul web. La distribuzione di un'istanza di Dashboard nel tuo cluster ti consente di visualizzare l'attività senza eseguire sequenze di complessi comandi del terminale.

Installazione del dashboard

Installazioni Kubernetes autogestite non vengono forniti con la dashboard inclusa per impostazione predefinita. Devi utilizzare kubectl apply con il file manifest ospitato pubblicamente della dashboard per distribuire un'istanza all'interno del tuo cluster:

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.3.1/aio/deploy/recommended.yaml

Questo configurerà la dashboard con le impostazioni predefinite consigliate.

Accesso alla dashboard

L'installazione di base non espone pubblicamente la dashboard, contribuendo a mantenere la sicurezza del cluster. Puoi ottenere l'accesso utilizzando il proxy kubectl per mappare la porta host 8001 al tuo cluster:

proxy kubectl

Ora dovresti essere in grado di caricare la dashboard nel tuo browser visitando questo URL:

http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/Advertisement

La richiesta a localhost:8001 verrà gestita dal proxy Kubectl e inoltrato al tuo cluster. Il cluster risponderà con l'interfaccia utente del dashboard.

Esposizione pubblica del dashboard

Puoi esporre pubblicamente il dashboard se hai bisogno di un accesso HTTP diretto da dispositivi in ​​cui kubectl non è disponibile. Usa kubectl per modificare la risorsa del servizio della dashboard:

kubectl –namespace kubernetes-dashboard edit service kubernetes-dashboard

Questo aprirà il manifest YAML della risorsa nel tuo editor di testo predefinito. Trova la riga con tipo: ClusterIP e cambiala in tipo: NodePort. Salva e chiudi il file. L'alterazione verrà applicata al tuo cluster.

Successivamente usa Kubectl per controllare la porta che è stata assegnata:

kubectl –namespace kubernetes-dashboard get service kubernetes-dashboard NOME TIPO CLUSTER-IP PORTE ETÀ kubernetes-dashboard NodePort 10.100.110.101 443:31730/TCP 1m

In questo esempio, è stato fornito il dashboard porta 31730. Ora puoi accedere all'interfaccia web accedendo a quella porta sull'indirizzo IP pubblico del tuo cluster.

Uso del dashboard Con cluster gestiti

Molti provider Kubernetes gestiti abilitano il dashboard per impostazione predefinita o forniscono un metodo di installazione con un clic. Quando tale opzione è disponibile, è più semplice utilizzarla invece di installare e gestire manualmente l'app.

Pubblicità

Gli utenti di MicroK8s possono aggiungere il plug-in del dashboard integrato a attiva la dashboard con un solo comando. Per impostazione predefinita, il dashboard sarà associato al ClusterIP del cluster.

Esplorare il dashboard

La schermata iniziale di Dashboard mostra una panoramica dell'attività nel cluster. I grafici a torta colorati nella parte superiore ti offrono una panoramica dello stato di salute delle tue risorse. Questi ti consentono di visualizzare rapidamente se è necessaria un'azione:

  • Verde brillante – Queste sono risorse attive salutari come l'esecuzione di pod.
  • Verde scuro – Si tratta di risorse integre ma bloccate, inclusi pod inattivi e Cron Job pianificati che sono stati completati e terminati.
  • Giallo– Le sezioni di giallo indicano che hai risorse in uno stato transitorio, ad esempio un pod che si sta avviando e sta aspettando che l'immagine del contenitore venga estratta.
  • Rosso – Una fetta di torta rossa indica la presenza di una risorsa non riuscita che si è interrotta a causa di un errore.

Sotto i grafici a torta, le tabelle mostrano una suddivisione per ogni tipo di risorsa nel cluster. Scorri verso il basso per visualizzare Cron Job, implementazioni, pod, set di repliche, servizi, volumi e altre risorse integrate.

Puoi passare a una sezione specifica utilizzando la barra laterale di sinistra. Facendo clic su un tipo di risorsa verrà visualizzata la sua tabella su una schermata dedicata, consentendoti di concentrarti sulle informazioni di cui hai bisogno.

Selezione di uno spazio dei nomi

La dashboard per impostazione predefinita mostra tutte le risorse corrispondenti nel tuo cluster. Utilizza il menu a discesa in alto a sinistra per definire l'ambito dei risultati in uno spazio dei nomi specifico, consentendo di escludere i componenti di sistema. Il filtro si applica a tutte le schermate finché non lo cambi di nuovo.

Un altro modo per limitare ciò che vedi è usare la barra di ricerca nella parte superiore dello schermo. Ciò ti consente di trovare le risorse corrispondenti in tutti i tipi di risorse, visualizzando una schermata dei risultati utilizzando lo stesso formato multi-tabella della schermata iniziale.

Creazione di risorse

Fare clic su “+” pulsante in alto a destra per creare una nuova risorsa. Ciò ti consente di caricare o incollare un file manifest Kubernetes compatibile con kubectl. L'effetto è lo stesso dell'esecuzione di kubectl apply.

Pubblicità

Esiste anche un'implementazione di base di un creatore di distribuzione basato su form. Fare clic sul pulsante “Crea da modulo” scheda, quindi compila i campi per avviare un nuovo set di Pod nel tuo cluster.

  • Nome app – Fornisci un nome per la tua nuova implementazione.
  • Immagine contenitore– L'immagine Docker da estrarre per i tuoi nuovi contenitori. Deve essere accessibile al tuo cluster.
  • Numero di pod – Specifica il numero iniziale di Pod da creare. Kubernetes assicurerà che ci siano così tante repliche di container attive, contribuendo a garantire la disponibilità.
  • Servizio– Questo campo ti consente di esporre i tuoi contenitori tramite un servizio interno o esterno. Scegliendo “interno” consentirà l'accesso solo dall'interno del cluster. Seleziona il tipo di servizio, quindi compila la porta da cui accettare il traffico e la porta del container a cui mappare.

Premendo “Mostra opzioni avanzate” visualizza molti altri campi che consentono di impostare etichette, variabili di ambiente, vincoli di CPU e memoria e un segreto di pull dell'immagine facoltativo. Quest'ultimo accetta uno snippet di configurazione docker.json che fornisce le credenziali per il registro Docker da cui stai prelevando.

Fare clic sul pulsante “Distribuisci” pulsante per iniziare la distribuzione nel cluster. Modifica manualmente le risorse create in seguito se hai bisogno di più opzioni rispetto a quelle fornite dal modulo.

Le risorse vengono modificate facendo clic sull'icona dei tre punti sul lato destro di qualsiasi riga della tabella. Scegli “Modifica” dal menu per avviare un popup con la rappresentazione YAML del manifest corrente della risorsa. Apporta le modifiche necessarie, quindi premi “Aggiorna” per applicare le tue modifiche. È lo stesso che eseguire kubectl si applica nel tuo terminale.

Monitoraggio dell'utilizzo delle risorse del nodo

Il dashboard fornisce una visualizzazione del consumo delle risorse del nodo. Fare clic sui “Nodi” elemento nella barra laterale sinistra, quindi seleziona un nodo dalla tabella. La schermata successiva fornisce informazioni dettagliate sul nodo, incluso il sistema operativo, la versione Kubelet e l'indirizzo IP interno.

Annuncio

Scorri la pagina per visualizzare i grafici del consumo di CPU e memoria. I “baccelli” grafico ti consente di vedere quanti Pod potrebbero essere programmati sul nodo in base alla sua attuale allocazione. Più in basso nella pagina, i “Pods” la tabella elenca tutti i Pod che sono già in esecuzione sul nodo.

Visualizzazione dei registri dei pod

Un uso comune della dashboard è il monitoraggio dell'output del log in tempo reale di Pod e Job. Trova l'elemento che devi ispezionare in una delle tabelle delle risorse del dashboard. Fai clic sull'icona dei tre puntini più a destra, quindi seleziona “Registri” voce dal menu.

Fare clic sull'icona dei tre puntini in alto a destra nel visualizzatore del registro per attivare l'aggiornamento automatico. Verifica dell' “aggiornamento automatico (ogni 5 secondi)” l'opzione ti consente di eseguire lo streaming dei log in modo continuo. La modifica dell'intervallo di aggiornamento è discussa di seguito.

Le altre opzioni di menu consentono di personalizzare la visualizzazione del registro riducendo la dimensione del carattere, scegliendo una modalità colore e selezionando se visualizzare i timestamp. L'attivazione di quest'ultima opzione è utile quando l'output del log del contenitore non include i propri timestamp.

Impostazioni dashboard

L'app viene fornita con una manciata di impostazioni globali che ti consentono di modificare la sua reattività. Questi si trovano tramite le “Impostazioni” collegamento nella parte inferiore della barra laterale sinistra.

Trascina il cursori per regolare gli intervalli di aggiornamento automatico per il visualizzatore di log e le tabelle delle risorse. La riduzione di questi valori offre una visualizzazione in tempo reale dei dati, ma potrebbe ridurre le prestazioni su connessioni di rete lente.

Pubblicità

È inoltre possibile modificare il numero di elementi visualizzati su ciascuna pagina della tabella. Aumenta gli “elementi per pagina” se sei stanco di fare clic sulle pagine ogni volta che visualizzi le tue risorse.

Riepilogo

La dashboard di Kubernetes è un utile componente aggiuntivo che ti consente monitorare l'attività del cluster dal browser web. Può anche soddisfare i requisiti di base per la modifica delle risorse, ma dovrai comunque lavorare con i file di testo manifest per la maggior parte del tempo. Il modulo di creazione delle risorse è adatto solo per i casi d'uso più elementari e non funziona affatto con gli elementi esistenti.

L'abilitazione della dashboard è facoltativa e non sarà necessariamente utile in tutti scenari. Se ti senti a tuo agio con il terminale, sei preoccupato per la sicurezza o cerchi di ridurre al minimo il consumo di risorse in background, non perderai nulla utilizzando strumenti CLI familiari.

L'implementazione del dashboard dovrebbe essere una procedura semplice quando ne hai bisogno, sia che tu stia cercando il monitoraggio remoto o un modo più semplice per monitorare più cluster senza destreggiarsi tra contesti Kubectl.