Vytvorte Docker Swarm na Alpine Linux 3.9.0

Úvod

Táto príručka vám ukáže, ako vytvoriť a nakonfigurovať Docker swarm pomocou viacerých serverov Alpine Linux 3.9.0 a Porttainer. Upozorňujeme, že Vultr ponúka aplikáciu One-Click Docker App, ktorá v súčasnosti podporuje CentOS 7 x64 aj Ubuntu 16.04 x64.

Predpoklady

Na začiatok budete potrebovať aspoň dva servery VC2 so systémom Alpine Linux 3.9.0. V rámci vášho Docker swarmu bude jeden z týchto serverov fungovať ako manager node– prepojenie s externými sieťami a delegovanie úloh na pracovné uzly. Druhý server bude potom fungovať ako worker node- vykonávajúci úlohy, ktoré mu deleguje manažérsky uzol.

Všimnite si, že môžete spustiť viac ako dva servery, ak vaša aplikácia vyžaduje redundanciu a/alebo vyšší výpočtový výkon, pričom kroky uvedené v tejto príručke budú stále platiť.

Nasadenie

Navštívte rozhranie nasadenia servera Vultr .

Uistite sa, že je Vultr Cloud (VC2)karta vybratá v hornej časti stránky.

V Server Locationsekcii si môžete vybrať ľubovoľné umiestnenie , avšak všetky servery musia byť na rovnakom mieste , inak na ne nebude možné nasadiť roj Dockerov.

Vyberte ISO Librarykartu Server Typesekcie a vyberte Alpine Linux 3.9.0 x86_64obrázok.

Vyberte vhodnú možnosť zo Server Sizesekcie. V tejto príručke sa použije veľkosť servera SSD 25 GB, ale nemusí to stačiť na splnenie požiadaviek na zdroje vašej aplikácie. Aj keď Vultr uľahčuje aktualizáciu veľkosti servera po jeho spustení, stále by ste mali starostlivo zvážiť, akú veľkosť servera potrebuje vaša aplikácia na optimálny výkon.

V Additional Featuressekcii musíte vybrať Enable Private Networkingmožnosť. Zatiaľ čo ostatné možnosti nie sú potrebné, aby ste sa riadili touto príručkou, mali by ste zvážiť, či každá z nich dáva zmysel v kontexte vašej aplikácie.

Ak ste túto Multiple Private Networksmožnosť vo svojom účte predtým povolili , budete musieť pre svoje servery vybrať existujúcu alebo vytvoriť novú súkromnú sieť. Ak ste to nepovolili, môžete túto časť ignorovať. Informácie o manuálnej konfigurácii súkromných sietí nájdete v tejto príručke .

Firewall GroupSekciu zatiaľ preskočte . Odkryté porty bude potrebovať iba server, ktorý pôsobí ako manažérsky uzol v Docker swarm, a to by sa malo nakonfigurovať po nasadení servera.

Úplne dole na stránke musíte zadať Server Qtyaspoň dva. Ako už bolo spomenuté, možno budete potrebovať viac ako dva servery, ale dva sú dostatočné na to, aby ste sa riadili týmto návodom.

Nakoniec v Server Hostname & Labelsekcii zadajte zmysluplné a zapamätateľné názvy hostiteľov a štítky pre každý server. Na účely tejto príručky bude názov hostiteľa a štítok prvého servera docker-managera Docker Manager, v tomto poradí- docker-workera Docker Workerpre druhý server , v tomto poradí.

Po dvojitej kontrole všetkých vašich konfigurácií môžete kliknúť na Deploy Nowtlačidlo v spodnej časti stránky a spustiť servery.

Nainštalujte na servery Alpine Linux 3.9.0

Pretože ste si vybrali OS z knižnice ISO Vultr, budete musieť manuálne nainštalovať a nakonfigurovať Alpine Linux 3.9.0 na každom serveri.

Potom, čo dáte Vultrovi minútu alebo dve na pridelenie vašich serverov, kliknite na ikonu s tromi bodkami more optionspre Docker Managerserver v rozhraní správy servera a potom vyberte View Consolemožnosť.

