Il corso DO180 Red Hat OpenShift Administration I: Operating a Production Cluster è incentrato a spiegare come creare e gestire i container tramite Podman e come gestire il deploy di applicazioni containerizzate in un cluster Kubernetes e OpenShift.
La tecnologia dei Linux Container è ad oggi oggetto di attenzioni ed importanti investimenti da parte di molte aziende che si stanno orientando, ed in alcuni casi già muovendo, al fine di adottare soluzioni DevOps oriented e reingegnerizzare l’architettura delle proprie applicazioni migrando verso i microservizi.
Comprendere appieno i concetti che sono alla base dei container, il meccanismo di isolamento di processi gestito dal sistema operativo e come esso viene facilitato con l’introduzione al funzionamento di Podman, è parte di un necessario percorso che introduca la tecnologia in modo graduale e chiaro, per poi arrivare ad affrontare i concetti di orchestrazione, scalabilità. alta affidabilità e gestione del lifecycle applicativo tipici di un cluster Kubernetes/OpenShift.
Nella parte iniziale del corso, parleremo infatti dei Linux Containers, cosa sono, quali sono i vantaggi del loro impiego e come possiamo iniziare ad interagire con essi, introducendo Podman, l’utility che utilizzeremo per buona parte del corso, con il quale andremo a gestire la creazione dei primi containers, l’aggiunta di storage persistente, come accedervi.
Proseguiremo poi trattando la gestione di immagini container tramite Image registry, privati e non, e andremo ad analizzare nel dettaglio tutte le direttive di uso più comune da utilizzare all’interno di un Dockerfile per la creazione di container image personalizzate.
Una volta fissati i concetti di base su Podman e Linux Container, inizieremo un approfondimento che ci porterà ad analizzare come poter eseguire il deploy di applicazioni containerizzate in OpenShift. Avremo un primo approccio con il source-to-image (S2I), framework integrato e caratteristico di Openshift che ci permetterà di creare delle container image a partire, ad esempio, dal codice sorgente della nostra applicazione, da un Dockerfile o da una immagine già esistente.
Tali immagini saranno poi deployate all’interno del nostro cluster e potranno essere personalizzate ulteriormente durante il processo.
Nella parte finale del corso, ci occuperemo di studiare la creazione di applicazioni multi-container, gestirne le loro interazioni e la loro configurazione attraverso i template, per poi concludere il nostro percorso con una parentesi sul troubleshooting e come affrontare i problemi più comuni relativi a build, deploy e configurazioni.
Come di consueto, a completamento del corso è prevista una comprehensive review, un laboratorio completo che ripercorre i temi trattati e permette agli studenti di testare le competenze acquisite.