laboratorio openstack

30
Laboratorio Openstack Corso di Telematica —————– Corso di Laurea in Informatica Umanistica Università di Pisa Augusto Ciuffoletti Univ. di Pisa 13 maggio 2016 Augusto Ciuffoletti (Univ. di Pisa) Laboratorio Openstack 13 maggio 2016 1 / 30

Upload: augusto-ciuffoletti

Post on 14-Apr-2017

291 views

Category:

Education


6 download

TRANSCRIPT

Page 1: Laboratorio Openstack

Laboratorio OpenstackCorso di Telematica

—————–Corso di Laurea in Informatica Umanistica

Università di Pisa

Augusto Ciuffoletti

Univ. di Pisa

13 maggio 2016

Augusto Ciuffoletti (Univ. di Pisa) Laboratorio Openstack 13 maggio 2016 1 / 30

Page 2: Laboratorio Openstack

Laboratorio Openstack

Openstack: Infrastructure As A Service

OpenStack è un software di pubblico dominio per la realizzazionedi una infrastruttura IaaS

I impresa con un servizio di cloud privatoI fornitore di servizi con cloud pubblica

Il software è gratuito, e soggetto alla politica Open SourceTramite OpenStack è possibile gestire un insieme di macchinefisiche, dispositivi di memoria e infrastrutture di comunicazione...

I (cioè un centro di calcolo, o datacentre)

... in modo da poter offrire a richiesta risorse di calcolo conspecifiche caratteristiche hardware e software.Questo comporta:

I grande flessibilità (nuovi servizi, potenziamento)I economia di gestione (energetica, dispositivi, personale)

Augusto Ciuffoletti (Univ. di Pisa) Laboratorio Openstack 13 maggio 2016 2 / 30

Page 3: Laboratorio Openstack

Laboratorio Openstack

User view di OpenStack

In nero le relazioni per la costruzione dell’infrastrutturaIn rosso l’accessibilità webIn verde la verifica delle credenziali

Augusto Ciuffoletti (Univ. di Pisa) Laboratorio Openstack 13 maggio 2016 3 / 30

Page 4: Laboratorio Openstack

Laboratorio Openstack

TryStack: una sandbox gratuita

TryStack è un servizio che rende accessibile una installazione diOpenStackL’intento dichiarato è di consentire all’utente di familiarizzare conl’uso della piattaforma a costo zeroLa quantità di risorse disponibili all’utente è limitataLe risorse vengono riazzerate ogni 24 oreNon c’è nessuna garanzia di livello del servizioSi chiama sandbox: giocate quanto volete ma poi noi rimettiamotutto a posto

I ...e spianiamo il vostro castello :-)

Augusto Ciuffoletti (Univ. di Pisa) Laboratorio Openstack 13 maggio 2016 4 / 30

Page 5: Laboratorio Openstack

Laboratorio Openstack

Accreditamento presso TryStack

E’ necessario possedere un account FacebookAderire al gruppo trystack (tasto Join Our Facebook Group)Attendere che la richiesta venga accettata (alcuni giorni)Utilizzare il tasto Login per accedere (o verificare che la richiestasia stata accettata)

Augusto Ciuffoletti (Univ. di Pisa) Laboratorio Openstack 13 maggio 2016 5 / 30

Page 6: Laboratorio Openstack

Laboratorio Openstack

Costruiamo una rete in the cloud

Queste trasparenze seguono abbastanza fedelmente il videotutorial suggerito da TryStackPartiamo da un sistema inizialmente vuotoCostruiamo una rete virtualeColleghiamo una macchina virtuale alla reteCreiamo un router che colleghi la rete all’esternoAssociamo un indirizzo pubblico e configuriamo un firewall

I ... e domani non resterà nulla

Augusto Ciuffoletti (Univ. di Pisa) Laboratorio Openstack 13 maggio 2016 6 / 30

Page 7: Laboratorio Openstack

Laboratorio Openstack

La dashboard Openstack

La dashboard riassume tutte le risorse in uso e dà accesso allaloro configurazionePer la nostra esercitazione useremo solo quelle sulla prima riga:

I Instances: le macchine virtualiI VCPU: i "core" distribuiti nelle macchine virtualiI RAM: la quantità di RAM da distribuire sulle VMI Floating IPs: il numero di IP pubblici disponibiliI Security groups: per la protezione

Augusto Ciuffoletti (Univ. di Pisa) Laboratorio Openstack 13 maggio 2016 7 / 30

Page 8: Laboratorio Openstack

Laboratorio Openstack

La situazione iniziale

La situazione iniziale comprende la sola rete pubblicaCorrisponde al backbone gestito da trystack, utilizzabile ma nonconfigurabileNon possiamo agganciare nodi di elaborazione, solo router cheservano nostre reti interne

Augusto Ciuffoletti (Univ. di Pisa) Laboratorio Openstack 13 maggio 2016 8 / 30

Page 9: Laboratorio Openstack