Mali by ste byť presmerovaní na konzolu s výzvou na prihlásenie. Ak nie, počkajte ďalšiu minútu, kým Vultr dokončí nasadenie vašich serverov.

Po prihlásení zadajte rootako používateľské meno. Živá verzia Alpine Linux 3.9.0 (na ktorej momentálne bežia vaše servery) nevyžaduje, aby superužívateľ pri prihlasovaní zadával heslo.

Po úspešnom prihlásení do účtu root uvidíte uvítaciu správu, po ktorej bude nasledovať výzva shellu, ktorá vyzerá takto:

localhost:~# 

Ak chcete spustiť inštalačný program Alpine Linux, zadajte nasledujúci príkaz:

# setup-alpine

Najprv vyberte vhodné rozloženie klávesnice. Táto príručka bude používať usrozloženie a variant.

Pri nastavovaní názvu hostiteľa vyberte rovnaký názov hostiteľa, aký ste nastavili pre tento server počas nasadenia. Ak ste postupovali presne podľa tohto návodu, názov hostiteľa by mal byť docker-manager.

Mali by byť k dispozícii dve sieťové rozhrania: eth0a eth1. Ak vidíte iba eth0, znamená to, že ste nenakonfigurovali privátnu sieť vašich serverov správne. Inicializujte eth0pomocou dhcpa inicializujte eth1pomocou súkromnej IP adresy, masky siete a brány, ktoré boli tomuto serveru priradené počas nasadenia. K týmto podrobnostiam sa dostanete z rozhrania nastavení vášho servera. Keď sa zobrazí výzva, nevykonávajte žiadnu manuálnu konfiguráciu siete.

Zadajte nové heslo pre konto root a potom vyberte časové pásmo vhodné pre umiestnenie, do ktorého ste tieto servery nasadili.

Ak máte v úmysle použiť HTTP/FTP proxy, zadajte jeho URL, inak URL proxy nenastavujte.

Vyberte klienta NTP na správu synchronizácie systémových hodín. Táto príručka bude používať busybox.

Keď budete požiadaní o použitie zrkadla úložiska balíkov, vyberte ho explicitne zadaním jeho čísla; automaticky zistiť a vybrať najrýchlejší zadaním f; alebo manuálne upravte konfiguračný súbor úložiska zadaním e, čo sa neodporúča, pokiaľ nepoznáte Alpine Linux. Táto príručka bude používať prvé zrkadlo.

Ak plánujete používať SSH na prístup k vašim serverom alebo na hosťovanie súborového systému založeného na SSH, vyberte server SSH, ktorý chcete použiť. Táto príručka bude používať openssh.

Po výzve pre disk použiť, vyberte disk vdaako systyp.

Alpine Linux 3.9.0 by teraz mal byť nainštalovaný na vašom serveri. Tento proces zopakujte pre všetky ostatné servery, ktoré ste predtým nasadili, pričom sa uistite, že ste nahradili správne hodnoty pre názov hostiteľa a eth1sieťové rozhranie.

Konfigurácia servera po inštalácii

V tomto bode vaše servery stále používajú živú ISO verziu Alpine Linux 3.9.0. Ak chcete zaviesť systém z inštalácie SSD, navštívte rozhranie nastavení vášho servera, prejdite na Custom ISOpoložku bočnej ponuky a kliknite na Remove ISOtlačidlo. To by malo reštartovať server. Ak sa tak nestane, reštartujte manuálne.

Po dokončení reštartovania servera prejdite späť na webovú konzolu servera Docker Manager.

Prihláste sa do účtu root pomocou hesla, ktoré ste nastavili skôr počas procesu inštalácie.

Povoľte úložisko komunitných balíkov zrušením komentára v treťom riadku /etc/apk/repositoriesusing vi. Edge a testovacie úložiská môžete povoliť podobným spôsobom, nemusia sa však riadiť týmto sprievodcom.

