Un cluster generale di Kubernetes (scritto anche come K8s) è costituito da piano di controllo nodi e almeno un nodo di lavoro .
Questo tutorial illustra l'architettura Kubernetes e i componenti del piano di controllo e del nodo di lavoro. Spiega l'architettura e le funzionalità come api-server , programmatore , ecc. e gestore del controllo . In nodi di lavoro, trattiamo i dettagli su kubectl , kubelet e kube-proxy .
Architettura Kubernetes

Immagine da kubernetes.io
Dal diagramma sopra, possiamo vedere che il piano di controllo prende alcune decisioni globali come la pianificazione e mantiene i dettagli del cluster in un archivio dati (etcd). Risponde anche agli eventi del cluster, inclusa la manutenzione delle repliche come indicato nelle distribuzioni.
Componenti del piano di controllo
Allora, cos'è un aereo di controllo Kubernetes?
In parole semplici e chiare, il piano di controllo è un decisore globale per il cluster, il che significa che controlla la pianificazione. È anche responsabile del mantenimento del comportamento generale del cluster. Le app containerizzate sono pianificate sui nodi di lavoro in base alla memoria allocata per distribuzione. Risponde anche agli eventi del cluster. Ad esempio, il piano di controllo avvia/termina nuovi pod quando i valori del set di replica non sono soddisfatti. Possiamo dire che il piano di controllo di Kubernetes è il cervello del cluster che prende decisioni logiche.
[ Ai lettori è piaciuto anche: Trasforma un'implementazione Kubernetes in un servizio Knative ]
Il piano di controllo ha i seguenti componenti:
Server API (aka kube-apiserver)
Il server API è il frontend Kubernetes che espone l'API Kubernetes. Inoltre, convalida e configura i dati per gli oggetti API, inclusi pod, servizi, implementazioni, controller di replica e altri. Il server API esegue le operazioni REST e fornisce il frontend allo stato condiviso del cluster attraverso il quale interagiscono tutti gli altri componenti.
etcd (archivio dati)
L'archivio dati etcd è il backend Kubernetes, che contiene le informazioni sul cluster in coppie chiave-valore. In Kubernetes esiste un concetto di stato desiderato e stato attuale . Kubernetes usa etcd per monitorare questi due stati. Se divergono, Kubernetes apporta modifiche per riconciliare lo stato attuale e lo stato desiderato. Questo viene monitorato utilizzando l'archivio dati distribuito etcd.
programmatore kube
Il kube-scheduler è un componente del piano di controllo che assegna principalmente i pod non programmati al nodo pertinente in base al suo utilizzo di memoria. L'utilizzo della memoria e i vincoli hardware/software vengono presi in considerazione durante l'impostazione di un nodo per determinati fattori applicativi come i criteri di rete.
kube-control-manager
Il kube-control-manager è un componente del piano di controllo che esegue il processo di controllo. In generale, un processo di controllo è un ciclo che si concentra sul rendere lo stato desiderato uguale allo stato corrente per qualsiasi applicazione in un dato momento.
Componenti del nodo di lavoro
Cos'è un nodo di lavoro?
Un nodo di lavoro esegue le applicazioni containerizzate e segnala continuamente all'api-server del piano di controllo sulla sua salute.
Ha i seguenti componenti:
kubelet
Il kubelet è un agente che viene eseguito su ogni nodo in un cluster Kubernetes, assicurando che i contenitori all'interno dei pod siano in esecuzione e integri. Comunica continuamente con l'API Kubernetes per trasmettere le informazioni sulla salute dei pod.
proxy kube
Il kube-proxy è un proxy di rete che viene eseguito su ogni nodo in un cluster Kubernetes. Mantiene le regole di rete su tutti i nodi, consentendo una comunicazione fluida tra gli elementi del pod sia all'interno che all'esterno del cluster.
Tempo di esecuzione del contenitore
È il software responsabile dell'esecuzione dei contenitori all'interno dei nodi del cluster. Gli esempi includono CRI-O, containerd, Docker, ecc.
[ Ottieni questo ebook gratuito:Gestione dei cluster Kubernetes per i manichini. ]
Cosa c'è dopo?
In questo post di due blog, ho trattato l'architettura Kubernetes e i suoi componenti. Ho fatto uno sforzo umile e semplice per spiegare le macchine virtuali, i concetti di container e l'architettura cluster di base di Kubernetes.
[ Le differenze tra Kubernetes e OpenShift possono essere trovate in questo nuovo ebook. ]
Riferimenti:Componenti Kubernetes