Accedi / Registrati Account

Container

Cos'è l'orchestrazione dei container?

Jump to section

Definiamo orchestrazione dei container l'automazione dei processi di deployment, gestione, scalabilità e networking dei container. È una metodologia altamente funzionale per le aziende che devono distribuire e gestire centinaia o migliaia di host e container Linux®

L'orchestrazione dei container è applicabile a qualsiasi ambiente in cui si utilizzano i container, e risulta utile per la distribuzione della stessa applicazione su più ambienti, senza doverla riprogettare. Inserendo i microservizi nei container, è possibile gestire con semplicità i servizi, inclusi lo storage, le reti e la sicurezza. 

I container offrono alle applicazioni basate su microservizi un'unità di deployment dell'applicazione ideale e un ambiente di esecuzione autosufficiente. Permettono di eseguire più parti di un'app in modo indipendente nei microservizi, sullo stesso hardware, con un controllo superiore sui singoli componenti e cicli di vita.

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


A cosa serve l'orchestrazione dei container?

Attraverso l'automazione, l'orchestrazione dei container serve a semplificare la gestione di numerose attività, tra cui:

  • Provisioning e deployment
  • Configurazione e pianificazione 
  • Assegnazione 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 in cui verranno eseguite
  • Protezione costante delle interazioni tra container

Strumenti per l'orchestrazione dei container

Gli strumenti utilizzati per l'orchestrazione dei container offrono un framework per la gestione delle architetture basate su container e microservizi su larga scala. 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 open source per l'orchestrazione dei container ideato e sviluppato in origine dagli ingegneri di Google. Nel 2015, Google ha ceduto il controllo del progetto Kubernetes alla Cloud Native Computing Foundation, di recente formazione.

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

Consente di eliminare molti dei processi manuali previsti dal deployment e dalla scalabilità di applicazioni containerizzate, e di gestire con semplicità ed efficienza cluster di host, fisici e virtuali, su cui vengono eseguiti container Linux

Più in generale, Kubernetes garantisce l'affidabilità necessaria ad adottare un'infrastruttura containerizzata negli ambienti di produzione.

I cluster possono espandersi su più host situati su cloud pubblici, privati o ibridi. Ecco perché Kubernetes è la piattaforma ideale per l'hosting di applicazioni cloud native caratterizzate da un'elevata scalabilità.

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

Kubernetes, dalle origini a oggi

Scopri l'evoluzione di Kubernetes da progetto di Google per l'orchestrazione dei container a una delle soluzioni open source più diffuse al mondo.

Principali componenti di Kubernetes

  • Cluster: un piano di controllo e uno o più sistemi di elaborazione, o nodi.
  • Piano di controllo: raccolta di processi che controllano i nodi Kubernetes. È il punto di origine di tutte le attività assegnate.
  • Kubelet: questo servizio viene eseguito sui nodi, legge i manifest 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 ed altre risorse.

Come funziona l'orchestrazione dei container?

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 Compose.

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 server on premise e ambienti di cloud pubblico o privato.


Orchestrazione dei container per ambienti aziendali

Le applicazioni di produzione si espandono su più container, che devono essere distribuiti su più host server. È qui che entra in gioco Red Hat® OpenShift®. Red Hat OpenShift è Kubernetes per gli ambienti aziendali, ma offre molti altri vantaggi.

Red Hat OpenShift include tutti i componenti aggiuntivi che rendono Kubernetes una soluzione efficiente di livello enterprise, tra cui: registro, reti, telemetria, sicurezza, automazione e servizi.

Con Red Hat OpenShift, gli sviluppatori possono creare nuove app containerizzate, ospitarle e distribuirle nel cloud con la scalabilità, il controllo e l'orchestrazione necessari per commercializzare nuove iniziative, in modo rapido e facile.

Soluzioni per l'orchestrazione dei container

Red Hat OpenShift product logo

Una piattaforma container per le imprese basata su Kubernetes, che offre operazioni automatizzate in tutto lo stack per gestire deployment di cloud ibridi e multicloud. 

Red Hat Runtimes logo

Un set di runtime e framework leggeri per le architetture cloud più diffuse, quali i microservizi.