Essendo una persona che non ha un budget molto elevato da spendere per il mio laboratorio domestico, il thin client HP t730 è in realtà perfetto per l'uso nel laboratorio domestico. Fortunatamente per me sono riuscito a vincerne uno durante un recente giveaway di StorageReview su il loro sub-Reddit. Il t730 ha abbastanza RAM e CPU per essere abbastanza flessibile per molti casi d'uso, senza essere eccessivo. Che si tratti di ospitare Pi-Hole, di utilizzarlo come router/firewall PfSense o di collegarlo a Docker Swarm.
Essendo una persona che non ha un budget molto elevato da spendere per il mio laboratorio domestico, il thin client HP t730 è in realtà perfetto per l'uso nel laboratorio domestico. Fortunatamente per me sono riuscito a vincerne uno durante un recente giveaway di StorageReview su il loro sub-Reddit. Il t730 ha abbastanza RAM e CPU per essere abbastanza flessibile per molti casi d'uso, senza essere eccessivo. Che si tratti di ospitare Pi-Hole, utilizzarlo come router/firewall PfSense o, in questo caso, collegarlo a Docker Swarm.
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 in Swarm. Quattro Raspberry Pi B4 e un Dell Optiplex 7040. Ciò fornisce un'ottima base per iniziare. Ma hai solo bisogno di un singolo nodo da seguire con questo tutorial Docker Swarm. Va notato che mentre ho ottenuto questo praticamente per niente, possono essere trovati a pagamento $ 200 o meno su eBay se cerchi e contratta alcuni.
Docker Swarm Installa il sistema operativo
Per iniziare, ho installato la mia distribuzione Linux preferita, ovvero Debian Buster, sull'HP t730. Successivamente, avevo bisogno di eseguire il flashing del file Programma di installazione Debian su un'unità flash USB. Una buona opzione per far lampeggiare l'immagine è Balena Etcher, che è gratuito e semplice da usare. Fatto ciò, inizieremo il processo di installazione.
Figura 1: installazione del nuovo SSD
Innanzitutto, ho sostituito l'unità SATA M.32 da 2 GB nel t730 con un'unità 256GB guidare. Ma, a mia insaputa in quel momento, ciò alla fine avrebbe causato problemi. Vedete, alcune interfacce firmware sono difettose e talvolta non funzionano con unità di altri produttori. L'unità che ho installato è una di quelle unità che non funzionano. Per aggirare questo problema, durante l'installazione di Debian ho dovuto impostare Grub per l'installazione come rimovibile, potresti riscontrarlo o meno a seconda dell'unità installata.
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 menzionato prima, il wiki Debian contiene una buona guida come risolverlo. Dopo aver installato Grub, riavvieremo e scollegheremo la chiavetta USB. Se tutto va bene, eseguirai l'avvio in un TTY o in una GUI, a seconda di cosa hai scelto di installare.
Configurazione post-installazione
Una volta completata l'installazione, iniziamo a configurare il sistema. Ho scritto un manuale ansible che automatizza questo processo. Per mantenere questa guida semplice, eseguiremo manualmente i comandi.
# 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:
if [ “$(sudo docker info | grep Swarm | sed 's/Swarm: //g')” == “inattivo”]; quindi 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 terminare, ma una volta terminato il comando puoi andare all'IP del nodo sulla porta 3000. Se non sai qual è il tuo IP, esegui hostname -I. Nel mio caso, dovevo andare a 192.168.19.73:3000. Dovresti vedere una schermata che dice che funziona!
Chiusura
L'HP t730 è una piccola macchina eccezionale per gli homelabber principianti o veterani, supporta molti casi d'uso diversi ed è piuttosto potente per quello che paghi, che nel mio caso non erano altro che i $15 per la spedizione (grazie StorageReview!). Spero che tutti abbiano tratto qualcosa da questo articolo, sia che si tratti di imparare nuove tecnologie o di essere ispirati ad avviare il proprio laboratorio casalingo.
-Ethan Edwards
Interagisci con StorageReview
Newsletter | YouTube | LinkedIn | Instagram | Twitter | Facebook | TikTok | RSS feed