Synchronizujte lokálny index balíkov servera so vzdialeným archívom, ktorý ste vybrali predtým, zadaním nasledujúceho príkazu shell:

# apk update

Potom inovujte zastarané balíky:

# apk upgrade

Ako predtým, zopakujte tento konfiguračný proces pre každý server, ktorý ste predtým nasadili.

Nainštalujte Docker na svoje servery

Pred inštaláciou samotného balíka Docker možno budete chcieť vytvoriť samostatného dockerpoužívateľa. Môžete to urobiť pomocou nasledujúceho príkazu:

# adduser docker

Poznámka: Tento nový používateľ a všetci používatelia pridaní do novej dockerskupiny budú mať po nainštalovaní balíka Docker oprávnenia root. Pozrite si nasledujúci problém z úložiska Moby Github:

Due to the --privileged in docker, anyone added to the 'docker' group is root equivalent. Anyone in the docker group has a back door around all privilege escalation policy and auditing on the system.

This is different from someone being able to run running sudo to root, where they have policy, and audit applied to them.

Ak chcete používateľovi udeliť povolenie sudo docker, najskôr nainštalujte sudobalík:

# apk add sudo

Potom vytvorte sudoskupinu:

# addgroup sudo

Nakoniec pridajte dockerpoužívateľa do sudoskupiny:

# adduser docker sudo

Teraz môžete podľa kroku 4 tejto príručky dokončiť konfiguráciu sudo.

V tomto bode ste pripravení nainštalovať balík Docker. Upozorňujeme, že dockerna inštaláciu a konfiguráciu Dockeru nie je nevyhnutne potrebné mať samostatného používateľa schopného sudo , ale táto príručka sa riadi touto konvenciou.

Nainštalujte balík Docker pomocou nasledujúceho príkazu:

# apk add docker

Potom povoľte inicializačný skript Docker:

# rc-update add docker

Nakoniec spustite démona Docker:

# rc-service docker start

Pomocou tohto príkazu môžete overiť, či je Docker spustený:

# docker info

Ako naposledy, zopakujte tento proces inštalácie Docker pre každý server, ktorý ste nasadili na začiatku.

Inicializujte Docker swarm s jedným manažérskym a jedným pracovným uzlom

Po vykonaní všetkých týchto nastavení ste konečne pripravení vytvoriť roj Dockerov.

Vytvorte roj a pridajte manažérsky uzol

Prejdite späť na webovú konzolu vášho Docker Managerservera. Tento server nakonfigurujete ako manažérsky uzol vo vašom roji. Ak ste sa rozhodli vytvoriť dockerpoužívateľa skôr, prihláste sa pomocou tohto účtu a nie pomocou superpoužívateľa.

Zadajte nasledujúci príkaz, ale nahraďte 192.0.2.1ho súkromnou (nie verejnou) adresou IP, ktorá Docker Managerbola priradená vášmu serveru:

$ docker swarm init --advertise-addr 192.0.2.1

Docker zobrazí príkaz, ktorý môžete vykonať na iných serveroch v súkromnej sieti a pridať ich ako pracovné uzly do tohto nového roja. Uložte tento príkaz.

Pridajte pracovný uzol

Teraz prejdite na webovú konzolu vášho Docker Workerservera a prihláste sa s dockerpoužívateľom, ak ste ju vytvorili.

Ak chcete pridať tento server ako pracovný uzol do roja, ktorý ste práve vytvorili, vykonajte príkaz, ktorý ste uložili z výstupu príkazu na vytvorenie roja. Bude to vyzerať podobne ako nasledovné:

$ docker swarm join --token SWMTKN-1-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXX 192.0.2.1:2377

Docker vypíše, či sa uzol dokázal pripojiť k roju. Ak narazíte na problémy s pridávaním pracovných uzlov do roja, dvakrát skontrolujte konfiguráciu súkromnej siete a pozrite si túto príručku na riešenie problémov.

