Panoramica: Kubernetes Cluster
Un cluster Kubernetes è un gruppo di sistemi nodo che serve a eseguire applicazioni containerizzate. Se utilizzi Kubernetes, stai utilizzando un cluster.
Un cluster contiene, come minimo, un piano di controllo e uno o più sistemi di elaborazione, o nodi. Il piano di controllo mantiene lo stato desiderato del cluster, decidendo ad esempio le applicazioni da eseguire e le immagini container utilizzate da queste ultime. I nodi eseguono concretamente le applicazioni e i carichi di lavoro.
Il cluster è l'elemento centrale di Kubernetes, perché offre la possibilità di pianificare ed eseguire i container in un gruppo di macchine di qualsiasi tipo: fisiche o virtuali, on premise o nel cloud. I container Kubernetes non sono vincolati alle singole macchine, ma sono invece astratti nel cluster.
Come interagiscono tra loro cluster, nodo, pod e gli altri componenti di Kubernetes?
Abbiamo definito un cluster come un insieme di nodi. Approfondiamo gli altri componenti di Kubernetes per comprendere meglio il concetto di cluster.
Piano di controllo: raccolta di processi che controllano i nodi Kubernetes. È il punto di origine di tutte le attività assegnate.
Nodi: macchine che eseguono le attività richieste assegnate dal piano di controllo.
Pod: gruppo di uno o più container distribuiti su un singolo nodo. Il pod è l'oggetto Kubernetes più piccolo e semplice.
Servizio: un modo per esporre un'applicazione eseguita in un set di pod come servizio di rete. Consente di disaccoppiare le definizioni del lavoro dai pod.
Volume: una directory che contiene i dati ed è accessibile ai container presenti in un pod. Un volume Kubernetes ha la stessa durata di vita del pod che lo contiene, ma supera la durata di qualsiasi container eseguito nel pod; i dati vengono conservati quando il container viene riavviato.
Spazio dei nomi: un cluster virtuale. Gli spazi dei nomi consentono a Kubernetes di gestire più cluster (per più team o progetti) dallo stesso cluster fisico.
Cos'è la gestione dei cluster Kubernetes?
Le moderne applicazioni cloud native implicano una distribuzione superiore degli ambienti Kubernetes, il cui deployment può avvenire su più datacenter on premise, nel cloud pubblico e all'edge.
Le organizzazioni che desiderano adottare Kubernetes su vasta scala o in produzione devono gestire vari cluster distribuiti fra ambienti diversi, ad esempio per lo sviluppo, il test e la produzione, e devono riuscire a gestirli in modo efficiente.
Per gestione dei cluster Kubernetes si intendono le procedure utilizzate da un team IT per gestire un gruppo di cluster Kubernetes.
Perché scegliere Red Hat OpenShift per Kubernetes (k8s)?
Red Hat guida e contribuisce attivamente allo sviluppo delle tecnologie open source per container tra cui Kubernetes. Ha realizzato strumenti strategici per proteggere, semplificare e aggiornare in modo automatico l'infrastruttura dei container.
Red Hat® OpenShift® è una distribuzione Kubernetes di livello enterprise, che mette a disposizione un'unica piattaforma integrata per i team operativi e di sviluppo. Red Hat OpenShift consente agli sviluppatori di scegliere i linguaggi, i framework, il middleware e i database che preferiscono, creando e distribuendo l'automazione tramite i flussi CI/CD, per potenziare la produttività.