Panoramica di Kubernetes Architecture
Kubernetes è uno degli strumenti di gestione dei cluster che viene fornito in DevOps. È uno degli strumenti di gestione dei container open source creati dalla Cloud Native Computing Foundation (CNCF). Kubernetes è anche abbreviato con K8. In questo argomento, impareremo l'architettura di Kubernetes. Kubernetes possiede varie caratteristiche che sono come l'aggiunta di piume a questi strumenti che sono descritte di seguito:
- Infrastruttura containerizzata
- Integrazione continua, sviluppo continuo e distribuzione continua.
- Utilizzo efficace delle risorse.
- Creazione di un ambiente prominente in tutti i team di sviluppo e test.
- Concetto di bilanciamento del carico grazie al ridimensionamento automatico dell'intera infrastruttura.
- Gestione orientata all'applicazione.
Uno dei componenti principali è che può eseguire applicazioni sia su cluster fisici che su macchine virtuali.
Essendo uno degli strumenti di gestione dei cluster, aiuta a spostare l'intera infrastruttura dall'infrastruttura incentrata sull'host all'infrastruttura incentrata sulla containerizzazione.
Architettura di Kubernetes
Camminiamo intorno all'architettura di Kubernetes:
Kubernetes sostanzialmente segue l'architettura client-server che viene sostituita qui con il concetto master-slave di nodi o gestione dei cluster.
I componenti chiave del master e del nodo sono i seguenti:
Componenti principali della macchina
- etcd: etcd è un componente della macchina principale che contiene il valore-chiave o la chiave di sicurezza che consiste in informazioni sensibili sulle applicazioni o sulla macchina che possono essere interagite utilizzando l'API della macchina principale. È una chiave di alto valore a cui è possibile accedere attraverso più contenitori.
- Server API: il server API è costituito da un'interfaccia utilizzata per interagire tra diversi cluster operativi. Ha un pacchetto speciale che nomina kubeconfig insieme al lato server per stabilire una comunicazione corretta tra server e nodi.
- Controller Manager: Inoltre un controller manager ha anche molti componenti interni come controller endpoint, controller di replica, controller dello spazio dei nomi. Sono tutti usati per controllare tutti i controller. Funziona principalmente per ottenere lo stato del cluster comune tramite lo stato corrente allo stato del cluster desiderato.
- Scheduler : la distribuzione del carico di lavoro è curata da Scheduler che viene utilizzato per tenere traccia dell'utilizzo del carico di lavoro sulle risorse, ovvero è un modo per ottenere la struttura di comunicazione interna con i pod e i nodi disponibili sulla macchina Linux.
Componenti del nodo Kubernetes
- Docker: Kubernetes è incompleto senza docker perché aiuta a creare un ambiente di containerizzazione leggero che aiuta i container docker incapsulati a comunicare in modo corretto ed efficiente. È un requisito molto importante da imparare prima di Kubernetes.
- Kubelet: il servizio Kubelet è un servizio molto piccolo che viene utilizzato dal nodo Kubernetes per interagire con il componente etcd della macchina master Kubernetes e viene utilizzato per mantenere i valori chiave necessari o qualsiasi altra informazione sensibile che regola il nodo master e il lavoratore utilizzati per la comunicazione . Principalmente include attività come port forwarding, regole di rete, ecc.
- Proxy Kubernetes: è un componente utilizzato per eseguire il suo servizio su ciascun nodo e rendere disponibili i servizi all'host esterno. Praticamente si assume la responsabilità del bilanciamento del carico primitivo. Si assicura che tutta la configurazione della rete, i volumi, i pod e i nodi siano attivi e funzionanti con un controllo dello stato positivo. Pertanto, creando un nuovo servizio e nuovi contenitori.
Questo è il master e lo slave Kubernetes corretti o può essere definito un concetto di nodo master nell'architettura Kubernetes che viene utilizzato per eseguire una corretta gestione dei cluster.
Quali sono i vantaggi dell'architettura Kubernetes?
Sviluppato da Borg e Omega ha i seguenti vantaggi
- Esegue e aiuta nella corretta orchestrazione di servizi e cluster contenenti contenitori diversi.
- L'infrastruttura centrata sull'applicazione è il suo motto principale, i modi più vecchi di distribuire un'applicazione su una macchina virtuale non sono un modo efficiente. Pertanto, molte applicazioni all'interno dei container possono stabilire comunicazioni ed eseguire attività in modo efficace.
- Velocità: con la funzione di integrazione continua e implementazione continua, ha un'ottima funzione di aumentare la velocità e l'agilità del miglioramento del prodotto.
- Configurazione dichiarativa: questa funzione consente di fornire facilmente configurazioni all'interno dell'applicazione utilizzando file YAML, chiavi di cluster di stato e informazioni riservate.
- Gestione delle risorse: con tutti i nodi, i cluster, i volumi e i pod nella stessa applicazione aiuta a gestire le risorse in modo semplificato.
Quindi possiamo concludere che quei modi più vecchi di fare un project management di successo sono andati vani e nuovi modi di rendere il project management hanno avuto successo con questi strumenti di DevOps in quanto sono efficienti e duraturi con auto-guarigione e auto-scaling proprietà e nel mero futuro saranno utilizzate a fondo per tutte le attività per mantenere l'agilità e la velocità per la consegna del prodotto ai clienti finali.
Articoli consigliati
Questa è stata una guida all'architettura di Kubernetes. Qui discutiamo dell'architettura di Kubernetes insieme ai componenti chiave e ai vantaggi in dettaglio. Puoi anche dare un'occhiata ai seguenti articoli per saperne di più -
- Che cos'è Kubernetes?
- Operatori Kubernetes
- Come installare Kubernetes?
- Installa la dashboard di Kubernetes