Come installare un Docker Swarm Cluster su Ubuntu 16.04 VPS o server dedicato

Docker Machine è uno strumento che offre soluzioni distribuendo un cluster di Docker in esecuzione su un computer locale o una piattaforma cloud. È possibile utilizzare Docker Swarm per migliorare le prestazioni elevate allocandolo a host Docker diversi in un cluster.


La funzionalità cluster è una funzionalità essenziale per l’alta disponibilità. Consente all’utente di gestire i cluster in quello che è noto come un gestore di cluster di sciami. Ciò consente inoltre all’utente di aumentare il numero di istanze del contenitore per una singola applicazione.

In questo caso, utilizzeremo Docker 1.12 che non richiede un servizio di rilevamento esterno in quanto viene fornito con un archivio di valori-chiave di memoria integrato per questo scopo. Proveremo a installare il cluster Docker Swarm su Ubuntu versione 16.04.

Per iniziare, avrai bisogno di:

  • Conoscenza di Docker e Ubuntu versione 16.04
  • Almeno due nodi con Docker installato.
  • Un indirizzo IP configurato sul nodo di lavoro e sul nodo gestore.

Diamo un’occhiata ai nodi

I cluster Docker sono composti da due parti principali:

Nodi Manager: Si occupano della gestione dei cluster, incluso il mantenimento dello stato dei cluster, la preparazione dei servizi e la manutenzione degli endpoint in modalità sciame (API HTTP). Una funzionalità chiave nel quorum del gestore che memorizza i dati critici sul cluster Swarm.

Nodi di lavoro: Questi eseguono contenitori. Non sono coinvolti nelle decisioni di pianificazione. Un nodo Worker non deve avere almeno un nodo Manager. È possibile eseguire l’upgrade di un nodo di lavoro a un nodo Manager quando quest’ultimo è in manutenzione.

Prima di iniziare, assicurarsi che il sistema di repository sia aggiornato. Utilizzare il comando seguente per aggiornarlo:

sudo apt-get update -y && sudo apt-get upgrade -y

Dopo aver aggiornato il sistema con l’attuale sistema di repository, riavviare il computer per applicare questi aggiornamenti.

Passaggio 1: installazione di Docker

Installa la macchina Docker su ciascuno dei nodi. Poiché Docker Swarm non esiste nella modalità predefinita di Ubuntu versione 16.04 predefinita, è necessario eseguirla prima.

Eseguire il comando seguente per installare i pacchetti necessari:

sudo apt-get install apt-transport-https software-properties-common ca-certificate -y

Non dimenticare di includere la chiave GPG per l’applicazione Docker:

wget https://download.docker.com/linux/ubuntu/gpg && sudo apt-key aggiungi gpg

Inoltre, includere il repository Docker Swarm quindi aggiornare il sistema:

sudo echo "deb [arch = amd64]
https://download.docker.com/linux/ubuntu xenial stable" >>
/etc/apt/sources.list
sudo apt-get update -y

Infine, utilizzare il comando seguente per installare il motore Docker:

sudo apt-get install docker-ce -y

Al termine dell’installazione del motore Docker, esegui Docker e lascialo funzionare nel tempo di avvio:

finestra mobile sudo systemctl start && sudo systemctl abilita la finestra mobile

Nella sua modalità predefinita, il demone Docker può essere eseguito solo come utente root del sistema, quindi altri utenti non possono accedervi a meno che non utilizzino sudo. Per eseguire il Docker senza sudo, devi creare un gruppo Uniforme noto come finestra mobile, quindi aggiungere il numero di utenti che desideri. Esegui il comando seguente per completare il processo:

finestra mobile sudo groupadd && sudo usermod -aG docker dockeruser

Esci dal sistema, quindi accedi per aggiornare la tua iscrizione. Esegui il comando singolarmente per ciascun nodo.

Passaggio 2: configurazione del firewall

Un cluster specifico dovrebbe avere almeno un nodo che funge da nodi Manager, ma per un processo regolare, dovrebbero essere usati tre gestori. Per questa esercitazione, prendiamo il primo nodo come gestore Swarm mentre i due nodi rimanenti rappresenteranno i nodi di lavoro.

Successivamente, è necessario aprire le porte di rete su questi nodi per far parte di un cluster che farà funzionare correttamente l’applicazione. Pertanto, l’utilizzo del firewall UFW consente l’accesso alle seguenti porte 80, 2377, 2376, 2376, 4789 e 7946. Quindi eseguire il comando seguente:

