Cosa è Kubectl

Cosa è Kubectl

Che cos’è kubectl?
Si tratta di uno strumento da riga di comando che consente le comunicazioni tra l’ API Kubernetes e il piano di controllo . Kubectl consente la distribuzione delle applicazioni, la gestione delle risorse del cluster e il monitoraggio delle risorse. In generale, tutte le operazioni CRUD (Create, Read, Update ed Delete) sulle risorse Kubernetes vengono eseguite con l’aiuto di questo. Lo strumento è compatibile con tutti i principali sistemi operativi, come Linux, Windows e Mac OS.

Perché kubectl è importante?
E’ uno degli strumenti più cruciali per la gestione dell’infrastruttura completa di Kubernetes, dove le applicazioni possono essere distribuite su diversi cluster. Lo strumento facilita la comunicazione tra utenti, risorse di Kubernetes e componenti esterni inviando richieste HTTP al server API di Kubernetes.

Nelle situazioni in cui il server API Kubernetes è accessibile pubblicamente, o quando sono richieste misure di sicurezza aggiuntive, è possibile configurare kubectl per usare HTTPS per comunicare con il server API Kubernetes. Per fare ciò, devi configurare il server API Kubernetes per servire traffico HTTPS e configurare kubectl per usare i certificati e le chiavi SSL appropriati.

Oltre alle comunicazioni, esegue anche operazioni di gestione delle risorse end-to-end, tra cui la distribuzione dei container, la visualizzazione dei file di registro, la conoscenza dello stato delle risorse e altro ancora.

Sintassi
La sintassi per eseguire il comando kubectl è la seguente:

kubectl [command] [TYPE] [NAME] [flags]

command si riferisce all’operazione da eseguire sul cluster. Alcuni esempi includono create , delete , e describe .
TYPE si riferisce al tipo di risorsa su cui deve essere eseguita l’operazione. Il tipo di risorsa non è sensibile ai caratteri maiuscoli o minuscoli utilizzati durante la scrittura del comando. Pertanto, indipendentemente dalla capitalizzazione, lo stesso tipo di risorsa verrà riconosciuto da kubectl.
NAME si riferisce al nome della risorsa. A differenza di TYPE , i nomi delle risorse sono sensibili alle maiuscole e alle minuscole. Quindi, lettere maiuscole e minuscole daranno un output diverso.
flags è una parte facoltativa della sintassi e viene utilizzata per indicare il numero di porta del server API Kubernetes.
Nota: un comando kubectl può essere applicato a una o più risorse e tipi di risorse.

Esempio
kubectl get pod pod1

Dopo aver eseguito questo comando, il cluster dovrebbe restituire pod1. Nell’esempio, get è il comando, pod è il TYPE e pod1 è il NAME . Non sono stati specificati flag , quindi verrà utilizzato il valore predefinito.

Elenco delle principali operazioni kubectl

OperazioneSintassi Descrizione
getkubectl get po -o wideElenca informazioni dettagliate per tutti i pod
createkubectl create -f filenameCrea una risorsa cluster da un file o da un altro input
exposekubectl expose deployment deployname –port=81 –type=NodePort –target-port=80 –name=service-nameespone distribuzione deployname –port=81 –type=NodePort –target-port=80 –name=service-name Espone una risorsa, ad esempio un pod, un servizio o una distribuzione, come un nuovo servizio Kubernetes.
runkubectl run deployname –image=nginx:latests]Esegue un’immagine specifica in un cluster
setkubectl set image deploy deployname containername=containername:1.0Cambia l’immagine di una distribuzione con il nome specificato in deployname in immagine 1.0
editkubectl edit po po-nginx-btv4jAggiorna un pod utilizzando l’editor predefinito.
explainkubectl auth [flags] [options]Visualizza documenti o materiali di riferimento correlati all’argomento specificato.
autoscalekubectl autoscale (-f FILENAME | TYPE NAME | TYPE/NAME) [–min=MINPODS] –max=MAXPODS [–cpu-percent=CPU] [flags]Ridimensiona automaticamente il set di pod gestiti da un controller di replicazione.
deletekubectl delete po podnameElimina le risorse in base al nome o all’etichetta
rolloutkubectl rollout status/history deployment/deploynameControlla lo stato di implementazione o la cronologia di una particolare distribuzione



