cosa è un container definizioni
11.12 2019 | by massimilianoUn Container è un insieme di immagini applicative distinte, isolate dal resto del sistema operativo pur condividendo il kernel ossia […]
https://www.ingegnerianetworking.com/wp-content/uploads/2019/12/diff-vm-container-171.png
Un Container è un insieme di immagini applicative distinte, isolate dal resto del sistema operativo pur condividendo il kernel ossia la parte che gestisce le risorse software con l’hardware del client
Il Container Linux che contiene una applicazione dove sono presenti le librerie, le dipendenze ed i file necessari
Il Container quindi nasce per separare e virtualizzare dei processi in un ambiente modificato (tipo chroot) in modo tale che ogni tipo di accesso (filesystem, user, etc…) non potesse compromettere l’intero sistema
Il Container presente tecnologie quali i gruppi di controllo (cgroups) i quali sono una feature del kernel per controllare e limitare l’uso di risorse da parte di un determinato processo; i cgroups utilizzano un sistema (systemd) di inizializzazione che configura lo spazio utente e ne gestisce i processi
Il Container utilizza tecniche di virtualizzazione come lo spazio dei nomi dei kernel (ID di processo o nomi di rete), lo spazio dei nomi utente (ID user ed ID groups a livello di spazio dei nomi)
Il Container Linux è chiamato anche LXC
Altri Container come Docker consente maggiori capability come quella di invio delle immagini e di versioning, agevola la suddivisione delle applicazioni nei vari processi e mette a disposizione strumenti per farlo
Kubernetes (K8s) è una piattaforma opensource che consente di gestire cluster di host su cui vengono eseguiti Container Linux su cloud pubblici o privati o ibridi.
Kubernetes si integra con reti, storage, security per mettere a disposizione una infrastruttura di Container completa ed utilizza un sistema di Orchestration
Differenza grafica tra concetto di virtualizzazione e Container