Scarica l'app mobile

PyCon Nove

firenze

19-22 aprile 2018

Automatizzare la creazione e gestione di un cluster di containers su cloud tramite script Python

Questa presentazione vuole introdurre il pubblico a Docker (che sta rivoluzionando il concetto di virtualizzazione e della gestione risorse, in modo particolare nell’ ambito del Cloud) in tutti i suoi più recenti tools (engine, registry, compose, machine, swarm) e dimostrare poi con uno caso d’uso reale (la distribuzione di risorse di calcolo tramite Jupyter Notebooks nei corsi per la comunità scientifica) come un cluster di container possa rendere tutto molto facile anche a chi non è un amministratore di sistemi. Il tutto automatizzato tramite Python 3.

La piattaforma a disposizione nel caso d’uso è un cloud interno basato su Openstack. Tramite script viene resa automatica la creazione di macchine virtuali su Openstack, la connessione a queste per installare docker e configurarne l’engine, creare un cluster Docker con swarm che utilizza tutte le macchine virtuali e avviarne la replicazione di un certo numero di containers su porte diverse, a partire da una lista CSV di studenti. In ogni container ci sarà Jupyter mascherato da una password pseudo-random. Lo script stampa a termine la lista di studenti con l’indirizzo del proprio notebook server e la password associata.

Dopo l’avvio potremo comunque interagire con i containers, ad esempio riavviarli o eseguirvi comandi in parallelo. Delle librerie python a disposizione in particolare vi è Plumbus per avere i comandi di shell negli script, Paramiko per connettersi alle macchine remote. Dal codice è stato alla fine ottenuto un progetto open-source, disponibile su github: https://github.com/pdonorio/cloudscale


Do you have some questions on this talk?

Nuovo commento