If you deployed more than two servers at the beginning, you can add the rest as worker nodes to your swarm using the command above, increasing the amount resources available to your application. Alternatively, you can add additional manager nodes, but that's beyond the scope of this guide.

Deploy Portainer with SSL to manage your Docker swarm

At this point your Docker swarm is ready for use. You may, however, optionally launch a Portainer stack on the manager node in your swarm. Portainer offers a convenient web interface for managing your swarm and the nodes therein.

It's now time to create a firewall group for your swarm. Unless your application specifically requires it, only expose ports on your manager nodes. Exposing ports on your worker nodes without careful consideration can introduce vulnerabilities.

Prejdite do rozhrania správy brány firewall a vytvorte novú skupinu brány firewall. Vaša aplikácia by mala diktovať, ktoré porty sa majú odkryť, ale musíte prinajmenšom odkryť port 9000pre Portainer. Použite túto skupinu brány firewall na Docker Managerserver.

Hoci to nie je povinné, dôrazne sa odporúča zabezpečiť Porttainer pomocou SSL. Kvôli tejto príručke budete používať iba certifikát OpenSSL s vlastným podpisom, ale mali by ste zvážiť použitie Let's Encrypt v produkcii.

Prejdite na webovú konzolu Docker Managerservera, prihláste sa pomocou dockerpoužívateľa a pomocou nasledujúcich príkazov vygenerujte certifikát OpenSSL s vlastným podpisom:

$ mkdir ~/certs
$ openssl genrsa -out ~/certs/portainer.key 2048
$ openssl req -new -x509 -sha256 -key ~/certs/portainer.key -out ~/certs/portainer.pem -days 3650

Vytvorte nový súbor ~/portainer-agent-stack.ymls nasledujúcim obsahom:

version: '3.2'

services:
  agent:
    image: portainer/agent
    environment:
      AGENT_CLUSTER_ADDR: tasks.agent
      CAP_HOST_MANAGEMENT: 1
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /var/lib/docker/volumes:/var/lib/docker/volumes
      - /:/host
    networks:
      - agent_network
    deploy:
      mode: global

  portainer:
    image: portainer/portainer
    command: -H tcp://tasks.agent:9001 --tlsskipverify --ssl --sslcert /certs/portainer.pem --sslkey /certs/portainer.key
    ports:
      - target: 9000
        published: 9000
        protocol: tcp
        mode: host
    volumes:
      - portainer_data:/data
      - /home/docker/certs:/certs
    networks:
      - agent_network
    deploy:
      mode: replicated
      replicas: 1
      placement:
        constraints: [node.role == manager]

networks:
  agent_network:
    driver: overlay
    attachable: true

volumes:
  portainer_data:

Po úprave tohto konfiguračného súboru zásobníka Docker tak, aby vyhovoval vašim požiadavkám, ho môžete nasadiť:

$ docker stack deploy --compose-file ~/portainer-agent-stack.yml portainer

Ak chcete overiť, či Porttainer funguje, vykonajte nasledujúci príkaz po tom, čo ste dali Dockerovi minútu alebo dve na nasadenie zásobníka:

$ docker ps

Uvidíte dva kontajnery s obrázkami portainer/portainer:latesta portainer/agent:latest, čím sa overí, či sa Porttainer spustil správne.

Teraz môžete konfigurovať a spravovať svoj Docker swarm návštevou verejnej IP adresy vášho Docker Managerservera na porte 9000pomocou HTTPS.


Tu je návod, ako skontrolovať kontajnery Hyper-V v programe Windows 10 Insider

Tu je návod, ako skontrolovať kontajnery Hyper-V v programe Windows 10 Insider

Spoločnosť Microsoft v novom blogovom príspevku vysvetlila, ako môžu Windows Insiders testovať kontajnery Hyper-V v systéme Windows 10, nové virtualizačné riešenie, ktoré umožňuje aplikáciám bežať bez ovplyvnenia zvyšku vášho operačného systému.

Ako nainštalovať Harbour na CentOS 7

Ako nainštalovať Harbour na CentOS 7

