<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Stefano Marinelli's Blog (Articoli su lxc)</title><link>https://www.dragas.net/</link><description></description><atom:link href="https://www.dragas.net/categories/lxc.xml" rel="self" type="application/rss+xml"></atom:link><language>it</language><lastBuildDate>Thu, 19 Jan 2023 08:25:50 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Backup efficienti di container LXC in Proxmox - ZFS</title><link>https://www.dragas.net/posts/backup-efficienti-di-container-lxc-in-proxmox-zfs/</link><dc:creator>Stefano Marinelli</dc:creator><description>&lt;p&gt;&lt;em&gt;NOTA: Il seguente post è la traduzione dell'equivalente in inglese &lt;a href="https://it-notes.dragas.net/2022/01/20/efficient-backup-of-lxc-containers-in-proxmox-zfs/"&gt;sul blog it-notes&lt;/a&gt;. L'originale sarà sempre più aggiornato.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Ho già scritto relativamente ad alcune delle mie strategie di backup in Proxmox. Proxmox Backup Server è un valido strumento, ma non è sempre l'opzione migliore, soprattutto se si utilizzano container lxc.&lt;/p&gt;
&lt;p&gt;I container LVM e Ceph RBD sono già stati trattati &lt;a href="https://www.dragas.net/posts/backup-efficienti-lxc-proxmox/"&gt;in un altro post&lt;/a&gt;, ma una delle (molte) ottime opzioni, se si usa Proxmox, è ZFS. Utilizzo ampiamente ZFS sia su &lt;a href="https://www.dragas.net/posts/perche-migrare-i-server-da-linux-a-freebsd/"&gt;FreeBSD&lt;/a&gt; che su Linux (e ho sempre desiderato che &lt;a href="https://www.dragas.net/posts/effettuare-backup-remoti-btrfs/"&gt;BTRFS potesse raggiungere lo stesso livello di affidabilità&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Quando non ho bisogno di un file system in rete (come Ceph) o voglio superare i limiti di LVM, tendo a installare le VM di Proxmox e i container lxc su ZFS. Concentriamoci ora sul backup dei container lxc.&lt;/p&gt;
&lt;p&gt;Proxmox utilizza i dataset ZFS per lo storage dei container lxc, quindi tutti i file si trovano su &lt;em&gt;/nome-pool/subvol-x-disk-y&lt;/em&gt;. Possiamo eseguire facilmente il backup come abbiamo fatto nel mio precedente articolo, abbiamo solo bisogno di un modo diverso per eseguire le snapshot di tutti questi dataset.&lt;/p&gt;
&lt;p&gt;I dataset ZFS forniscono una directory &lt;em&gt;.zfs&lt;/em&gt;, nascosta, che contiene tutte le istantanee attualmente esistenti di quel dataset specifico. "&lt;em&gt;ls&lt;/em&gt;" non la mostrerà, ma si può fare un "&lt;em&gt;cd&lt;/em&gt;" e sarà utilizzabile.&lt;/p&gt;
&lt;p&gt;Naturalmente si può usare zfs send/receive in maniera nativa (o un utile software che uso quotidianamente, &lt;a href="https://github.com/psy0rz/zfs_autobackup"&gt;zfs-autobackup&lt;/a&gt;, sia per le istantanee locali che per la replica remota), ma vogliamo salvare i file, non il dataset zfs, in modo da poter eseguire il backup su un file system diverso. &lt;strong&gt;Qualsiasi file system&lt;/strong&gt;. Quindi useremo &lt;a href="https://www.borgbackup.org"&gt;borg backup&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Supponiamo che il nostro pool ZFS sia chiamato "proxzfs". Ecco uno script di esempio. Naturalmente, questo è il mio script, funziona per me e non sono responsabile se non funziona per voi/distrugge tutti i vostri dati/mangia il vostro server/ecc.&lt;/p&gt;
&lt;pre class="code literal-block"&gt;&lt;span class="ch"&gt;#!/bin/bash&lt;/span&gt;

/usr/sbin/zfs snapshot -r proxzfs@forborg

&lt;span class="nv"&gt;REPOSITORY&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;yourpath/server/whatever:borgrepository/
&lt;span class="nv"&gt;TAG&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;mytag
borg create -v --stats --compression zstd --progress    &lt;span class="se"&gt;\&lt;/span&gt;
   &lt;span class="nv"&gt;$REPOSITORY&lt;/span&gt;::&lt;span class="nv"&gt;$TAG&lt;/span&gt;&lt;span class="s1"&gt;'-{now:%Y-%m-%dT%H:%M:%S}'&lt;/span&gt;          &lt;span class="se"&gt;\&lt;/span&gt;
   /proxzfs/*/.zfs/snapshot/forborg/  &lt;span class="se"&gt;\&lt;/span&gt;
   --exclude &lt;span class="s1"&gt;'*subvolYouMayWantToExclude-disk-0*'&lt;/span&gt;

/usr/sbin/zfs destroy -vrR proxzfs@forborg

borg prune -v &lt;span class="nv"&gt;$REPOSITORY&lt;/span&gt; --stats --prefix &lt;span class="nv"&gt;$TAG&lt;/span&gt;&lt;span class="s1"&gt;'-'&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
   --keep-daily&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;31&lt;/span&gt; --keep-weekly&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;4&lt;/span&gt; --keep-monthly&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;12&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;Questo piccolo script creerà un'istantanea @forborg per qualsiasi dataset che troverà sotto "proxzfs", quindi avvierà borg e gli chiederà di attraversare le snapshot &lt;em&gt;forborg&lt;/em&gt; montate automaticamente all'interno della directory .zfs di qualsiasi dataset.&lt;/p&gt;
&lt;p&gt;Quindi distruggerà le istantanee "forborg" ed eseguirà un prune di borg. Questo eliminerà i vecchi backup, in base alla politica impostata. Questo passaggio può essere evitato, ma io preferisco eseguirlo dopo un backup, in modo che il mio repository sia sempre coerente con la mia politica di data retention.&lt;/p&gt;</description><category>backup</category><category>borg</category><category>container</category><category>linux</category><category>lxc</category><category>proxmox</category><category>snapshot</category><category>tecnologici</category><category>zfs</category><guid>https://www.dragas.net/posts/backup-efficienti-di-container-lxc-in-proxmox-zfs/</guid><pubDate>Wed, 18 Jan 2023 08:34:19 GMT</pubDate></item><item><title>Docker e la nuova separazione dei servizi</title><link>https://www.dragas.net/posts/docker-e-la-nuova-separazione-dei-servizi/</link><dc:creator>Stefano Marinelli</dc:creator><description>&lt;div&gt;&lt;p&gt;Se c'è una cosa che mi piace, nell'ambito informatico, è il trovare nuove soluzioni a vecchi problemi. O nuovi problemi a vecchie soluzioni, ma allo scopo di risolvere eventuali punti lasciati in sospeso da tempo, per mancanza di tempo o per mancanza di soluzioni a disposizione.&lt;/p&gt;
&lt;p&gt;Una delle questioni più annose, per chi lavora nel settore (ma non solo) è sempre la vecchia scelta operativa: &lt;em&gt;accentrare i servizi su un server o separarli il più possibile&lt;/em&gt;?&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.dragas.net/posts/docker-e-la-nuova-separazione-dei-servizi/"&gt;Continua la lettura…&lt;/a&gt; (ulteriori 2 minuti di lettura)&lt;/p&gt;&lt;/div&gt;</description><category>container</category><category>data</category><category>docker</category><category>linux</category><category>lxc</category><category>openvz</category><category>server</category><category>virtualizzazione</category><category>vm</category><guid>https://www.dragas.net/posts/docker-e-la-nuova-separazione-dei-servizi/</guid><pubDate>Tue, 03 Apr 2018 17:45:46 GMT</pubDate></item><item><title>Un assaggio di Proxmox</title><link>https://www.dragas.net/posts/un-assaggio-di-proxmox/</link><dc:creator>Stefano Marinelli</dc:creator><description>&lt;div&gt;&lt;a class="reference external image-reference" href="https://www.dragas.net/images/Proxmox.png"&gt;&lt;img alt="/images/Proxmox.thumbnail.png" src="https://www.dragas.net/images/Proxmox.thumbnail.png"&gt;&lt;/a&gt;
&lt;nav class="contents" id="indice" role="doc-toc"&gt;
&lt;p class="topic-title"&gt;Indice&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference internal" href="https://www.dragas.net/posts/un-assaggio-di-proxmox/#proxmox-la-storia" id="toc-entry-1"&gt;Proxmox, la storia&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference internal" href="https://www.dragas.net/posts/un-assaggio-di-proxmox/#proxmox-l-architettura-e-l-installazione" id="toc-entry-2"&gt;Proxmox, l'architettura e l'installazione&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference internal" href="https://www.dragas.net/posts/un-assaggio-di-proxmox/#proxmox-l-utilizzo-e-le-funzionalita" id="toc-entry-3"&gt;Proxmox, l'utilizzo e le funzionalità&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference internal" href="https://www.dragas.net/posts/un-assaggio-di-proxmox/#proxmox-i-cluster" id="toc-entry-4"&gt;Proxmox, i cluster&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference internal" href="https://www.dragas.net/posts/un-assaggio-di-proxmox/#proxmox-i-backup" id="toc-entry-5"&gt;Proxmox, i backup&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference internal" href="https://www.dragas.net/posts/un-assaggio-di-proxmox/#proxmox-uno-sguardo-d-insieme" id="toc-entry-6"&gt;Proxmox, uno sguardo d'insieme&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/nav&gt;
&lt;section id="proxmox-la-storia"&gt;
&lt;h2&gt;&lt;a class="toc-backref" href="https://www.dragas.net/posts/un-assaggio-di-proxmox/#toc-entry-1" role="doc-backlink"&gt;Proxmox, la storia&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a class="reference external" href="https://www.proxmox.com/en/"&gt;Proxmox&lt;/a&gt; nasce nel 2008 come sistema completo di virtualizzazione (alternativo a prodotti come VMWare) "a pacchetto". Lo scopo è sempre stato, ed è ancora, quello di fornire un sistema semplice e pratico di preparazione di hardware fisico allo scopo di ospitare macchine virtuali, il tutto gestito attraverso una comoda interfaccia web.&lt;/p&gt;
&lt;p&gt;Fino alla versione 3.0, Proxmox ha sofferto di serie problematiche di gioventù. Pur essendo, infatti, già sufficientemente maturo, c'erano alcuni problemi (bug o mancanza di feature) che non lo rendevano estremamente adatto ad ambienti di produzione importanti. Dalla 3.0 in poi, invece, si è assistito al &lt;em&gt;lancio verso l'olimpo&lt;/em&gt; in quanto le funzionalità di base erano ormai mature e affidabili e le nuove opzioni erano tutte incentrate sul renderlo sempre più un prodotto &lt;em&gt;enterprise&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Sviluppato e diretto dall'Austriaca &lt;a class="reference external" href="https://www.proxmox.com/en/about"&gt;Proxmox Server Solutions GmbH&lt;/a&gt;, è un progetto in rapido progresso e con interessantissime funzionalità che si aggiungono versione dopo versione.&lt;/p&gt;
&lt;p&gt;Il sistema è interamente Open Source, prevede la possibilità di acquistare un abbonamento (a prezzi molto vantaggiosi) per accedere al &lt;em&gt;repository di aggiornamento enterprise&lt;/em&gt;, più collaudato e sicuro di quello standard, e tutto il supporto e l'assistenza necessari al sistemista che ne possa avere necessità.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.dragas.net/posts/un-assaggio-di-proxmox/"&gt; Continua la lettura... …&lt;/a&gt; (ulteriori 7 minuti di lettura)&lt;/p&gt;&lt;/section&gt;&lt;/div&gt;</description><category>kvm</category><category>linux</category><category>lxc</category><category>openvz</category><category>proxmox</category><category>tecnici</category><category>virtualizzazione</category><category>vm</category><guid>https://www.dragas.net/posts/un-assaggio-di-proxmox/</guid><pubDate>Mon, 28 Aug 2017 12:22:14 GMT</pubDate></item><item><title>Un assaggio di Docker</title><link>https://www.dragas.net/posts/un-assaggio-di-docker/</link><dc:creator>Stefano Marinelli</dc:creator><description>&lt;nav class="contents" id="indice" role="doc-toc"&gt;
&lt;p class="topic-title"&gt;Indice&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference internal" href="https://www.dragas.net/posts/un-assaggio-di-docker/#preambolo" id="toc-entry-1"&gt;Preambolo&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference internal" href="https://www.dragas.net/posts/un-assaggio-di-docker/#i-miei-primi-passi-con-docker" id="toc-entry-2"&gt;I miei primi passi con Docker&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference internal" href="https://www.dragas.net/posts/un-assaggio-di-docker/#docker-su-strada" id="toc-entry-3"&gt;Docker su strada&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference internal" href="https://www.dragas.net/posts/un-assaggio-di-docker/#gli-swarm" id="toc-entry-4"&gt;Gli Swarm&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference internal" href="https://www.dragas.net/posts/un-assaggio-di-docker/#conclusioni" id="toc-entry-5"&gt;Conclusioni&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/nav&gt;
&lt;a class="reference external image-reference" href="https://www.dragas.net/images/docker.png"&gt;&lt;img alt="/images/docker.thumbnail.png" src="https://www.dragas.net/images/docker.thumbnail.png"&gt;&lt;/a&gt;
&lt;section id="preambolo"&gt;
&lt;h2&gt;&lt;a class="toc-backref" href="https://www.dragas.net/posts/un-assaggio-di-docker/#toc-entry-1" role="doc-backlink"&gt;Preambolo&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Ho fatto i primi passi nella virtualizzazione nel lontano 1998. Mi affascinava l'idea di &lt;em&gt;inscatolare&lt;/em&gt; un intero computer all'interno del mio PC e non dover più essere schiavo di installare, cancellare, reinstallare, avere due sistemi operativi diversi per scopi diversi contemporaneamente nella stessa macchina e avere eventuali problemi di boot all'aggiornamento di uno ei due.&lt;/p&gt;
&lt;p&gt;Sperimentai dunque VMWare e capii subito che la virtualizzazione sarebbe stata il futuro. Nel corso degli anni la penalizzazione sulle prestazioni si è via via assottigliata e nella mia tesi di laurea, nel 2003, mi occupai proprio degli internal di vari virtualizzatori tra cui il neonato i &lt;a class="reference external" href="http://www.qemu.org"&gt;QEMU&lt;/a&gt;. Il bello di qemu era proprio la possibilità di emulare piattaforme hardware diverse per lo sviluppo o l'emulazione, e in maniera sufficientemente (per l'epoca) rapida grazie alla &lt;em&gt;traslazione dinamica&lt;/em&gt; delle chiamate di sistema, un metodo per l'epoca rivoluzionario. C'erano anche i primordi di &lt;a class="reference external" href="https://www.xenproject.org"&gt;Xen&lt;/a&gt;, che dava risultati assolutamente interessanti ma richiedeva modifiche al sistema operativo guest. Venne poi fuori un modulo kernel per qemu (divenuto poi KVM, la base dei principali virtualizzatori moderni) che gestiva la virtualizzazione passando direttamente le chiamate all'hardware sottostante, abbattendo l'overhead prestazionale a livelli bassissimi e consentendo di  avere un buon numero di VM su un server fisico.&lt;/p&gt;
&lt;p&gt;Da allora mi occupo di virtualizzazione ma ho sempre cercato anche altre possibilità proprio perché nell'informatica bisogna sempre avere fame di novità.&lt;/p&gt;
&lt;p&gt;Ho lavorato (con estremo successo, ne racconterò prima o poi l'esperienza) già dal 2005 con &lt;a class="reference external" href="https://openvz.org/Main_Page"&gt;OpenVZ&lt;/a&gt;, che mi ha permesso (per anni) di far girare il mio server principale sia sul VIA EPIA che su un server esterno a cui migravo il tutto in base alle necessità. I container, insomma, mi sono sempre piaciuti.&lt;/p&gt;
&lt;p&gt;Nel 2010, ho iniziato a implementare soluzioni basate su FreeBSD proprio per avere le sue &lt;em&gt;jail&lt;/em&gt;, ovvero degli ambienti non emulati ma &lt;em&gt;separati&lt;/em&gt; dal sistema operativo principale. In pratica, stesso kernel ma userland completamente diversa. Nessun overhead di virtualizzazione ma semplice &lt;em&gt;separazione&lt;/em&gt; degli ambienti. Non era un concetto nuovo, infatti Solaris utilizza i container (o zone) già dal 2004, ma di sicuro un concetto vincente: se il mio scopo non è avere sistemi operativi diversi ma solo tenere &lt;em&gt;separati&lt;/em&gt; i servizi, perché dover lanciare &lt;em&gt;n&lt;/em&gt; macchine virtuali con &lt;em&gt;n&lt;/em&gt; sistemi operativi uguali in esecuzione?&lt;/p&gt;
&lt;p&gt;Poco dopo è arrivato anche GNU/Linux, e già nel 2011 sperimentavo con &lt;a class="reference external" href="https://linuxcontainers.org/"&gt;lxc&lt;/a&gt;, pur sapendo che non c'erano ancora i requisiti di sicurezza necessari, ma avevo già degli strumenti per tenere separati vari ambienti basati su GNU/Linux.&lt;/p&gt;
&lt;p&gt;Proprio su lxc si basa &lt;a class="reference external" href="http://docker.io"&gt;Docker&lt;/a&gt;, una soluzione di &lt;em&gt;inscatolamento&lt;/em&gt; di ambienti, che ne consente la creazione e l'utilizzo su qualsiasi piattaforma compatibile e crea un ambiente standard in un solo comando.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="i-miei-primi-passi-con-docker"&gt;
&lt;h2&gt;&lt;a class="toc-backref" href="https://www.dragas.net/posts/un-assaggio-di-docker/#toc-entry-2" role="doc-backlink"&gt;I miei primi passi con Docker&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;...sono stati disastrosi, come credo quelli di tutti quelli che hanno iniziato ai suoi albori. Docker è un progetto relativamente recente e, come tale, in forte sviluppo. Uno dei problemi, infatti, è che lo sviluppo è rapido e, a volte, &lt;em&gt;distruttivo&lt;/em&gt;. Basta un aggiornamento e cambia qualcosa nella riga di comando, nel setup della rete, nella funzionalità e ci si può trovare con un sistema malfunzionante. Il primo passo che feci non fu diverso. Installai Docker, lo misi in funzione per alcuni test, aggiornai alla nuova versione stabile e tutti i miei contenitori smisero di funzionare per variazioni di struttura. &lt;em&gt;Decisi di buttare via tutto e aspettare tempi migliori&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;D'altronde si sa come funziona: o una tecnologia diventa sufficientemente matura in poco tempo, oppure muore. Nel primo caso, l'attesa non è così lunga. Nel secondo, non conviene perdere tempo con qualcosa che non avrà futuro.&lt;/p&gt;
&lt;p&gt;Alcuni mesi fa ho deciso di rimettere in piedi il discorso. Di solito imparo qualcosa per &lt;em&gt;necessità&lt;/em&gt;, poi lo espando e lo riutilizzo. A volte la necessità è puro vezzo privato, magari per fare qualcosa di non strettamente lavorativo ma si sa, l'animo &lt;em&gt;nerd&lt;/em&gt; non lo si tiene a freno e, anzi, &lt;em&gt;guai&lt;/em&gt; se ciò avvenisse!&lt;/p&gt;
&lt;/section&gt;
&lt;section id="docker-su-strada"&gt;
&lt;h2&gt;&lt;a class="toc-backref" href="https://www.dragas.net/posts/un-assaggio-di-docker/#toc-entry-3" role="doc-backlink"&gt;Docker su strada&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Rimettere in strada Docker non è stato difficile. A oggi, infatti, le cose sono state rese più facili (sia per architetture tradizionali che per le ARM come Raspberry PI o similari) da un rapido &amp;amp; semplice comando:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;curl -sSL get.docker.com | sh&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;ovviamente a patto di avere curl installato, cosa non del tutto scontata in tutte le installazioni (Debian base non ce l'ha).&lt;/p&gt;
&lt;p&gt;In un lampo, sono stato pronto col mio eseguibile &lt;em&gt;pronto da usare&lt;/em&gt; e libero di fare dei test.&lt;/p&gt;
&lt;p&gt;Ho iniziato. Immediatamente mi sono trovato a mio agio sia con la sintassi (anche se, a mio avviso, va ancora un po' uniformata tra un container normale e uno &lt;a class="reference external" href="https://docs.docker.com/engine/swarm/"&gt;Swarm&lt;/a&gt; sia col funzionamento generale. Il vantaggio dell'inscatolamento delle risorse è indubbiamente evidente. Ogni cosa resta nel suo mondo, &lt;em&gt;con le sue dipendenze&lt;/em&gt;, senza andare a intaccare o modificare alcunché sul resto del sistema.&lt;/p&gt;
&lt;p&gt;Ho subito iniziato ad aver bisogno di alcune funzionalità non ancora presenti nei container presenti nell'hub ufficiale (specialmente per quanto riguarda le architetture ARM in mio possesso) per cui ho esplorato la creazione di una immagine personalizzata. Anche qui semplicità assoluta, un &lt;em&gt;Dockerfile&lt;/em&gt; con tutte le istruzioni necessarie e una bella procedura. In un lampo ho avuto tutto il necessario.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="gli-swarm"&gt;
&lt;h2&gt;&lt;a class="toc-backref" href="https://www.dragas.net/posts/un-assaggio-di-docker/#toc-entry-4" role="doc-backlink"&gt;Gli Swarm&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Uno Swarm è un gruppo di sistemi su cui Docker è installato che si uniscono in un &lt;em&gt;cluster&lt;/em&gt;. In uno swarm, ogni &lt;em&gt;worker&lt;/em&gt; può far partire uno dei container e metterlo a disposizione. In uno swarm, un container può essere definito come servizio singolo (farne girare sempre uno su uno dei nodi), oppure come servizio multiplo (far girare &lt;em&gt;n&lt;/em&gt; copie, che verranno distribuite nei nodi dello swarm) e milioni di sfumature di configurazione.&lt;/p&gt;
&lt;p&gt;In uno Swarm, per scelta progettuale, una porta esposta da un container sarà raggiungibile connettendosi all'IP di uno qualunque dei nodi. Se, ad esempio, abbiamo due nodi (nodo1 e nodo2) e un container che espone la porta 80 (un server http), una volta configurato il servizio come parte dello Swarm sarà possibile connettersi al container stesso sia sull'IP del nodo1 che su quello del nodo2.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="conclusioni"&gt;
&lt;h2&gt;&lt;a class="toc-backref" href="https://www.dragas.net/posts/un-assaggio-di-docker/#toc-entry-5" role="doc-backlink"&gt;Conclusioni&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Questo articolo voleva essere solo una rapida carrellata su quella che è stata la mia recente esperienza con Docker e sul perché ho deciso non solo di utilizzarlo ma di approfondirne sempre di più le potenzialità.&lt;/p&gt;
&lt;p&gt;Seguiranno altri articoli in merito, quando il tempo me lo consentirà, che spiegheranno come ho risolto alcune delle problematiche principali che possono occorrere nell'utilizzo quotidiano e in produzione di un sistema del genere (es: storage condiviso tra nodi, ecc.)&lt;/p&gt;
&lt;p&gt;Suggerisco a tutti di cominciare a prendere in considerazione questo tipo di tecnologia, sia per ragioni di sicurezza che di scalabilità e praticità. Volenti o nolenti, sarà il futuro. O il presente.&lt;/p&gt;
&lt;/section&gt;</description><category>container</category><category>data</category><category>docker</category><category>gluster</category><category>linux</category><category>lxc</category><category>openvz</category><category>recensioni</category><category>sicurezza</category><category>tecnici</category><category>virtualizzazione</category><category>vm</category><category>windows</category><guid>https://www.dragas.net/posts/un-assaggio-di-docker/</guid><pubDate>Sat, 05 Aug 2017 19:30:12 GMT</pubDate></item></channel></rss>