GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nastavit a nakonfigurovat Docker Swarm Cluster na Ubuntu

Docker Swarm je nástroj, který umožňuje nasadit cluster hostitelů Docker. Je to nativní klastrovací nástroj poskytovaný Dockerem, který poskytuje vysokou dostupnost a vysoký výkon pro vaši aplikaci tím, že jej distribuuje do všech uzlů uvnitř swarm clusteru.

V tomto tutoriálu vám krok za krokem ukážeme, jak vytvořit Swarm Cluster pomocí Ubuntu 16.04. Vytvoříme swarm cluster pomocí 2 serverových strojů ubuntu, 1 serverového uzlu jako správce a 1 dalšího jako pracovníka. A pak se pokusíme nasadit jednoduchou službu Nginx do swarm clusteru.

Předpoklady

  • 2 nebo více – server Ubuntu 16.04
    • správce     132.92.41.4
    • worker01   132.92.41.5
  • Oprávnění uživatele root

Co uděláme?

  1. Konfigurovat hostitele
  2. Nainstalujte Docker-ce
  3. Inicializace Docker Swarm
  4. Nasazení první služby do clusteru

Krok 1 – Konfigurace hostitelů

Před instalací jakýchkoli balíčků pro swarm cluster nakonfigurujeme soubor hosts na obou serverech.

Spusťte níže uvedené příkazy na všech serverech, 'manager' a 'worker01'.

Upravte soubor '/etc/hosts' pomocí editoru vim.

vim /etc/hosts

Přidejte následující konfiguraci na konec řádku.

132.92.41.4    manager
132.92.41.5    worker01

Uložte a ukončete.

Nyní otestujte všechny uzly pomocí 'hostname' namísto IP adresy.

ping -c 3 manager
ping -c 3 worker01

A ujistěte se, že to funguje na všech hostitelích.

Krok 2 – Instalace Docker-ce

K vytvoření swarm clusteru musíme nainstalovat docker na všechny serverové uzly. V tomto kroku nainstalujeme Docker-ce Community Edition na server manager i worker01.

Nainstalujte závislosti Docker-ce pomocí příkazu apt níže.

sudo apt install apt-transport-https software-properties-common ca-certificates -y

Nyní přidejte klíč Docker a úložiště Docker-ce na naše servery.

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
sudo echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial stable" > /etc/apt/sources.list.d/docker-ce.list

Aktualizujte úložiště a nainstalujte balíčky Docker-ce pomocí příkazu apt install níže.

sudo apt update
sudo apt install docker-ce -y

Po dokončení instalace spusťte službu docker a povolte její spuštění při každém spuštění systému.

systemctl start docker
systemctl enable docker

Docker-ce je nyní nainstalován na našich serverových uzlech.

Dále nakonfigurujeme docker tak, aby běžel jako normální uživatel nebo uživatel bez oprávnění root.

Vytvořte nového uživatele s názvem 'mohammad' a přidejte jej do skupiny 'docker'.

useradd -m -s /bin/bash mohammad
sudo usermod -aG docker mohammad

Nyní se přihlaste k uživateli 'mohammad' a spusťte příkaz docker hello-world, jak je uvedeno níže.

su - mohammad
docker run hello-world

A z dockeru získáte ahoj svět, jak je znázorněno níže.

Krok 3 – Vytvoření Swarm Cluster

V tomto kroku vytvoříme Swarm Cluster našich uzlů. A abychom vytvořili uzly swarm clusteru, musíme inicializovat režim swarm v uzlu 'manager' a poté připojit uzel 'worker01' ke clusteru.

Inicializujte režim Docker Swarm spuštěním příkazu docker níže v uzlu 'manager'.

docker swarm init --advertise-addr 132.92.41.4

A dostanete výsledek, jak je ukázáno níže.

Uvidíte, že 'join-token' byl vygenerován uzlem 'manager'.

Dále musíme přidat uzel 'worker01' do clusteru 'manager'. A k tomu potřebujeme 'join-token' z uzlu 'správce' clusteru, takže si ho nezapomeňte napsat do poznámky.

Spusťte příkaz docker swarm join na uzlu 'worker01'.

docker swarm join --token SWMTKN-1-5p5ujrr67rl2rlmyvrj56fksblbcrtaeirf7fj5r4snid2vn6y-918gbqr02m64xct43i2ssi4qs 132.92.41.4:2377

Nyní získáte výsledek, jak je znázorněno níže.

Uzel 'worker01' byl připojen ke clusteru.

Zkontrolujte to spuštěním následujícího příkazu v uzlu 'manager'.

docker node ls

Nyní vidíte, že uzel 'worker01' byl připojen ke shluku rojů.

Swarm Cluster byl vytvořen.

Krok 4 – Nasazení první služby do clusteru

V tomto kroku vytvoříme a nasadíme naši první službu do swarm clusteru. Chceme vytvořit nový webový server služby Nginx, který poběží na výchozím portu http 80, a poté jej vystavit portu 8080 na hostitelském serveru a poté se pokusit replikovat službu nginx uvnitř swarm clusteru.

Vytvořit službu

Vytvořte novou službu Nginx s názvem 'my-web' a vystavte port HTTP kontejneru portu 8080 na hostiteli.

docker service create --name my-web --publish 8080:80 nginx:1.13-alpine

A až bude vytvořen, zkontrolujte pomocí příkazu služby docker níže.

docker service ls

A dostanete výsledek, jak je ukázáno níže.

Služba Nginx byla vytvořena a nasazena do swarm clusteru jako služba s názvem 'my-web', je založena na Nginx Alpine Linux, vystavuje HTTP port kontejnerové služby portu '8080' na hostiteli a má pouze 1 repliku.

Repliky a škálování služby

Nyní vytvoříme repliky pro službu 'můj-web'. Vytvoříme 2 repliky služby 'my-web', takže služba je přístupná na uzlech 'manager' a 'worker01'.

Chcete-li replikovat službu 'my-web', spusťte následující příkaz.

docker service scale my-web=2

A po dokončení znovu zkontrolujte pomocí příkazu docker service.

docker service ls

A nyní má server 2 repliky.

Otevřete webový prohlížeč a zadejte IP adresu manažerského uzlu s portem 8080.

http://manager:8080/

A získáte výchozí stránku Nginx.

Níže je výsledek z uzlu 'worker01'.

http://worker01:8080/

Byl vytvořen Swarm Cluster a byla dokončena implementace služby Nginx do našeho Swarm Clusteru.


Ubuntu
  1. Jak nainstalovat a nakonfigurovat Redis na Ubuntu 18.04

  2. Jak nainstalovat a nakonfigurovat Redmine na Ubuntu 18.04

  3. Jak nastavit MariaDB Galera Cluster na Ubuntu 20.04

  1. Jak nainstalovat a nakonfigurovat Sambu na Ubuntu 18.04

  2. Jak nainstalovat a nakonfigurovat Redis na Ubuntu 20.04

  3. Jak nainstalovat a nakonfigurovat Jenkins na Ubuntu 20.04

  1. Jak nainstalovat a nastavit Docker na Ubuntu 18.04

  2. Jak nainstalovat a nakonfigurovat Kubernetes a Docker na Ubuntu 18.04 LTS

  3. Jak nastavit Riak KV Database Cluster na Ubuntu 18.04