Questo corso illustra l’architettura di Kubernetes, i plugin più famosi e come estendere le sue funzionalità secondo le proprie esigenze.
DESCRIZIONE
Kubernetes è una tecnologia sempre più popolare che vanta ormai una ricca varietà di componenti, ma quando si esce dal mondo delle istanze gestite, può diventare problematico scegliere quali di queste utilizzare per implementare servizi come quelli offerti dai Cloud Provider.
In questo percorso cercheremo di esplorare l’architettura di Kubernetes, scegliere e configurare i plugin più famosi e capire come estendere le sue funzionalità secondo le nostre esigenze.
Inoltre, vi è sempre di più la necessità di sviluppare applicazioni in grado di integrarsi con tale tecnologia (Cloud Native Applications) in modo da aumentare la loro efficenza.
DESTINATARI: profili tecnici con esperienza in programmazione e utilizzo di Docker
OBIETTIVI
– capire l’architettura di Kubernetes e gestirne le risorse
– comprendere il modello di networking (CNI) e quello di storage (CSI)
– scelta e utilizzo degli operatori per gestire varie funzionalità
– monitorare l’infrastruttura e le applicazioni
– il backup del cluster
– realizzare un operatore (Python oppure Go)
– comprendere i concetti di una Cloud Native Application (CNA)
PREREQUITI
– esperienza base di programmazione e scripting in ambiente Linux (bash, Python)
– creazione di immagini Docker
TRAINER
Laureato in Informatica nel 2005, ha un’esperienza di 15 anni nel campo della programmazione in diversi contesti: scientifico, industriale ed economico lavorando presso realtà di diversa tipologia, dalla piccola azienda alle multinazionali cercando sempre di integrare il meglio delle diverse tecnologie.
Oltre al ruolo di sviluppatore software dove ha consolidato la propria esperienza con la realizzazione sistemi di backend mediante linguaggi di programmazione come C, C#, Javascript, Python e Go, ha assunto anche il ruolo di DBA dove ha lavorato con le tecnologie NoSQL come MongoDB, Elasticsearch, Redis e Cassandra.
Attualmente ricopre i ruoli di Devops Engineer e Cloud Native Developer sfruttando tecnologie come Docker e Kubernetes per la realizzazione e gestione di sistemi di integrazione continua e rilascio automatico (CI/CD) in ambienti On-Premise, ma con sempre maggiore attenzione al mondo del Cloud (AWS, Google cloud Platform e Microsoft Azure).
PROGRAMMA DEL CORSO
– Concetti base (Nodi, Control Plane, labels)
– Interazione con kubernetes (kubectl, Kontena Lens)
– Workloads (Pos, Deployment, StatefulSet, DaemonSet)
– Applicazioni (Helm, Docker, kubectl, concetti CNA)
– Modello di Networking (Service, Ingress, DNS, CNI)
– Volumi (PersitentVolumClaim, Volume, StorageClass, CSI)
– Monitoraggio (Prometheus, Grafana)
– Backup (Velero, Kanister)
– Custom Resources (CRD, Operators)
– Introduzione allo sviluppo (introduzione a Go, Operatori e CNA)