Che cos'è un cluster Kubernetes?

Autore

Sai Vennam

Technical Offering Manager

Definizione dei cluster Kubernetes

Un cluster Kubernetes è un insieme di nodi di calcolo (macchine virtuali o fisiche) che eseguono applicazioni containerizzate gestite con la piattaforma di orchestrazione di container Kubernetes.

Il cloud offre una miriade di benefici all'azienda, tra cui flessibilità, agilità, portabilità e controllo dei costi. A questi vantaggi si aggiunge però la complessità della gestione del cloud e della distribuzione delle app in esso contenute. Kubernetes è una piattaforma di orchestrazione dei container che può contribuire ad alleviare tali complessità.

I cluster forniscono la base architettonica per Kubernetes. Pensa ai cluster come a blocchi di costruzione che permettono una consegna rapida e controllata di app cloud. Un cluster Kubernetes è un insieme di macchine collegate che lavorano insieme come un'unica unità. Sono costituiti da nodi worker che rappresentano un host di calcolo su cui si possono implementare, eseguire e gestire app containerizzate . I nodi worker sono gestiti da nodi master, che programmano i container sui nodi worker scegliendo dove distribuirli in base alla capacità disponibile e alla configurazione definita dall'utente.

Gli script specificano la configurazione del container e quali risorse sono necessarie per eseguire l'app, come storage persistente, servizi e così via. In Kubernetes, i pod sono le unità dispiegabili più piccole in un cluster e raggruppano contenitori che devono essere trattati come un'unica unità. Kubernetes crea pod per ospitare istanze di applicazione. I pod contengono uno o più container di app e condividono risorse, ad esempio informazioni di storage o rete.

Le ultime notizie nel campo della tecnologia, supportate dalle analisi degli esperti

Resta al passo con le tendenze più importanti e interessanti del settore relative ad AI, automazione, dati e oltre con la newsletter Think. Leggi l' Informativa sulla privacy IBM.

Grazie per aver effettuato l'iscrizione!

L'abbonamento sarà fornito in lingua inglese. Troverai un link per annullare l'iscrizione in tutte le newsletter. Puoi gestire i tuoi abbonamenti o annullarli qui. Per ulteriori informazioni, consulta l'Informativa sulla privacy IBM.

L'evoluzione verso l'orchestrazione di Kubernetes

L'avvento dei container ha contribuito a semplificare il cloud computing. I container impacchettano insieme il codice e tutte le sue dipendenze, permettendo a uno stack software di funzionare indipendentemente dall'ambiente in cui si trova. Sebbene i container offrano pacchetti discreti, complicano anche i problemi di gestione. La sfida era trovare un modo per far funzionare insieme questi pacchetti efficienti e leggeri. L'orchestrazione è stata la successiva evoluzione nella semplificazione degli ambienti multicloud.

Per saperne di più sulla containerizzazione, guarda il nostro video "Spiegazione della containerizzazione."

Per maggiori informazioni sull'orchestrazione dei container, guarda il nostro video "Spiegazione dell'orchestrazione dei container". (link esterno a ibm.com)

Kubernetes fornisce una piattaforma open source per la gestione di workload containerizzati e microservizi (link esterno a ibm.com). Questo permette agli sviluppatori di superare le differenze tra i provider di cloud applicando standard e coerenza su tutti i fronti per le applicazioni basate su container. La piattaforma è incentrata sui container e orchestra archiviazione, networking e calcolo al servizio dei workload degli utenti.

Con Kubernetes, gli utenti possono concentrarsi sulle funzionalità che desiderano dalle loro app cloud piuttosto che sviluppare funzionalità specifiche per piattaforma. L'architettura Kubernetes sottostante è ciò che alimenta questa capacità.

Per uno sguardo più approfondito sulle funzionalità di orchestrazione dei container di Kubernetes, vedere "Kubernetes e Docker: non c'è bisogno di scegliere":

 

Architettura del cluster Kubernetes

I cluster Kubernetes sono gli elementi costitutivi di Kubernetes e costituiscono la base architettonica della piattaforma. La modularità di questa struttura a blocchi consente accessibilità, scalabilità e facilità di distribuzione.