sudo ufw consentire 2376 / tcp && sudo ufw consentire 7946 / udp &&
sudo ufw consentire 7946 / tcp && sudo ufw consentire 80 / tcp &&
sudo ufw consentire 2377 / tcp && sudo ufw consentire 4789 / udp

Ora ricaricare il firewall e configurarlo per l’avvio una volta avviato:

sudo ricarica && sudo ufw enable

Riavvia il tuo sistema Docker per applicare le nuove regole:

finestra mobile di riavvio sudo systemctl

Passaggio 3: creazione del cluster Docker

In questo caso, abbiamo deciso che il nostro gestore cluster sarà node-1, quindi accedi al tuo nodo come segue:

docker-machine ssh node-1

Dopo aver eseguito questo prompt dei comandi, il sistema cambierà per mostrare che sei connesso a quel nodo. Per identificare il nodo come gestore Swarm, eseguire il comando seguente:

root @ node-1: ˜ # docker swarm init –advertise-addr node_ip_address

In questo caso, nope_ip_address indica l’indirizzo IP del nodo.

L’output dovrebbe essere simile al seguente:

Per aggiungere un lavoratore a questo sciame, eseguire il comando seguente:

docker swarm join –token SWMTKN-1-5p5f6p6tv1cmjzq9ntx3zmck9kpgt355qq0uaqoj2ple629dl4-5880qso8jio78djpx5mzbqcfu 192.168.0.103:2377

Per aggiungere un gestore a questo sciame, eseguire “gestore join token docker sciame” e seguire le istruzioni.

Questo token sarà utile per aggiungere nodi al cluster di sciami nel processo successivo. La macchina Docker si unirà al cluster di sciami in base al token fornito al comando.

Ora vai avanti e controlla lo stato del nodo Manager digitando il comando seguente:

informazioni sulla finestra mobile

Verifica se l’output è simile al seguente:

Contenitori: 0
In esecuzione: 0
In pausa: 0
Fermato: 0
Immagini: 0
Versione server: 17.09.0-ce
Driver di archiviazione: overlay2
File system di supporto: extfs
Supporta d_type: true
Native Overlay Diff: true
Driver di registrazione: json-file
Driver cgroup: cgroupfs
plugin:
Volume: locale
Rete: overlay null macvlan host bridge
Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Sciame: attivo
NodeID: iwjtf6u951g7rpx6ugkty3ksa
È Manager: vero
ID cluster: fo24c1dvp7ent771rhrjhplnu
Gestori: 1
Nodi: 1
Orchestrazione:
Limite di conservazione cronologia attività: 5
Zattera:
Intervallo snapshot: 10000
Numero di vecchie istantanee da conservare: 0
Tick ​​battito cardiaco: 1
Segno di spunta elettorale: 3
Dispatcher:
Periodo di battito cardiaco: 5 secondi
Configurazione CA:
Durata di scadenza: 3 mesi
Forza rotazione: 0
Gestori Autolock: false
Rotazione radice in corso: falso
Indirizzo nodo: 192.168.0.103
Indirizzi del gestore:
192.168.0.103:2377
Durata: runc
Runtime predefinito: runc
Init Binary: docker-init
versione containerd: 06b9cb35161009dcb7123345749fef02f7cea8e0
versione runc: 3f2f8b84a77f73d38244dd690525642a72156c64
versione di init: 949e6fa
Opzioni di sicurezza:
AppArmor
seccomp
Profilo: impostazione predefinita
Versione del kernel: 4.4.0-45-generico
Sistema operativo: Ubuntu 16.04.1 LTS
OSType: linux
Architettura: x86_64
CPU: 1
Memoria totale: 992,5 MiB
Nome: Manager-Node
ID: R5H4: JL3F: OXVI: NLNY: 76MV: 5FJU: XMVM: SCJG: VIL5: ISG4: YSDZ: KUV4
Docker Root Dir: / var / lib / docker
Modalità debug (client): false
Modalità debug (server): false
Registro: https://index.docker.io/v1/
Sperimentale: falso
Registri non sicuri:
127.0.0.0/8
Ripristino live abilitato: falso

Passaggio 4: aggiunta di nodi di lavoro allo Swarm Cluster

