GNU/Linux >> Linux Esercitazione >  >> Panels >> Docker

Come creare un Docker Swarm Manager e nodi su Linode

Prima di iniziare

  1. Il completamento di questa guida richiederà almeno due Linode situati nello stesso data center. Le istruzioni in questa guida sono state scritte per Ubuntu 16.04, ma è possibile utilizzare altre distribuzioni; i Linode non hanno bisogno di usare la stessa distribuzione.

  2. Segui la nostra guida alla configurazione e alla protezione di un'istanza di calcolo per aggiornare il tuo sistema. Potresti anche voler impostare il fuso orario, configurare il tuo nome host, creare un account utente limitato e rafforzare l'accesso SSH.

  3. Installa Docker su ogni Linode. Per ulteriori informazioni, consulta la nostra guida all'installazione di Docker e alla distribuzione di uno stack LAMP o i documenti di installazione di Docker.

Nota I passaggi in questa guida richiedono i privilegi di root. Assicurati di eseguire i passaggi seguenti come root o con il sudo prefisso. Per ulteriori informazioni sui privilegi, consulta la nostra guida Utenti e gruppi.

Aumenta la potenza di Docker creando un cluster di host Docker, chiamato Docker Swarm. Hai bisogno di un Linode per fungere da Docker Swarm Manager e alcuni host Docker per unirsi allo Swarm come nodi.

In questa guida, configurerai un Docker Swarm Manager e collegherai i nodi per una distribuzione di container scalabile. Ciò richiede più Linode con Docker installato e in esecuzione nello stesso data center. Non è necessario che eseguano la stessa distribuzione.

Crea il Docker Swarm Manager

Lo scopo di Docker Swarm Manager è ricevere comandi per conto del cluster e assegnare contenitori ai nodi. Lo Swarm Manager usa l'algoritmo Raft Consensus per gestire gli stati dello sciame. L'algoritmo Raft Consensus garantisce che tutti i nodi manager responsabili della gestione e della pianificazione delle attività in un cluster memorizzino lo stesso stato coerente. In caso di errore, un singolo nodo assume le attività e ripristina lo stato stabile.

In questa guida creiamo un unico Swarm Manager. Se il tuo obiettivo è l'alta disponibilità, puoi creare più gestori.

  1. Accedi al Linode che hai scelto per Swarm manager e inizializza il manager. Sostituisci PUBLIC_IP in questo esempio con l'indirizzo IP pubblico di Linode:

    docker swarm init --advertise-addr PUBLIC_IP
    

    Docker risponde con il comando necessario affinché i nodi si uniscano allo Swarm:

  2. Usa docker info per verificare che il tuo Swarm sia in esecuzione e attivo:

    docker info
    

Unisciti a Nodes al Manager

Nel passaggio 1 della sezione precedente, docker swarm init comando restituisce istruzioni su come entrare nel gestore.

docker swarm join --token TOKEN PUBLIC_IP:2377

Dove TOKEN è la lunga stringa di caratteri che ti viene presentata quando hai inizializzato lo Swarm e PUBLIC_IP è l'indirizzo IP pubblico del tuo Swarm Manager Linode. Se non ricordi il token, esegui join-token sul manager per visualizzare le informazioni da swarm init comando:

docker swarm join-token worker
  1. Per unire il nodo allo Swarm, esegui docker swarm join dal nodo. Cambia TOKEN al token del passaggio 1 nella sezione precedente e PUIBLIC_IP all'IP pubblico del gestore:

    docker swarm join --token TOKEN PUBLIC_IP:2377
    

    L'output mostra che il nodo si è unito allo sciame come lavoratore. Ora hai un piccolo cluster Docker Swarm, con un gestore e un nodo:

  2. Ripetere il passaggio 1 per unire allo Swarm tutti i nodi necessari.

  3. Sul manager, usa docker node ls per visualizzare le informazioni sul gestore e un elenco di tutti i nodi:

    docker node ls
    

Distribuisci un servizio con Docker Swarm

Per distribuire un servizio con Docker Swarm, usa il gestore per preparare un singolo nodo, quindi scala la configurazione per soddisfare le vostre esigenze. In questo esempio, installerai NGINX su un nodo, quindi lo ridimensionerai su un cluster (sciame) di tre nodi.

  1. Da Swarm Manager, usa service create per distribuire un servizio su un nodo. Cambia nginxexample a quello che vuoi:

    docker service create -p 80:80 --name nginxexample nginx
    
  2. Ridimensiona il servizio NGINX su tre nodi:

    docker service scale nginxexample=3
    
  3. Verifica che il servizio sia stato distribuito con docker ps -a da qualsiasi nodo:

    docker ps -a
    
  4. Per interrompere nginxexample servizio, usa service remove comando:

    docker service remove nginxexample
    

Maggiori informazioni

Si consiglia di consultare le seguenti risorse per ulteriori informazioni su questo argomento. Sebbene questi siano forniti nella speranza che possano essere utili, tieni presente che non possiamo garantire l'accuratezza o la tempestività dei materiali ospitati esternamente.

  • Documenti Docker
  • Tutorial Prova Docker
  • Hub Docker

Docker
  1. Come esportare e importare contenitori Docker

  2. Come distribuire un container nginx con Docker su Linode

  3. Come e perché utilizzare un host Docker remoto

  4. Come installare e utilizzare Docker Compose su CentOS

  5. Come creare un'immagine Docker da un contenitore e un file Docker

Come installare Docker e Docker Compose su Linux

Come ripulire ed eliminare le immagini Docker

Come creare un'immagine Docker da un contenitore in esecuzione

Come creare un registro Docker privato su Ubuntu Linux

Come creare un contenitore dell'applicazione Django Docker

Come distribuire e gestire un contenitore Docker MongoDB