Oltre alle 10 operazioni sopra menzionate, ne esistono numerose altre, tra cui completion, convert, config, diff, drain e altre ancora.

Cosa sono i plugin kubectl?
Questo strumento di riga di comando esegue operazioni di base sui cluster Kubernetes . Per garantire che lo strumento mostri un comportamento complesso ed esegua funzioni complesse, è possibile scrivere e installare nell’infrastruttura plugin kubectl. Possono essere plugin preesistenti o personalizzati, a seconda delle esigenze dell’applicazione e delle funzioni che deve eseguire. Di seguito sono elencati alcuni plugin:

Kubescape
Il plugin Kubescape si concentra sulla sicurezza del cluster Kubernetes offrendo analisi dei rischi, conformità alla sicurezza e scansione delle configurazioni errate. La CLI di facile utilizzo semplifica lo sfruttamento di formati di output flessibili e l’avvio di capacità di scansione automatizzate.

Stern
Il plugin Kubernetes Stern è uno strumento da riga di comando che consente agli utenti di seguire più log di container in un cluster Kubernetes. Fornisce un modo per visualizzare e seguire facilmente i log di più container su più pod, senza dover aprire manualmente i singoli file di log o SSH in ogni container.

Kubepag
Kubernetes rilascia periodicamente nuove versioni e gli ingegneri trovano difficile scoprire quali API sono state rimosse, quali aggiornamenti sono stati effettuati e altro ancora. Kubepug consente agli ingegneri di Kubernetes di conoscere questi dettagli prima di migrare l’infrastruttura a una versione più recente.

Ingress-nginx
Ingress-nginx semplifica le operazioni di ingresso sui cluster e consente facilmente ai servizi esterni di accedere ai cluster Kubernetes. In questo modo, il routing del traffico e la gestione delle risorse diventano più semplici.

Oltre a questi, ci sono altri plugin per varie funzioni. Puoi usare Krew per esaminarli e installarli

Come installare
Può essere installato su Windows, Linux e Mac Os. Assicurati di seguire le istruzioni di installazione per il tuo sistema operativo specifico.

Ecco i passaggi per una tipica installazione di kubectl su Linux:

Aggiorna l’elenco dei pacchetti del gestore pacchetti della tua distribuzione Linux eseguendo il seguente comando:
sudo apt-get update

Installa il pacchetto kubectl eseguendo il seguente comando:
sudo apt-get install -y kubectl

Verificare che questo sia installato correttamente eseguendo il seguente comando:
version kubectl

Questo visualizza la versione di kubectl in esecuzione sul tuo sistema e completa l’installazione.

Riepilogo
Nel complesso, kubectl è uno strumento che aiuta a gestire i cluster Kubernetes comunicando tra il server API e il piano di controllo. Lo strumento esegue diverse operazioni di base, consentendo inoltre agli ingegneri di eseguire operazioni più complesse utilizzando estensioni sotto forma di plugin comunemente disponibili o che possono essere scritti in base alle specifiche.

(fonte)

Innovaformazione, scuola informatica specialistica promuove la cultura del cloud, dello sviluppo a microservizi e delle tecnologie Docker e Kubernetes. Nell’offerta formativa rivolta alle aziende trovate il Corso Microservices Docker Kubernetes ed il Corso Kubernetes fundamental.

INFO: info@innovaformazione.net – tel. 3471012275 (Dario Carrassi)

Vuoi essere ricontattato? Lasciaci il tuo numero telefonico e la tua email, ti richiameremo nelle 24h:

    Ti potrebbe interessare

    Articoli correlati