Laboratorio Openstack Creiamo una rete

Primo passo: creiamo una rete

Una rete è in realtà un contenitore di sottoretiSelezionando "Create Network" accedo ad un wizardDefinisco prima il nome della nuova rete (interno)

Augusto Ciuffoletti (Univ. di Pisa) Laboratorio Openstack 13 maggio 2016 9 / 30

Page 10: Laboratorio Openstack

Laboratorio Openstack Creiamo una rete

Definiamo una sottorete

definisco il range di indirizzi IP della sottorete

Augusto Ciuffoletti (Univ. di Pisa) Laboratorio Openstack 13 maggio 2016 10 / 30

Page 11: Laboratorio Openstack

Laboratorio Openstack Creiamo una rete

Creiamo una rete

Esiste il servizio di DHCP sulla sottoreteDefiniamo il server DNS per la nostra rete

I 8.8.8.8 è il server DNS offerto da GoogleAugusto Ciuffoletti (Univ. di Pisa) Laboratorio Openstack 13 maggio 2016 11 / 30

Page 12: Laboratorio Openstack

Laboratorio Openstack Creiamo una rete

Nuova situazione

Abbiamo definito una rete "interno" con l’indirizzo indicatoOra possiamo agganciare a questa una macchina virtuale

I ...ma prima definiamo una chiave per accedervi

Augusto Ciuffoletti (Univ. di Pisa) Laboratorio Openstack 13 maggio 2016 12 / 30

Page 13: Laboratorio Openstack

Laboratorio Openstack Carichiamo una chiave pubblica

Secondo passo: carichiamo la nostra chiave pubblica

Ci serve per poter accedere alle macchine virtualiPiù comodo rispetto a utente/password

I pensate a gestire decine di macchineLa vostra chiave pubblica è nel file .ssh/id_rsa.pub

I Se non l’avete ancora creata, createla come indicato in una lezioneprecedente (ssh-keygen)

Visualizzate il file, evidenziate con il mouse e cut

Augusto Ciuffoletti (Univ. di Pisa) Laboratorio Openstack 13 maggio 2016 13 / 30

Page 14: Laboratorio Openstack

Laboratorio Openstack Carichiamo una chiave pubblica

Carichiamo la nostra chiave pubblica

Nella dashboard selezionare Access and Security e Key pairs

Poi selezionate Import key pair

Copiate la chiave nello spazio Public key

Associatele il nome che preferite (ad es. cloud-key)Augusto Ciuffoletti (Univ. di Pisa) Laboratorio Openstack 13 maggio 2016 14 / 30

Page 15: Laboratorio Openstack

Laboratorio Openstack Creiamo una macchina virtuale

Terzo passo: creiamo una macchina virtuale

Dalla dashboard selezionate Instances e poi Launch Instance

Della nuova macchina virtuale definiamo:I nome (ad es. telematica1)I potenza di calcolo (flavor)I sistema operativo (image)Augusto Ciuffoletti (Univ. di Pisa) Laboratorio Openstack 13 maggio 2016 15 / 30

Page 16: Laboratorio Openstack

Laboratorio Openstack Creiamo una macchina virtuale

Carichiamo la nostra chiave nella macchina virtuale

Carichiamo nell’immagine la nostra chiave pubblicaI Dovrebbe essere già indicataI Servirà per accedere alla macchina virtuale

Osservate il gruppo di sicurezza predefinitoI ci lavoreremo più tardi

Augusto Ciuffoletti (Univ. di Pisa) Laboratorio Openstack 13 maggio 2016 16 / 30

Page 17: Laboratorio Openstack

Laboratorio Openstack Creiamo una macchina virtuale

Colleghiamo la macchina virtuale a una sottorete

La nostra sottorete dovrebbe essere già indicata

Augusto Ciuffoletti (Univ. di Pisa) Laboratorio Openstack 13 maggio 2016 17 / 30

Page 18: Laboratorio Openstack

Laboratorio Openstack Creiamo una macchina virtuale

Azione!

Premiamo il tasto Launch ed attendiamo che la creazione terminiI Casella Power state con valore Running

Augusto Ciuffoletti (Univ. di Pisa) Laboratorio Openstack 13 maggio 2016 18 / 30

Page 19: Laboratorio Openstack

Laboratorio Openstack Creiamo una macchina virtuale

Facciamo il punto

La macchina virtuale è stata agganciata alla nostra reteIl servizio DHCP ha associato automaticamente un indirizzo IPTuttavia è un indirizzo privato, non accessibile dall’esternoInoltre manca il collegamento tra la nostra rete e il backboneServe un router

Augusto Ciuffoletti (Univ. di Pisa) Laboratorio Openstack 13 maggio 2016 19 / 30

Page 20: Laboratorio Openstack

Laboratorio Openstack Creiamo un router

Quarto passo: creiamo un router

Premiamo il tasto Create Router per entrare nel wizard di creazionedel routerDiamogli un nomeColleghiamolo al backbone (public)

