Per chi, come me, non ha un budget elevato da dedicare al proprio homelab, il thin client HP t730 è perfetto. Fortunatamente, sono riuscito a vincerne uno durante un recente giveaway di StorageReview sul loro subreddit . Il t730 ha RAM e CPU a sufficienza per essere flessibile e adatto a molteplici utilizzi, senza risultare eccessivo. Che si tratti di ospitare Pi-Hole, di usarlo come router/firewall pfSense o, come in questo caso, di connetterlo a Docker Swarm, si rivela ideale.
Se non hai familiarità con Docker o con i container nel loro insieme, potresti considerarli come VM leggere che funzionano praticamente su qualsiasi cosa. Sebbene questa sia una semplificazione eccessiva, fornisce informazioni sufficienti senza essere travolgente. Swarm è un'estensione di Docker. Fornisce un modo semplice e integrato per "orchestrare" i contenitori, distribuendoli su più nodi, gestendo le risorse e altre cose di questa natura.
Nella mia infrastruttura esistente, avevo già 5 nodi in esecuzione su Swarm: quattro Raspberry Pi B4 e un Dell Optiplex 7040. Questa configurazione rappresenta un'ottima base di partenza. Tuttavia, per seguire questo tutorial su Docker Swarm è sufficiente un solo nodo. Va notato che, sebbene io abbia ottenuto questo nodo praticamente gratis, è possibile trovarne altri su eBay a 200 dollari o meno, se si cerca e si contratta sul prezzo.
Docker Swarm Installa il sistema operativo
Per iniziare, ho installato la mia distribuzione Linux preferita, ovvero Debian Buster, sull'HP t730. Successivamente, ho dovuto copiare l' immagine di installazione di Debian su una chiavetta USB. Un'ottima opzione per copiare l'immagine è Balena Etcher , che è gratuito e semplice da usare. Una volta completata questa operazione, inizieremo il processo di installazione.

Innanzitutto, ho sostituito l'unità SATA M.2 da 32 GB del t730 con un'unità da 256 GB . Tuttavia, all'epoca non lo sapevo, questo avrebbe causato problemi in seguito. Vedete, alcune interfacce firmware sono difettose e a volte non funzionano con unità non di un produttore specifico. L'unità che ho installato è una di quelle che non funzionano. Per aggirare il problema, durante l'installazione di Debian ho dovuto impostare Grub per l'installazione come unità rimovibile; potreste o meno riscontrare questo problema a seconda dell'unità che installate.
Tieni presente che 256 GB non sono necessari per quello che stiamo facendo oggi, li avevo solo a portata di mano. Raccomando almeno 64 GB, ma ciò potrebbe limitare la quantità di dati che puoi archiviare sull'unità.
Dopo aver installato l'unità, ho avviato la schermata di installazione di Debian. Ho eseguito un'installazione di base, scegliendo la lingua, il layout della tastiera, ecc. Per la configurazione dell'utente, faccio qualcosa di specifico. Non inserisco alcuna password per l'utente root, il che disabilita l'account. E creo un nuovo utente denominato amministratore con una password estremamente lunga che salvo in un gestore di password. Ciò mantiene il sistema il più sicuro possibile.
Per il partizionamento, ho scelto un layout piuttosto semplice, una partizione di avvio da 1 GB e il resto dell'unità allocato nella partizione root. Ho scelto rispettivamente FAT32 ed ext4 per i filesystem, preferisco ext4 a qualcosa come Btrfs per la stabilità e la velocità, anche se mancano alcune delle funzionalità all'avanguardia dei nuovi filesystem.
Quando ho raggiunto la schermata di scelta dei pacchetti base, ho deselezionato tutto tranne il server OpenSSH. Il mio ragionamento è che voglio che il sistema di base sia il più leggero possibile, ed è anche senza testa, poiché non ha una GUI. Ma, per completare questo tutorial, tutto ciò di cui hai bisogno è il server OpenSSH, puoi installare eventuali pacchetti aggiuntivi di cui hai bisogno.
Figura 2: pacchetti in fase di installazione
Se riscontri il bug del firmware EFI che ho menzionato in precedenza, la wiki di Debian contiene un'ottima guida su come risolverlo . Dopo aver installato Grub, riavvieremo il sistema e scollegheremo la chiavetta USB. Se tutto va bene, si avvierà una TTY o un'interfaccia grafica, a seconda di cosa hai scelto di installare.
Configurazione post-installazione
Una volta completata l'installazione, iniziamo a configurare il sistema. Ho scritto un playbook Ansible che automatizza questo processo. Per semplificare questa guida, eseguiremo i comandi manualmente.
# Questo installa i pacchetti necessari per completare i passaggi successivisudo apt updateudo apt install gnupg ca-certificates apt-transport-https curl lsb-release -y# questo aggiunge la chiave necessaria apt per verificare le firme sui pacchetti Dockercurl -fsSL https://download .docker.com/linux/debian/gpg | sudo gpg –dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg# E per aggiungere il repository che installa Docker esegui questo: echo “deb [arch=amd64 Signed-by=/usr/share/keyrings/ docker-archive-keyring.gpg] https://download.docker.com/linux/debian \ $(lsb_release -cs) stable” | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Fatto ciò, dobbiamo installare Docker stesso e abilitare il servizio.
sudo apt install docker-ce
sudo systemctl abilita –now finestra mobile
Ora siamo pronti per utilizzare Docker per eseguire i servizi!
Utilizzo di Docker Swarm sull'HP t730
La prima volta che si utilizza Swarm è necessario inizializzare lo swarm. Esaminiamo i comandi seguenti. Se hai già uno sciame, salta questo passaggio.
sudo docker sciame init
Se vuoi verificare che funzioni, incolla questo comando nel tuo terminale:
se [ “$(sudo docker info | grep Swarm | sed 's/Swarm: //g')” == “inactive” ]; allora echo false; altrimenti echo true; fi
Se il tuo host è in esecuzione in modalità Swarm, il comando dovrebbe restituire "true".
Esecuzione del nostro primo servizio
Con Swarm ci sono due modi per creare servizi.
- creazione del servizio docker questo è simile a run docker
- distribuzione dello stack docker questo è simile a finestra mobile-composizione
In genere, si desidera utilizzare la distribuzione dello stack docker perché è possibile riprodurre facilmente gli stack.
Ma solo per verificare che funzioni, usare il servizio docker create va bene.
sudo docker service create -p 3000:80 httpd
Potrebbe volerci un po' di tempo per completare l'operazione, ma una volta terminato il comando, potrai accedere all'indirizzo IP del nodo sulla porta 3000. Se non conosci il tuo indirizzo IP, esegui il comando `hostname -I`. Nel mio caso, ho dovuto accedere a 192.168.19.73:3000 . Dovresti visualizzare una schermata con la scritta "Funziona!".
Chiusura
L'HP t730 è un ottimo computer compatto, ideale sia per i principianti che per gli esperti di homelab. Supporta diverse tipologie di utilizzo ed è piuttosto potente in rapporto al prezzo , che nel mio caso si è aggirato sui 15 dollari di spedizione (grazie StorageReview!). Spero che questo articolo sia stato utile a tutti, che si tratti di imparare qualcosa su nuove tecnologie o di trovare l'ispirazione per avviare il proprio homelab.
-Ethan Edwards




Amazon