GNU/Linux >> Znalost Linux >  >> Panels >> Docker

Jak vytvořit Docker Swarm Manager a uzly na Linode

<šablona x-if=visible><šablona x-if=$isMobile()>

Než začnete

  1. Dokončení této příručky bude vyžadovat alespoň dva linody umístěné ve stejném datovém centru. Pokyny v této příručce byly napsány pro Ubuntu 16.04, ale lze použít i jiné distribuce; Linodes nemusí používat stejnou distribuci.

  2. Při aktualizaci systému postupujte podle našeho průvodce nastavením a zabezpečením výpočetní instance. Můžete také chtít nastavit časové pásmo, nakonfigurovat název hostitele, vytvořit omezený uživatelský účet a posílit přístup SSH.

  3. Nainstalujte Docker na každý Linode. Další informace naleznete v naší příručce Instalace Dockeru a nasazení sady LAMP nebo instalační dokumentaci Dockeru.

Poznámka Kroky v této příručce vyžadují oprávnění root. Níže uvedené kroky spusťte jako root nebo pomocí sudo předpona. Další informace o oprávněních naleznete v naší příručce Uživatelé a skupiny.

Zvyšte výkon Dockeru vytvořením clusteru hostitelů Dockeru, který se nazývá Docker Swarm. Potřebujete jeden Linode, který bude sloužit jako správce Docker Swarm Manager, a několik hostitelů Dockeru, abyste se připojili k Swarmu jako Nodes.

V této příručce nastavíte správce Docker Swarm Manager a připojíte uzly pro škálovatelné nasazení kontejneru. To vyžaduje více Linodů s nainstalovaným Dockerem a spuštěným ve stejném datovém centru. Nemusí provozovat stejnou distribuci.

Vytvoření správce Docker Swarm Manager

Účelem Docker Swarm Manager je přijímat příkazy jménem clusteru a přiřazovat kontejnery uzlům. Swarm Manager používá Raft Consensus Algorithm ke správě stavů Swarm. Raft Consensus Algorithm zajišťuje, že všechny manažerské uzly, které mají na starosti správu a plánování úloh v klastru, ukládají stejný, konzistentní stav. Pokud dojde k selhání, jeden uzel převezme úkoly a obnoví stabilní stav.

V této příručce vytvoříme jednoho Swarm Managera. Pokud je vaším cílem vysoká dostupnost, můžete vytvořit více správců.

  1. Přihlaste se do Linode, který jste vybrali pro správce Swarm a inicializujte správce. Nahraďte PUBLIC_IP v tomto příkladu s veřejnou IP adresou Linode:

    docker swarm init --advertise-addr PUBLIC_IP
    

    Docker odpoví příkazem nezbytným pro připojení uzlů k Swarmu:

  2. Použijte docker info pro ověření, že váš Swarm běží a je aktivní:

    docker info
    

Připojit uzly ke správci

V kroku 1 v předchozí části docker swarm init příkaz vydává pokyny, jak se připojit ke správci.

docker swarm join --token TOKEN PUBLIC_IP:2377

Kde TOKEN je dlouhý řetězec znaků, který se vám zobrazí při inicializaci Swarmu, a PUBLIC_IP je veřejná IP adresa vašeho Swarm Manager Linode. Pokud si token nepamatujete, spusťte join-token na manažeru pro zobrazení informací z swarm init příkaz:

docker swarm join-token worker
  1. Chcete-li se připojit k uzlu k Swarmu, spusťte docker swarm join z uzlu. Změňte TOKEN na token z kroku 1 v předchozí části a PUIBLIC_IP na veřejnou IP správce:

    docker swarm join --token TOKEN PUBLIC_IP:2377
    

    Výstup ukazuje, že se uzel připojil k roji jako pracovník. Nyní máte malý cluster Docker Swarm s jedním správcem a jedním uzlem:

  2. Opakujte krok 1 a připojte tolik uzlů k Swarmu, kolik potřebujete.

  3. Ve správci použijte docker node ls pro zobrazení informací o manažerovi a seznamu všech uzlů:

    docker node ls
    

Nasazení služby pomocí Docker Swarm

Chcete-li nasadit službu s Docker Swarm, použijte správce k přípravě jednoho uzlu a poté jej škálujte konfiguraci, která odpovídá vašim potřebám. V tomto příkladu nainstalujete NGINX na jeden uzel a poté jej škálujete na shluk (roj) tří uzlů.

  1. Ve Swarm Manageru použijte service create k nasazení služby do uzlu. Změňte nginxexample na cokoliv chcete:

    docker service create -p 80:80 --name nginxexample nginx
    
  2. Škálujte službu NGINX na tři uzly:

    docker service scale nginxexample=3
    
  3. Ověřte, zda byla služba nasazena pomocí docker ps -a z libovolného uzlu:

    docker ps -a
    
  4. Chcete-li zastavit nginxexample použijte service remove příkaz:

    docker service remove nginxexample
    

Další informace

Další informace o tomto tématu můžete získat v následujících zdrojích. Přestože jsou poskytovány v naději, že budou užitečné, vezměte prosím na vědomí, že nemůžeme ručit za přesnost nebo aktuálnost externě hostovaných materiálů.

  • Docker Docs
  • Výukový program Docker Try it
  • Docker Hub

Docker
  1. Jak exportovat a importovat kontejnery Docker

  2. Jak nasadit kontejner nginx s Dockerem na Linode

  3. Jak a proč používat vzdáleného hostitele dockeru

  1. NFS Docker Volumes:Jak vytvořit a používat

  2. Jak nainstalovat a používat Docker Compose na CentOS

  3. Jak vytvořit Docker Image z kontejneru a Dockerfile

  1. Learning Docker:Jak vytvořit kontejner Docker

  2. Jak nastavit a nakonfigurovat Docker Swarm Cluster na Ubuntu

  3. Jak nainstalovat a nakonfigurovat Docker Swarm Cluster na CentOS 8