Cos'è l'orchestrazione dei container?

Copia URL

L'orchestrazione dei container è il processo che permette di automatizzare il deployment, la gestione, la scalabilità e il networking dei container attraverso l'intero ciclo di vita. Questo aiuta a distribuire la stessa applicazione su diversi ambienti senza la necessità di riprogettarla, aspetto particolarmente importante per le aziende che hanno bisogno di distribuire e gestire centinaia o migliaia di container Linux® e host.

Scegliere l'orchestrazione per il ciclo di vita dei container supporta inoltre i team DevOps a gestire più facilmente i flussi di integrazione e deployment continui (CI/CD). In combinazione con le  interfacce di programmazione delle applicazioni (API) e i team DevOps, i  microservizi containerizzati costituiscono la base delle  applicazioni cloud native.

Scopri i vantaggi di Kubernetes per l'orchestrazione dei container aziendali

L'orchestrazione dei container si serve dell'automazione per semplificare la gestione di numerose attività, tra cui:

  • Provisioning e deployment
  • Configurazione e pianificazione 
  • Allocazione delle risorse
  • Disponibilità dei container 
  • Scalabilità o rimozione dei container in funzione del bilanciamento dei carichi di lavoro dell'infrastruttura
  • Bilanciamento del carico e routing del traffico 
  • Monitoraggio dell'integrità dei container
  • Configurazione delle applicazioni in base al container su cui verranno eseguite
  • Protezione costante delle interazioni tra container

Risorse da Red Hat

Gli strumenti di orchestrazione dei container offrono un framework per la gestione dell'architettura dei microservizi e dei container sfruttando modalità scalabili. Numerosi sono gli strumenti disponibili per la gestione del ciclo di vita dei container. Tra i più diffusi ricordiamo Kubernetes, Docker Swarm e Apache Mesos.

Kubernetes è uno strumento di orchestrazione dei container open source che fu inizialmente progettato e sviluppato dagli ingegneri di Google. Nel 2015 Google ha ceduto il controllo del progetto Kubernetes alla neonata Cloud Native Computing Foundation.

L'orchestrazione di Kubernetes consente di creare servizi applicativi che si estendono su più container, programmare tali container in un cluster e gestirne la scalabilità e l'integrità nel tempo.

Kubernetes consente di eliminare molti processi manuali necessari per il deployment e la scalabilità delle applicazioni containerizzate. Questa piattaforma semplifica e ottimizza la gestione dei cluster formati dai gruppi di host, che possono essere macchine virtuali o fisiche, che eseguono i container Linux. 

Più in generale, Kubernetes ti permette di implementare e di fare pieno affidamento su un'infrastruttura containerizzata negli ambienti di produzione.

Questi cluster possono gestire host su cloud pubblici, privati o ibridi. Queste funzionalità rendono quindi Kubernetes la piattaforma più adeguata per l'hosting di applicazioni cloud native che richiedono scalabilità rapida.

Infine, semplifica il bilanciamento e la portabilità dei carichi di lavoro, perché permette di trasferire le applicazioni tra diversi ambienti senza doverle riprogettare. 

I componenti principali di Kubernetes:

  • Cluster: un piano di controllo e uno o più sistemi di elaborazione, o nodi.
  • Piano di controllo: l'insieme di processi che controllano i nodi di Kubernetes. È il punto di origine di tutte le attività assegnate.
  • Kubelet: questo servizio eseguito sui nodi legge i manifesti del container e garantisce l'avvio e l'esecuzione dei container definiti.
  • Pod: un gruppo di uno o più container distribuiti su un singolo nodo. Tutti i container presenti in un pod condividono indirizzo IP, IPC, nome host e altre risorse.
Scarica l'ebook e scopri come progettare app cloud native con i modelli Kubernetes riutilizzabili

Quando si utilizza uno strumento di orchestrazione dei container come Kubernetes, la configurazione di un'applicazione viene descritta tramite un file YAML o JSON. Questo file indica allo strumento di gestione della configurazione dove trovare le immagini del container, come definire una rete e dove archiviare i registri.

Durante il deployment di un nuovo container, lo strumento di gestione dei container programma automaticamente il deployment in un cluster e individua l'host corretto tenendo conto di ogni requisito o limite indicato. Lo strumento di orchestrazione gestisce quindi il ciclo di vita del container in base alle specifiche determinate nel file di composizione.

I modelli Kubernetes possono essere utilizzati per gestire la configurazione, il ciclo di vita e la scalabilità delle applicazioni e dei servizi containerizzati. Sono modelli ripetibili necessari agli sviluppatori Kubernetes per creare sistemi completi. 

L'orchestrazione dei container può essere adottata in qualsiasi ambiente in cui vengono eseguiti i container, inclusi i server on premise e gli ambienti di cloud pubblico o privato.

Scopri come utilizzare i deployment Kubernetes per aggiornare le applicazioni

Le applicazioni di produzione interessano più container, che devono essere distribuiti su più server host. Questo è il contesto in cui si inserisce Red Hat®.

Red Hat  OpenShift® ​​​​​è Kubernetes progettato per gli ambienti aziendali, oltre a offrire molti altri vantaggi. OpenShift include tutti i componenti aggiuntivi che rendono Kubernetes dinamico e utilizzabile dalle aziende, tra cui: registro, reti, telemetria, sicurezza, automazione e servizi.

E grazie a strumenti come Red Hat Service Interconnect, router e gateway offrono una comunicazione affidabile tra servizi su più cloud, dispositivi all'edge, versioni base di Kubernetes e OpenShift.

Red Hat offre agli sviluppatori la possibilità di creare nuove app containerizzate, ospitarle e distribuirle nel cloud con i livelli di alta disponibilità, scalabilità, controllo e orchestrazione necessari per trasformare i progetti in nuove opportunità di business, in modo semplice e rapido.

Scopri di più su Red Hat OpenShift

Prova, acquista e gestisci software certificato in cloud pubblici, cloud privati e datacenter aziendali. Red Hat Marketplace offre un modo semplice per accedere al software che utilizzi già, creare un ambiente unificato basato su Kubernetes e distribuirlo in qualsiasi tipologia di ambiente.

Con Red Hat Marketplace puoi dedicare più tempo allo sviluppo di soluzioni innovative, senza preoccuparti di monitorare licenze, diritti e scadenze.

Scopri di piùProva la soluzione
Hub

Il blog ufficiale di Red Hat

Leggi gli articoli del blog di Red Hat per scoprire novità e consigli utili sulle nostre tecnologie, e avere aggiornamenti sul nostro ecosistema di clienti, partner e community.

Tutte le versioni di prova dei prodotti Red Hat

Grazie alle versioni di prova gratuite dei prodotti Red Hat potrai acquisire esperienza pratica, prepararti per le certificazioni o capire se il prodotto che hai scelto è giusto per le esigenze della tua organizzazione.

Continua a leggere

Virtualizzazione: Container Linux e VM

Container e macchine virtuali consentono di isolare alcuni componenti IT per facilitarne l'utilizzo e la gestione. Scopri le differenze tra container e vm.

Cos'è il Kubernetes Java Client?

Il Kubernetes Java Client è una libreria client che permette di utilizzare il linguaggio di programmazione Java per interfacciarsi con Kubernetes.

Cloud computing: OpenShift operators

Gli operatori Red Hat OpenShift consentono di automatizzare la creazione, la configurazione e la gestione delle istanze del software applicativo Kubernetes native.

Container: risorse consigliate

Articoli correlati