Ora che il nodo di lavoro è configurato, aggiungerlo al cluster.

Inizia collegandoti a node-2 dalla tua macchina locale:

$ docker-machine ssh node-2

Quindi completare il comando con il testo your_swarm_token essendo il token ricevuto al momento della creazione del cluster, mentre manager_node_ip_address rappresenta l’indirizzo IP del gestore Swarm:

Una volta eseguito correttamente il comando, vedrai l’output di seguito:

Disconnettersi dal nodo 2 e accedere al nodo Manager, quindi eseguire il comando seguente per elencare:

nodo docker ls

Il nodo di lavoro dovrebbe apparire così:

Passaggio 5: avviare i servizi nello Docker Swarm

Ora che Docker Swarm è stato installato correttamente, è il momento di testare il container e vedere come lo gestisce Swarm Manager.

Quindi, sul tuo nodo Manager, imposta un servizio web con il seguente comando:

servizio docker create –name webserver -p 80:80 httpd

In questo comando, intendiamo mappare la porta 80 nel contenitore alla porta 80 sul cluster per ottenere pieno accesso alla modalità predefinita sul server Apache.

Verifica che il servizio sia in esecuzione digitando questo comando:

servizio docker ls

Dovresti vedere un output come questo:

ID MODO NOME REPLICA PORTE IMMAGINE
nnt7i1lipo0h webserver replicato 0/1 apache: ultimo *: 80->80 / tcp

Passaggio 6: test Docker Swarm

Ora il server Apache dovrebbe funzionare senza problemi su Manager Node. È possibile accedere al server Web indirizzando il browser a http: // nodo-1_ip-indirizzo.

Dovresti vedere il seguente output:

Ora il server Apache è disponibile su ciascun nodo.

Il servizio Docker può ridimensionare un servizio. Per verificare la disponibilità elevata del server, interrompere l’esecuzione di Docker sul nodo di lavoro:

sudo systemctl stop docker

Utilizzare il comando seguente per determinare lo stato del server Apache:

servizio docker ps webserver

È necessario avviare un nuovo contenitore sul nodo Manager con il seguente output:

ID NOME IMMAGINE NODO STATO DESIDERATO PORTE DI ERRORE DI STATO CORRENTE
ia2qc8a5f5n4 webserver.1 httpd: ultimo Manager-Node Pronto Pronto 1 secondo fa
7roily9zpjvq \ _ webserver.1 httpd: ultimo arresto del nodo di lavoro in esecuzione 15 secondi fa
r7nzo325cu73 webserver.2 httpd: ultimo gestore-nodo in esecuzione in esecuzione 23 minuti fa

Conclusione

Congratulazioni! E ‘così semplice. Ora hai una configurazione completa di Docker Swarm su Ubuntu versione 16.04. Inoltre, ora sai come eseguire diverse attività di gestione su Swarm Cluster. Con questa conoscenza di base, è ancora necessario configurare il cluster Docker con diversi nodi Manager a seconda delle esigenze dell’amministrazione.

Dai un’occhiata ai primi 3 servizi VPS:

Hosting A2

Prezzo di partenza:
$ 5.00


Affidabilità
9.3


Prezzi
9.0


Di facile utilizzo
9.3


Supporto
9.3


Caratteristiche
9.3

Leggi le recensioni

Visita A2 Hosting

ScalaHosting

Prezzo di partenza:
$ 12.00


Affidabilità
9.4


Prezzi
9.5


Di facile utilizzo
9.5


Supporto
9.5


Caratteristiche
9.4

Leggi le recensioni

Visita ScalaHosting

Hostinger

Prezzo di partenza:
$ 3.95


Affidabilità
9.3


Prezzi
9.3


Di facile utilizzo
9.4


Supporto
9.4


Caratteristiche
9.2

Leggi le recensioni

Visita Hostinger

Articoli How-To correlati

  • Come installare un Docker Swarm Cluster su CentOS 7 VPS o server dedicato
    esperto
  • Come distribuire i contenitori Docker con OpenStack Heat
    esperto
  • Come installare e configurare Docker Compose su un Ubuntu 18.04 VPS o server dedicato
    novizio
  • Come impostare SSH per un Ubuntu 16.04 VPS da un client Linux
    novizio
  • Come configurare SSH su un Ubuntu 16.04 VPS o server dedicato
    intermedio
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me