2. $whoami
Yefry Figueroa
Consulente IT, principalmente in ambito cloud, microservizi
Lavoro nell’IT da 13 anni. Come sistemista linux dal 2013
Lavoro con container e microservizi dal 2015
Gestisco centinai di container in produzione
Yefry Figueroa
www.figueroa.it
3. Agenda
Un passo indietro
Parte 1
Cos’è Docker?
VM vs Container Docker
Architettura e componenti Docker
Demo Docker
Cos’è Kubernetes?
Parte 2
Componenti Cluster Kubernetes
Pods, Services, Deployments
Come creiamo un Cluster?
Demo Kubernetes
Yefry Figueroa
7. Cos’è
È una tecnologia basata su container
Linux che ci permette di creare,
distribuire, testare ed eseguire
applicazioni in modo facile e veloce.
Yefry Figueroa
8. Cos’è
È un’unità standard di software che
impacchetta il codice e tutte le sue
dipendenze in modo che
l’applicazione venga eseguita a
prescindere dall’ambiente e in
maniera rapida e affidabile.
un container
Yefry Figueroa
9. Virtual Machine vs Container
• Virtualizzano l’hardware
• Occupano molto più spazio. Solitamente qualche GBs.
• Meno portabili e più lente al boot
• Virtualizzano il sistema operativo
• Una immagine di un container solitamente occupa pocchi MBs
• Sono più portatili ed efficienti
Yefry Figueroa
15. Ci sono un po’ di questioni
ancora da risolvere:
- scalare e distribuire la nostra applicazione?
- creare un sistema completo, affidabile, scalabile e distribuito?
- gestire e orchestrare tanti container?
Come facciamo a
Yefry Figueroa
16. Per fare tutto ciò ci serve un
cluster Kubernetes
Yefry Figueroa
17. Cos’è
È un orchestratore open source per la
gestione e distribuzione di applicazioni a
container.
E’ stato sviluppato originariamente da
Google.
kubernetes?
Yefry Figueroa
19. Componenti di un cluster Kubernetes
per Produzione
Yefry Figueroa
20. Pod
È un gruppo di uno o più container
che condividono la rete, lo storage e le
direttive per eseguire i container.
Service
Fornisce load balancing, naming e
discovery. Permette di esporre
un'applicazione in esecuzione su un
set di pod come servizio di rete.
Namespace
È un cluster virtuale all’interno del
cluster fisico. Fornisce isolamento e
controllo degli accessi.
Alcuni
Concetti
Deployment
Fornisce aggiornamenti dichiarativi.
Controlla lo stato attuale
dell’applicazione con quello desiderato
ed esegue il deploy in base al risultato.
kubectl
È un tool da riga di comando che ci
permette di controllare i cluster
Kubernetes
Yefry Figueroa
22. Minikube kind K3S
Kubeadm kops Rancher
Locale
Produzione
Kubernetes on-premise
Development
Small clusters
Docker Desktop Microk8s K3D
VMware ci riprova con Tanzu
Yefry Figueroa