Augusto Ciuffoletti (Univ. di Pisa) Laboratorio Openstack 13 maggio 2016 20 / 30

Page 21: Laboratorio Openstack

Laboratorio Openstack Creiamo un router

Aggiungiamo una interfaccia al router

Oltre all’interfaccia esterna ne dobbiamo definire una verso ilnostro networkSelezioniamo Add Interface e come Subnet indichiamo la nostrarete.

Augusto Ciuffoletti (Univ. di Pisa) Laboratorio Openstack 13 maggio 2016 21 / 30

Page 22: Laboratorio Openstack

Laboratorio Openstack Creiamo un router

Situazione

Ora la nostra rete è collegata tramite il router al backboneAnche al router è stato assegnato un indirizzo IP nella nostrasottoreteMa sono ancora indirizzi privati visibili solo dall’interno

I è tutto sigillato in un guscio

Devo associare un indirizzo pubblico alla mia macchina

Augusto Ciuffoletti (Univ. di Pisa) Laboratorio Openstack 13 maggio 2016 22 / 30

Page 23: Laboratorio Openstack

Laboratorio Openstack Otteniamo un indirizzo pubblico

Quinto passo: otteniamo un indirizzo pubblico

Un indirizzo pubblico è una risorsa preziosaAl nostro account gratuito ne viene fornito al massimo unoNella terminologia OpenStack si chiama floating IP

I è casuale e soggetto a scadenza

Torniamo sulla dashboardSelezioniamo tra le actions della nostra macchina Associate

Floating IP

Augusto Ciuffoletti (Univ. di Pisa) Laboratorio Openstack 13 maggio 2016 23 / 30

Page 24: Laboratorio Openstack

Laboratorio Openstack Otteniamo un indirizzo pubblico

Otteniamo un indirizzo pubblico

Ci verrà assegnato un IP pubblicoCi verrà proposto di associarlo alla macchina virtuale selezionata

Augusto Ciuffoletti (Univ. di Pisa) Laboratorio Openstack 13 maggio 2016 24 / 30

Page 25: Laboratorio Openstack

Laboratorio Openstack Otteniamo un indirizzo pubblico

Controlliamo

Nella dashboard ora viene indicato anche l’IP pubblico

Augusto Ciuffoletti (Univ. di Pisa) Laboratorio Openstack 13 maggio 2016 25 / 30

Page 26: Laboratorio Openstack

Laboratorio Openstack Configuriamo il firewall

Sesto passo: il firewall

Il traffico all’interno della rete è controllato e filtratoLa politica di default è molto restrittivaIn particolare:

I pacchetti TCP entranti bloccati (ssh bloccato)I pacchetti ICMP entranti bloccati (ping bloccato)

Dobbiamo aggiungere regole per consentire l’ingresso di questotipo di pacchettiNella Dashboard selezioniamo Access & Security

Apriamo la linguetta Security Groups

Selezionare Manage rules in corrispondenza alla regola default

Augusto Ciuffoletti (Univ. di Pisa) Laboratorio Openstack 13 maggio 2016 26 / 30

Page 27: Laboratorio Openstack

Laboratorio Openstack Configuriamo il firewall

Le regole del firewall

Premere il tasto Add Rule per aggiungere le due regole necessarieTra le regole proposte selezionare All TCP e All ICMP

Sono le ultime due della tabella in questa trasparenza

Augusto Ciuffoletti (Univ. di Pisa) Laboratorio Openstack 13 maggio 2016 27 / 30

Page 28: Laboratorio Openstack

Laboratorio Openstack Configuriamo il firewall

Conclusione (ping)

Dalla nostra macchina fisica possiamo fare ping sulla nuovamacchina in the cloud

Augusto Ciuffoletti (Univ. di Pisa) Laboratorio Openstack 13 maggio 2016 28 / 30

Page 29: Laboratorio Openstack

Laboratorio Openstack Configuriamo il firewall

Conclusione (ssh)

Dalla nostra macchina possiamo fare login sulla nostra macchinain the cloud con ssh senza passwordAugusto Ciuffoletti (Univ. di Pisa) Laboratorio Openstack 13 maggio 2016 29 / 30

Page 30: Laboratorio Openstack

Laboratorio Openstack Laboratorio

Laboratorio

Seguire i passi illustrati per ottenere lo stesso risultatoUsando nc su una macchina del laboratorio creare unaconnessione TCP o scambiare datagrammi UDPAggiungere una nuova macchina virtuale (telematica2) edaccedervi tramite ssh da telematica1

I generare una coppia di chiavi su telematica1I installare la chiave pubblica su telematica2 durante la sua

creazione

Installare python e caricare su telematica1 il software di uno deiserver visti a lezione (TCP, HTTP), ed aprire con esso unaconnessioneCreare una nuova rete con almeno una macchina virtuale econnetterla alla prima con un router

Augusto Ciuffoletti (Univ. di Pisa) Laboratorio Openstack 13 maggio 2016 30 / 30