⇤ ← Versione 1 del 05/10/2013 12.35.30
Dimensione: 346
Commento:
|
Dimensione: 2539
Commento:
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 6: | Linea 6: |
{{attachment:RoadHouse.png}} I vari container comunicano in una loro rete interna abbinata all'interfaccia lxcbr0. Il server Varnish riceve le richieste dall'esterno e fa da proxy verso i vari container. I container non sono accessibili direttamente dall'esterno (hanno un ip privato interno) |
|
Linea 9: | Linea 12: |
LXC (Linux Containers http://lxc.sourceforge.net/ ) è un progetto che permette, utilizzando chroot e le funzionalità del kernel denominate cgroups, di creare degli ambienti di esecuzione totalmente isolati dal resto del sistema. Nel nostro progetto l'idea è di dedicare ad ogni singolo servizio un container separato, in modo da poter procedere in modo indipendente ad aggiornamenti, patch ecc ecc senza impattare sugli altri servizi. === Rete === E' stata creata un interfaccia lxcbr0, un bridge interno alla macchina alla cui rete si collegheranno tutti i container, partecipando alla rete 10.78.88.0/24. I container hanno accesso all'esterno, attraverso NAT effettuato dal firewall di RoadHouse. === Accesso === L'accesso ai container creati si ha prima collegandosi a RoadHouse e poi effettuando ssh verso l'ip privato del container (TODO: nattare le porte ssh verso l'esterno per evitare questo salto?) |
|
Linea 12: | Linea 25: |
Le macchine sono create con lo script [[https://github.com/remixtj/lxc-debootstrap|lxc-debootstrap]] che a partire da un semplice file di configurazione, crea la macchina a partire da una root creata con debootstrap ed effettuando alcune modifiche per girare in lxc. Il tool deve essere eseguito da root. Per maggiori informazioni si rimanda al README abbinato. L'avvio e lo stop delle macchine virtual può essere fatto da root con i comandi che trovate nella guida ufficiale di [[https://help.ubuntu.com/lts/serverguide/lxc.html|LXC]] nel wiki di ubuntu (o qualsiasi altra guida). |
|
Linea 13: | Linea 33: |
Varnish è un caching proxy frontend server. Il suo scopo nel progetto sarà di ricevere dall'esterno le connessioni degli utenti e passare le richieste al container appropriato. Inoltre effettuerà caching dei, riducendo quindi la quantità di risorse necessarie specialmente per la riesecuzione di pagine dinamiche (es. php o python) che non sono nel frattempo variate. |
RoadHouse - Progetto
Ho effettuato alcune configurazioni sul nuovo server RoadHouse. Vertono principalmente su due punti: creazione di container per l'installazione di servizi in ambienti isolati e frontend caching proxy per smistare il traffico web ai vari container.
Struttura
I vari container comunicano in una loro rete interna abbinata all'interfaccia lxcbr0. Il server Varnish riceve le richieste dall'esterno e fa da proxy verso i vari container. I container non sono accessibili direttamente dall'esterno (hanno un ip privato interno)
LXC
LXC (Linux Containers http://lxc.sourceforge.net/ ) è un progetto che permette, utilizzando chroot e le funzionalità del kernel denominate cgroups, di creare degli ambienti di esecuzione totalmente isolati dal resto del sistema. Nel nostro progetto l'idea è di dedicare ad ogni singolo servizio un container separato, in modo da poter procedere in modo indipendente ad aggiornamenti, patch ecc ecc senza impattare sugli altri servizi.
Rete
E' stata creata un interfaccia lxcbr0, un bridge interno alla macchina alla cui rete si collegheranno tutti i container, partecipando alla rete 10.78.88.0/24.
I container hanno accesso all'esterno, attraverso NAT effettuato dal firewall di RoadHouse.
Accesso
L'accesso ai container creati si ha prima collegandosi a RoadHouse e poi effettuando ssh verso l'ip privato del container (TODO: nattare le porte ssh verso l'esterno per evitare questo salto?)
Tools
Le macchine sono create con lo script lxc-debootstrap che a partire da un semplice file di configurazione, crea la macchina a partire da una root creata con debootstrap ed effettuando alcune modifiche per girare in lxc.
Il tool deve essere eseguito da root. Per maggiori informazioni si rimanda al README abbinato.
L'avvio e lo stop delle macchine virtual può essere fatto da root con i comandi che trovate nella guida ufficiale di LXC nel wiki di ubuntu (o qualsiasi altra guida).
Varnish
Varnish è un caching proxy frontend server. Il suo scopo nel progetto sarà di ricevere dall'esterno le connessioni degli utenti e passare le richieste al container appropriato. Inoltre effettuerà caching dei, riducendo quindi la quantità di risorse necessarie specialmente per la riesecuzione di pagine dinamiche (es. php o python) che non sono nel frattempo variate.