Kubernetes (k8s): un sistema di orchestrazione dei contenitori open source di Google.
Origine del nome: Kubernetes ha una parola lunga e le 8 lettere centrali vengono solitamente omesse, chiamate k8s.
Si trova tra i servizi applicativi e i server, coordinando e gestendo più servizi applicativi tramite policy.
Attraverso la configurazione del file YAML, vengono realizzati la distribuzione automatica, il riavvio automatico e l'espansione e contrazione automatica delle applicazioni.
Architettura Kubernetes
Piano di controllo: Equivalente al cervello del cluster, responsabile della gestione e del controllo dei nodi di lavoro.
I componenti includono:
Server API: Fornisce l'interfaccia API per le risorse del servizio operativo.
Pianificatore: Responsabile delle decisioni di pianificazione delle risorse.
Responsabile del controllo: Responsabile della creazione e della chiusura dei servizi applicativi.
ecc.: come livello di archiviazione, salva lo stato e i dati del cluster.
Nodo di lavoro (Nodo): Equivalente alle mani e ai piedi del cluster, responsabile dell'esecuzione delle attività e dell'esecuzione dei servizi applicativi.
I componenti includono:
Baccello: l'istanza in esecuzione del contenitore, l'unità di pianificazione più piccola in k8s.
Kubelet: Responsabile della gestione del ciclo di vita del Pod.
Tempo di esecuzione del contenitore: Responsabile della gestione del ciclo di vita dei contenitori, come Docker.
Proxy Kube: Responsabile del proxy di rete del nodo e dell'inoltro delle richieste.
Concetti fondamentali di Kubernetes
Grappolo: è costituito da un piano di controllo e da più nodi di lavoro.
Immagine del contenitore: file confezionati contenenti codice dell'applicazione e ambienti dipendenti.
Contenitore: l'unità in esecuzione del servizio dell'applicazione.
Baccello: una raccolta di uno o più contenitori che condividono risorse di rete e di archiviazione.
Strumenti operativi Kubernetes
kubectl: lo strumento da riga di comando fornito da k8s viene utilizzato per interagire con l'API k8s e semplificare la distribuzione e la gestione del servizio.
Distribuzione del servizio e processo di chiamata
Servizio di distribuzione: distribuisce i servizi scrivendo file YAML ed eseguendo comandi kubectl.
chiamata di servizio: le richieste esterne entrano nel cluster tramite il controller Ingress e vengono inoltrate al Pod corrispondente dal proxy Kube.
Vantaggi di Kubernetes
Automatizza la distribuzione, il riavvio e la scalabilità.
Semplifica l'implementazione del servizio e i processi operativi e di manutenzione.
Supportare la gestione di servizi container su larga scala.
Riassumere
k8s è un potente strumento di orchestrazione dei contenitori che realizza la gestione e la pianificazione automatizzate dei servizi applicativi attraverso il lavoro collaborativo del piano di controllo e dei nodi di lavoro.
Il piano di controllo è responsabile del processo decisionale e dell'emissione di istruzioni, mentre i nodi di lavoro sono responsabili dell'esecuzione delle attività e dell'esecuzione delle applicazioni.
Attraverso lo strumento kubectl, gli utenti possono interagire facilmente con l'API k8s per ottenere una rapida implementazione e gestione dei servizi.