Cap.1 – Overview of Container Technology
- Overview della differenza tra container e VM
- Descrizione dei problemi attuali in fase ad esempio di sviluppo, librerie condivise, diverse versioni di application server, diversi runtime.
- Descrizione dei problemi che si vanno a risolvere con un approccio a container (librerie condivise, footprint di risorse, segregazione)
- portabilità semplice da un ambiente all’altro un’applicazione containerizzata, grazie al disaccoppiamento con l’host.
- Differenze tra approccio tradizionale e approccio container
Cap.2 – Overview of Container Architecture
- Descrizione dei container, con un piccolo accenno alla gestione in kernel space dei namespace, cgroups, SECCOMP, SELinux.
- Legenda dei termini utilizzati, container, immagini, repository
- Cenni su Red Hat Container Catalog, Quay, Docker Hub
- Introduzione a Podman, OCI, differenza con docker
- Podman e registry, immagini e containers
Cap.3 – Overview of Kubernetes and Openshift
- Gestione manuale dei containers
- Perché è necessario un orchestratore
- Limiti delle risorse, autoscaling in base al traffico
- Reagire tempestivamente in caso di errori (health checks)
- Accenno a Blu/Green deployment e A/B testing
- Kubernetes (Orchestration, Scheduling e Isolation)
- Accenno agli Operators
- Openshift
Cap.4 – Provisioning a Containerized Database Server
- Dimostrazione con podman (search, pull)
- Sintassi del nome delle immagini
- Podman run, Entrypoint, -d, -it, -e
- Dimostrazione mysql container (exec -it)
Cap.5 – Building Custom Container Images with Dockerfiles
- Breve introduzione ai Dockerfile
- Differenza tra COPY e ADD
- CMD e ENTRYPOINT
- Layers
- Podman build
- Dimostrazione creazione Dockerfile
- Portforward
Cap.6 – Creating Basic Kubernetes and Openshift Resources
- Introduzione ai Pod
- Nodi master, worker, infra
- Services, PV, PVC,CM, Secrets,
- Openshift resources (DC, BC, Routes)
- CoreOS
- Operators
- Oc utility
- New-app, get, describe, delete, exec, export, create, edit
- Dimostrazione con oc (creazione project e applicazione)
Cap.7 – Creating Applications with the Source-to-Image Facility
- Processo S2I
- Openshift per developer
- Benefit: patching, speed, efficient
- Image Streams, breve accenno a come gestire aggiornamenti delle app a partire dall’aggiornamento di una immagine monitorata dall ’imagestream
- BuildConfig VS DeploymentConfig – Rollout automatici e trigger sulla base di rebuild del codice
- Dimostrazione S2I con:
- Applicazione da codice
- Esposizione service + route
- Modifica codice su git – push
- oc start-build
Cap.8 – Creating Routes
- Esposizione dei servizi
- Visualizzazione configurazione delle routes
- Limiti delle rotte, traffico L7 http/https/websocket
- Cenno all’esistenza di servizi NodePort per l’esposizione di servizi non http/https
- oc expose
- Come il nome dell’url viene creata di default come può essere personalizzata
- BONUS: perché le rotte hanno un ‘pattern’ di default .apps.dominio e dove ‘si sceglie’
- Dimostrazione creazione route
Cap.9 – Creating Applications with the Openshift Web Console
- Come accedere alla web console
- Funzionalità della web console
- task amministrativi e di gestione delle applicazioni da web console, senza necessariamente conoscere i comandi
- Creare un’applicazione da web console