I workload odierni richiedono un'elevata disponibilità sia a livello di applicazione che infrastrutturale. Creando uno strato di astrazione tra le app e la loro infrastruttura sottostante, Kubernetes distribuisce il workload in modo efficiente tra le risorse disponibili. Kubernetes protegge dai guasti delle applicazioni tramite controlli costanti dello stato di salute dei nodi e dei container. Se un container si guasta, l'autoriparante e la replica risolvono l'errore. I bilanciatori di carico integrati distribuiscono il carico di lavoro su risorse aperte per ridurre l'impatto di picchi di traffico, picchi o interruzioni.

Questo stesso uso efficiente delle risorse ha un ruolo nella scalabilità. L'aggiunta e la rimozione di nuovi server è semplificata e consente un ridimensionamento orizzontale senza interruzioni. L'auto-scaling automatizzato aumenta i container in esecuzione in base a metriche specificate. I controlli di replica terminano i pod in eccesso se ce ne sono troppi in esecuzione o avviano i pod se ce ne sono troppo pochi.

Per un approfondimento sull'architettura di Kubernetes, guarda il seguente video: "Spiegazione di Kubernetes":

Guarda il video

La velocità è essenziale per gli sviluppatori. Kubernetes è progettato per consentire la rapida compilazione, il test e il rilascio del software. Nuove versioni o aggiornamenti vengono propagate tramite distribuzione automatica. Funziona bene anche con le release canary, consentendo alle distribuzioni di nuove versioni di funzionare parallelamente alle versioni precedenti, verificando l'affidabilità della nuova versione prima di avviarla alla produzione completa.

Monitoraggio del cluster Kubernetes tramite Prometheus

Man mano che le app containerizzate diventano più granulari e indipendenti, il monitoraggio diventa una sfida. Questa sfida si estende al monitoraggio dei cluster Kubernetes. Il monitoraggio tradizionale indica se un programma, servizio o strumento è attivo (in funzione) o non funzionante. Per i microservizi, l'approccio up/down è troppo marcato poiché un microservizio a funzione singola potrebbe essere fuori uso senza causare un impatto sull'azienda. Gli strumenti di monitoraggio moderni devono offrire distinzioni più raffinate e integrarsi meglio con piattaforme diverse e app mutabili.

Prometheus, uno strumento open source di registrazione, monitoraggio e avviso, è progettato per la portabilità e la mutevolezza degli ambienti multicloud e supera i limiti del monitoraggio tradizionale. Deriva metriche ricche da cluster Kubernetes, nodi worker e distribuzione. Prometheus utilizza coppie chiave-valore, che funzionano bene con il modo in cui Kubernetes organizza i metadati. Prometheus esegue regolarmente lo scraping e il rilevamento automatico dei dati di destinazione, il che lo rende una buona soluzione per workload effimeri.

IBM Cloud

Red Hat OpenShift AI on IBM Cloud: implementa workload di AI

Usa le funzionalità AI con Red Hat OpenShift on IBM Cloud. Questo video spiega come creare, implementare e gestire i workload di AI in modo efficiente con una piattaforma di operazioni di apprendimento automatico scalabile.

Soluzioni correlate
IBM Red Hat OpenShift

Red Hat OpenShift on IBM Cloud è una OpenShift Container Platform (OCP) completamente gestita.

Esplora Red Hat OpenShift
Soluzioni container

Le soluzioni basate su container eseguono e scalano workload containerizzati con sicurezza, innovazione open source e implementazione rapida.

Esplora i container
Servizi di consulenza cloud 

Sblocca nuove funzionalità e promuovi l'agilità aziendale con i servizi di consulenza cloud di IBM. Scopri come creare insieme soluzioni, accelerare la trasformazione digitale e ottimizzare le prestazioni attraverso strategie di hybrid cloud e partnership di esperti.

Servizi cloud
Fai il passo successivo

Inizia con una piattaforma Red Hat OpenShift completamente gestita o esplora la flessibilità dell'ecosistema Kubernetes di IBM Cloud. Accelera il processo di sviluppo e distribuzione con soluzioni scalabili e sicure, su misura per le tue esigenze.

Esplora Red Hat OpenShift Esplora Kubernetes