Harbor je open source server registrov podnikovej triedy, ktorý ukladá a distribuuje obrazy Docker. Harbor rozširuje open source Docker Distribution b

Nainštalujte Rancher OS cez iPXE

Nainštalujte Rancher OS cez iPXE

Rancher OS je veľmi ľahká distribúcia Linuxu postavená na Docker. Samotný OS váži okolo 20 MB. Tento tutoriál vám pomôže začať pracovať

V systéme CoreOS si nastavte svoj vlastný register Docker

V systéme CoreOS si nastavte svoj vlastný register Docker

Všetci poznáme a milujeme Docker, platformu na vytváranie, správu a distribúciu kontajnerov aplikácií na viacerých počítačoch. Docker Inc. poskytuje službu t

Inštalácia docker-compose na CoreOS

Inštalácia docker-compose na CoreOS

Tento článok vysvetľuje, ako nainštalovať docker-compose na CoreOS. V CoreOS je priečinok /usr/ nemenný, takže štandardná cesta /usr/local/bin nie je dostupná pre

Nainštalujte Rancher na CentOS 7

Nainštalujte Rancher na CentOS 7

Používate iný systém? Úvod Rancher je open source platforma na prevádzkovanie kontajnerov a budovanie súkromnej kontajnerovej služby. Rancher je základňa

Vytvorte Docker Swarm na Alpine Linux 3.9.0

Vytvorte Docker Swarm na Alpine Linux 3.9.0

Úvod Táto príručka vám ukáže, ako vytvoriť a nakonfigurovať Docker swarm pomocou viacerých serverov Alpine Linux 3.9.0 a Porttainer. Prosím, uvedomte si to

Nasaďte aplikáciu PHP pomocou Docker-compose

Nasaďte aplikáciu PHP pomocou Docker-compose

PHP aplikácie sa zvyčajne skladajú z webového servera, relačného databázového systému a samotného jazykového tlmočníka. V tomto návode budeme využívať páku

Vyváženie zaťaženia pomocou Docker

Vyváženie zaťaženia pomocou Docker

Pri spustení webovej aplikácie zvyčajne chcete vyťažiť maximum zo svojich zdrojov bez toho, aby ste museli konvertovať softvér na používanie viacerých vlákien alebo

Nasaďte aplikáciu Node.js pomocou Dockeru

Nasaďte aplikáciu Node.js pomocou Dockeru

Tento článok vám ukáže, ako nasadiť aplikáciu Node v kontajneri Docker. Poznámka: Tento tutoriál predpokladá, že máte nainštalovaný a prečítaný Docker

Inštalácia Docker CE na CentOS 7

Inštalácia Docker CE na CentOS 7

Technológia kontajnerov Docker vám umožňuje spúšťať aplikácie v špecifickom a izolovanom prostredí. Docker Community Edition (CE) je nový názov pre free

Nasaďte Kubernetes s Kubeadm na CentOS 7

Nasaďte Kubernetes s Kubeadm na CentOS 7

Prehľad Tento článok vám má pomôcť rýchlo spustiť a spustiť klaster Kubernetes s kubeadm. Táto príručka bude nasadzovať dva servery, na

Inštalácia Docker na CentOS 7

Inštalácia Docker na CentOS 7

Používate iný systém? Docker je aplikácia, ktorá umožňuje nasadenie softvéru v rámci virtuálnych kontajnerov. Bolo to napísané v programe Go

Inštalácia Docker CE na Debian 9

Inštalácia Docker CE na Debian 9

Používate iný systém? Úvod Docker je aplikácia, ktorá umožňuje nasadenie softvéru vo virtuálnych kontajneroch. Bolo to napísané v G

Začnite so serverom SQL Server 2017 (MS-SQL) na CentOS 7 s Dockerom

Začnite so serverom SQL Server 2017 (MS-SQL) na CentOS 7 s Dockerom

Predpoklady Docker engine 1.8+. Minimálne 4 GB miesta na disku. Minimálne 4 GB RAM. Krok 1. Inštalácia Docker Aby bolo možné nainštalovať SQL-Server, Docker musí

Sticky Session with Docker Swarm (CE) na Debiane 9

Sticky Session with Docker Swarm (CE) na Debiane 9

Používate iný systém? Úvod Docker Swarm premení vaše jednotlivé servery na zhluk počítačov; uľahčenie škálovania, vysoká dostupnosť an

Dva nástroje na správu grafiky Docker: DockerUI a Shipyard

Dva nástroje na správu grafiky Docker: DockerUI a Shipyard

Pomocou aplikácie Vultr Docker môžete jednoducho nasadiť Docker na inštanciu servera Vultr. Medzitým môžete uľahčiť správu Dockeru

Nainštalujte Rancher Server na RancherOS

Nainštalujte Rancher Server na RancherOS

Prehľad RancherOS je neuveriteľne ľahký operačný systém (iba asi 60 MB), ktorý spúšťa systémového démona Docker ako PID 0 na spustenie systémových služieb.

Začíname s Kubernetes na CentOS 7

Začíname s Kubernetes na CentOS 7

Kubernetes je platforma s otvoreným zdrojom vyvinutá spoločnosťou Google na správu kontajnerových aplikácií naprieč klastrom serverov. Stavia na desaťročí a

Nainštalujte Rancher na Ubuntu 16.04

Nainštalujte Rancher na Ubuntu 16.04

Používate iný systém? Úvod Rancher je open source platforma na prevádzkovanie kontajnerov a budovanie súkromnej kontajnerovej služby. Rancher je základňa

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umelá inteligencia nie je v budúcnosti, je tu priamo v súčasnosti V tomto blogu si prečítajte, ako aplikácie umelej inteligencie ovplyvnili rôzne sektory.

Útoky DDOS: Stručný prehľad

Útoky DDOS: Stručný prehľad

Ste aj vy obeťou DDOS útokov a máte zmätok ohľadom metód prevencie? Ak chcete vyriešiť svoje otázky, prečítajte si tento článok.

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Možno ste už počuli, že hackeri zarábajú veľa peňazí, ale premýšľali ste niekedy nad tým, ako môžu zarábať také peniaze? poďme diskutovať.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Chcete vidieť revolučné vynálezy od Google a ako tieto vynálezy zmenili život každého dnešného človeka? Potom si prečítajte na blogu a pozrite si vynálezy spoločnosti Google.

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Koncept samoriadených áut vyraziť na cesty s pomocou umelej inteligencie je snom, ktorý máme už nejaký čas. Ale napriek niekoľkým prísľubom ich nikde nevidno. Prečítajte si tento blog a dozviete sa viac…

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Ako sa veda vyvíja rýchlym tempom a preberá veľa nášho úsilia, zvyšuje sa aj riziko, že sa vystavíme nevysvetliteľnej singularite. Prečítajte si, čo pre nás môže znamenať singularita.

Vývoj ukladania dát – Infografika

Vývoj ukladania dát – Infografika

Spôsoby ukladania údajov sa môžu vyvíjať už od zrodu údajov. Tento blog sa zaoberá vývojom ukladania údajov na základe infografiky.

Funkcionality vrstiev referenčnej architektúry veľkých dát

Funkcionality vrstiev referenčnej architektúry veľkých dát

Prečítajte si blog, aby ste čo najjednoduchším spôsobom spoznali rôzne vrstvy architektúry veľkých dát a ich funkcie.

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

V tomto digitálnom svete sa inteligentné domáce zariadenia stali kľúčovou súčasťou života. Tu je niekoľko úžasných výhod inteligentných domácich zariadení o tom, ako robia náš život, ktorý stojí za to žiť, a ktorý zjednodušujú.

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Spoločnosť Apple nedávno vydala doplnkovú aktualizáciu macOS Catalina 10.15.4 na opravu problémov, ale zdá sa, že táto aktualizácia spôsobuje ďalšie problémy, ktoré vedú k blokovaniu počítačov Mac. Prečítajte si tento článok a dozviete sa viac