Creeu un Docker Swarm a Alpine Linux 3.9.0

Introducció

Aquesta guia us mostrarà com crear i configurar un eixam Docker mitjançant diversos servidors Alpine Linux 3.9.0 i Portainer. Tingueu en compte que Vultr ofereix una aplicació Docker amb un sol clic que actualment admet tant CentOS 7 x64 com Ubuntu 16.04 x64.

Requisits previs

Per començar, necessitareu almenys dos servidors VC2 amb Alpine Linux 3.9.0. Dins del vostre eixam Docker, un d'aquests servidors actuarà com a manager nodeinterfície amb xarxes externes i delegant feines als nodes de treball. Aleshores, l'altre servidor actuarà com a worker node- executant els treballs que li delegui el node gestor.

Tingueu en compte que podeu llançar més de dos servidors si la vostra aplicació requereix redundància i/o més potència de càlcul, i els passos que s'indiquen en aquesta guia continuaran aplicant-se.

Desplegament

Visiteu la interfície de desplegament del servidor Vultr .

Assegureu-vos que la Vultr Cloud (VC2)pestanya estigui seleccionada a la part superior de la pàgina.

Podeu seleccionar qualsevol ubicació de la Server Locationsecció, però tots els servidors han d'estar a la mateixa ubicació , en cas contrari, no serà possible desplegar-hi un eixam Docker.

Seleccioneu la ISO Librarypestanya de la Server Typesecció i trieu la Alpine Linux 3.9.0 x86_64imatge.

Seleccioneu una opció adequada de la Server Sizesecció. Aquesta guia utilitzarà la mida del servidor SSD de 25 GB, però pot ser que no sigui suficient per satisfer els requisits de recursos de la vostra aplicació. Tot i que Vultr facilita l'actualització de la mida d'un servidor després que ja s'hagi llançat, encara hauríeu de considerar acuradament quina mida de servidor necessita la vostra aplicació per funcionar de manera òptima.

A la Additional Featuressecció, heu de seleccionar l' Enable Private Networkingopció. Tot i que les altres opcions no són obligatòries per seguir aquesta guia, hauríeu de considerar si cadascuna té sentit o no en el context de la vostra aplicació.

Si prèviament heu activat l' Multiple Private Networksopció al vostre compte, haureu de seleccionar una xarxa privada existent o crear una nova per als vostres servidors. Si no l'heu activat, podeu ignorar aquesta secció. Per obtenir informació sobre la configuració manual de xarxes privades, consulteu aquesta guia .

Omet la Firewall Groupsecció de moment. Només el servidor que actua com a node gestor a l'eixam Docker necessitarà ports exposats, i això s'ha de configurar després del desplegament del servidor.

A la part inferior de la pàgina, heu d'introduir Server Qtyalmenys dos. Com s'ha esmentat anteriorment, és possible que necessiteu més de dos servidors, però dos són suficients per seguir aquesta guia.

Finalment, a la Server Hostname & Labelsecció, introduïu noms d'amfitrió i etiquetes significatius i memorables per a cada servidor. Als efectes d'aquesta guia, el nom d'amfitrió i l'etiqueta del primer servidor seran docker-manageri Docker Manager, respectivament, i docker-workeri Docker Workerper al segon, respectivament.

Després de comprovar totes les vostres configuracions, podeu fer clic al Deploy Nowbotó de la part inferior de la pàgina per iniciar els vostres servidors.

Instal·leu Alpine Linux 3.9.0 als servidors

Com que heu triat un sistema operatiu de la biblioteca ISO de Vultr, haureu d'instal·lar i configurar manualment Alpine Linux 3.9.0 a cada servidor.

Després de donar a Vultr un minut o dos per assignar els vostres servidors, feu clic a la more optionsicona de tres punts del Docker Managerservidor a la interfície de gestió del servidor i, a continuació, trieu l' View Consoleopció.

Hauríeu de ser redirigit a una consola amb un missatge d'inici de sessió. Si no, espereu un minut més perquè Vultr acabi de desplegar els vostres servidors.

En aquest missatge d'inici de sessió, introduïu rootcom a nom d'usuari. La versió en directe d'Alpine Linux 3.9.0 (que és la que estan executant els vostres servidors actualment) no requereix que el superusuari introdueixi una contrasenya en iniciar sessió.

Un cop hàgiu iniciat la sessió correctament al compte root, veureu un missatge de benvinguda seguit d'una sol·licitud d'intèrpret d'ordres semblant a la següent:

localhost:~# 

Per iniciar l'instal·lador d'Alpine Linux, introduïu l'ordre següent:

# setup-alpine

Primer, trieu una disposició de teclat adequada. Aquesta guia utilitzarà el usdisseny i la variant.

Quan configureu el nom d'amfitrió, trieu el mateix nom d'amfitrió que heu establert per a aquest servidor durant el desplegament. Si heu seguit aquesta guia exactament, el nom d'amfitrió hauria de ser docker-manager.

Haurien d'estar disponibles dues interfícies de xarxa: eth0i eth1. Si només veus eth0, vol dir que no has configurat correctament la xarxa privada dels teus servidors. Inicialitzeu eth0amb dhcp, i eth1feu servir l'adreça IP privada, la màscara de xarxa i la passarel·la que s'ha assignat aquest servidor durant el desplegament. Podeu accedir a aquests detalls des de la interfície de configuració del vostre servidor. Quan se us demani, no feu cap configuració manual de xarxa.

Introduïu una contrasenya nova per al compte d'arrel i, a continuació, seleccioneu una zona horària adequada per a la ubicació a la qual heu triat implementar aquests servidors.

Si teniu intenció d'utilitzar un servidor intermediari HTTP/FTP, introduïu-ne l'URL, en cas contrari no establiu cap URL de servidor intermediari.

Trieu un client NTP per gestionar la sincronització del rellotge del sistema. Aquesta guia utilitzarà busybox.

Quan se li demana que s'utilitzi un mirall del dipòsit de paquets, escolliu-ne un explícitament introduint-ne el número; detectar i seleccionar automàticament el més ràpid introduint f; o editeu manualment el fitxer de configuració del dipòsit introduint e, cosa que no es recomana tret que estigueu familiaritzat amb Alpine Linux. Aquesta guia utilitzarà el primer mirall.

Si teniu previst utilitzar SSH per accedir als vostres servidors o per allotjar un sistema de fitxers basat en SSH, seleccioneu un servidor SSH per utilitzar-lo. Aquesta guia utilitzarà openssh.

Quan se us demani si voleu utilitzar un disc, trieu disc vdacom a systipus.

Alpine Linux 3.9.0 s'hauria d'instal·lar ara al vostre servidor. Repetiu aquest procés per a tots els altres servidors que hàgiu desplegat anteriorment, assegurant-vos que substituïu els valors correctes pel nom d'amfitrió i la eth1interfície de xarxa.

Configuració del servidor després de la instal·lació

En aquest moment, els vostres servidors encara estan executant la versió ISO en directe d'Alpine Linux 3.9.0. Per arrencar des de la instal·lació SSD, visiteu la interfície de configuració del vostre servidor, navegueu a l' Custom ISOentrada del menú lateral i feu clic al Remove ISObotó. Això hauria de reiniciar el servidor. Si no ho fa, reinicieu-lo manualment.

Un cop el servidor hagi acabat de reiniciar, torneu a la consola web del servidor Docker Manager.

Inicieu sessió al compte root amb la contrasenya que heu establert anteriorment durant el procés d'instal·lació.

Habiliteu el dipòsit de paquets de la comunitat eliminant el comentari de la tercera línia d' /etc/apk/repositoriesutilitzar vi. Podeu habilitar els repositoris perifèrics i de prova d'una manera similar, però no cal que segueixin aquesta guia.

Sincronitzeu l'índex de paquets locals del servidor amb el repositori remot que heu seleccionat anteriorment introduint l'ordre d'intèrpret d'ordres següent:

# apk update

A continuació, actualitzeu els paquets obsolets:

# apk upgrade

Com abans, repetiu aquest procés de configuració per a cada servidor que hàgiu desplegat anteriorment.

Instal·leu Docker als vostres servidors

Abans d'instal·lar el propi paquet Docker, és possible que vulgueu crear un dockerusuari independent . Podeu fer-ho amb l'ordre següent:

# adduser docker

Nota: aquest nou usuari i tots els usuaris afegits al dockergrup nou tindran privilegis d'arrel un cop instal·lat el paquet Docker. Consulteu el problema següent del dipòsit de 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.

Si voleu donar permís sudo a l' dockerusuari, primer instal·leu el sudopaquet:

# apk add sudo

A continuació, creeu un sudogrup:

# addgroup sudo

Finalment, afegiu l' dockerusuari al sudogrup:

# adduser docker sudo

Ara podeu seguir el pas 4 d' aquesta guia per acabar de configurar sudo.

En aquest punt, ja esteu preparat per instal·lar el paquet Docker. Tingueu en compte que no és estrictament necessari tenir un usuari separat i capaç de sudo dockerper instal·lar i configurar Docker, però aquesta guia segueix aquesta convenció.

Instal·leu el paquet Docker amb l'ordre següent:

# apk add docker

A continuació, activeu l'script d'inici de Docker:

# rc-update add docker

Finalment, inicieu el dimoni Docker:

# rc-service docker start

Podeu comprovar que Docker s'està executant amb aquesta ordre:

# docker info

Com amb l'última vegada, repetiu aquest procés d'instal·lació de Docker per a cada servidor que hàgiu desplegat al principi.

Inicieu un eixam Docker amb un node gestor i un node treballador

Amb tota aquesta configuració tractada, finalment esteu preparat per crear l'eixam Docker.

Creeu un eixam i afegiu un node gestor

Torneu a la consola web del vostre Docker Managerservidor. Configurareu aquest servidor com a node gestor del vostre eixam. Si heu triat crear l' dockerusuari abans, inicieu la sessió amb aquest compte en lloc del superusuari.

Introduïu l'ordre següent, però substituïu 192.0.2.1- lo per l'adreça IP privada (no pública) Docker Managerque se li va assignar al vostre servidor:

$ docker swarm init --advertise-addr 192.0.2.1

Docker will display a command you can execute on other servers in the private network to add them as worker nodes to this new swarm. Save this command.

Add a worker node

Now navigate to the web console of your Docker Worker server, signing in with the docker user if you created it.

To add this server as a worker node to the swarm you just created, execute the command you saved from the output of the swarm creation command. It will look similar to the following:

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

Docker will output whether the node was able to join the swarm. If you encounter issues adding worker nodes to the swarm, double check your private network configuration and refer to this guide for troubleshooting.

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.

Navigate to the firewall management interface and create a new firewall group. Your application should dictate which ports to expose, but you must, at the very least, expose port 9000 for Portainer. Apply this firewall group to the Docker Manager server.

While it isn't required, securing Portainer with SSL is strongly recommended. For the sake of this guide, you'll only be using a self-signed OpenSSL certificate, but you should consider using Let's Encrypt in production.

Navigate to the web console of the Docker Manager server, log in using the docker user, and use the following commands to generate a self-signed OpenSSL certificate:

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

Create a new file, ~/portainer-agent-stack.yml, with the following contents:

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:

Després de modificar aquest fitxer de configuració de la pila de Docker perquè s'ajusti als vostres requisits, podeu implementar-lo:

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

Per verificar que Portainer funciona, executeu l'ordre següent després d'haver donat a Docker un minut o dos per desplegar la pila:

$ docker ps

Veureu dos contenidors amb les imatges portainer/portainer:latesti portainer/agent:latest, comprovant que Portainer s'ha iniciat correctament.

Ara podeu configurar i gestionar el vostre eixam Docker visitant l'adreça IP pública del vostre Docker Managerservidor al port 9000mitjançant HTTPS.


A continuació, es mostra com comprovar els contenidors Hyper-V a Windows 10 Insider

A continuació, es mostra com comprovar els contenidors Hyper-V a Windows 10 Insider

Microsoft ha explicat en una nova publicació al bloc com els Windows Insiders poden provar contenidors Hyper-V a Windows 10, una nova solució de virtualització per permetre que les aplicacions s'executin sense afectar la resta del vostre sistema operatiu.

Com instal·lar Harbour a CentOS 7

Com instal·lar Harbour a CentOS 7

Harbour és un servidor de registre de codi obert de classe empresarial que emmagatzema i distribueix imatges de Docker. Harbour amplia la distribució Docker de codi obert b

Instal·leu Rancher OS mitjançant iPXE

Instal·leu Rancher OS mitjançant iPXE

Rancher OS és una distribució Linux molt lleugera construïda al voltant de Docker. El sistema operatiu en si pesa uns 20 MB. Aquest tutorial us posarà en funcionament

A CoreOS, configureu el vostre propi registre Docker

A CoreOS, configureu el vostre propi registre Docker

Tots coneixem i estimem Docker, una plataforma per crear, gestionar i distribuir contenidors d'aplicacions a diverses màquines. Docker Inc. ofereix un servei t

Instal·lació de docker-compose a CoreOS

Instal·lació de docker-compose a CoreOS

Aquest article explica com instal·lar docker-compose a CoreOS. A CoreOS, la carpeta /usr/ és immutable, de manera que la ruta estàndard /usr/local/bin no està disponible per

Instal·leu Rancher a CentOS 7

Instal·leu Rancher a CentOS 7

Utilitzeu un sistema diferent? Introducció Rancher és una plataforma de codi obert per executar contenidors i crear un servei privat de contenidors. El rancher és la base

Instal·leu Docker CE a Ubuntu 18.04

Instal·leu Docker CE a Ubuntu 18.04

Introducció Docker és una aplicació que ens permet desplegar programes que s'executen com a contenidors. Va ser escrit en el popular llenguatge de programació Go

Creeu un Docker Swarm a Alpine Linux 3.9.0

Creeu un Docker Swarm a Alpine Linux 3.9.0

Introducció Aquesta guia us mostrarà com crear i configurar un eixam Docker utilitzant diversos servidors Alpine Linux 3.9.0 i Portainer. Si us plau, tingueu en compte que

Desplegueu una aplicació PHP amb Docker-compose

Desplegueu una aplicació PHP amb Docker-compose

Les aplicacions PHP solen estar compostes per un servidor web, un sistema de bases de dades relacionals i el propi intèrpret de llenguatge. En aquest tutorial farem palanca

Balanç de càrrega amb Docker

Balanç de càrrega amb Docker

Quan executeu una aplicació web, normalment voleu treure el màxim profit dels vostres recursos sense haver de convertir el vostre programari per utilitzar multithreading o

Desplegueu una aplicació Node.js mitjançant Docker

Desplegueu una aplicació Node.js mitjançant Docker

Aquest article us mostrarà com implementar la vostra aplicació Node dins d'un contenidor Docker. Nota: aquest tutorial suposa que teniu Docker instal·lat i llegit

Instal·lació de Docker CE a CentOS 7

Instal·lació de Docker CE a CentOS 7

La tecnologia de contenidors Docker us permet executar aplicacions en un entorn específic i aïllat. Docker Community Edition (CE) és el nou nom del fre

Desplegueu Kubernetes amb Kubeadm a CentOS 7

Desplegueu Kubernetes amb Kubeadm a CentOS 7

Visió general Aquest article està pensat per ajudar-vos a posar en funcionament un clúster de Kubernetes amb kubeadm en molt poc temps. Aquesta guia desplegarà dos servidors activats

Instal·lació de Docker a CentOS 7

Instal·lació de Docker a CentOS 7

Utilitzeu un sistema diferent? Docker és una aplicació que permet el desplegament de programari dins de contenidors virtuals. Va ser escrit al programa Go

Instal·lació de Docker CE a Debian 9

Instal·lació de Docker CE a Debian 9

Utilitzeu un sistema diferent? Introducció Docker és una aplicació que permet el desplegament de programari dins de contenidors virtuals. Va ser escrit en G

Comenceu amb SQL Server 2017 (MS-SQL) a CentOS 7 amb Docker

Comenceu amb SQL Server 2017 (MS-SQL) a CentOS 7 amb Docker

Requisits previs del motor Docker 1.8+. Mínim de 4 GB d'espai en disc. Mínim de 4 GB de RAM. Pas 1. Instal·leu Docker Per instal·lar SQL-Server, Docker mus

Sessió enganxosa amb Docker Swarm (CE) a Debian 9

Sessió enganxosa amb Docker Swarm (CE) a Debian 9

Utilitzeu un sistema diferent? Introducció Docker Swarm converteix els vostres servidors individuals en un clúster d'ordinadors; facilitant l'escalat, alta disponibilitat an

Dues eines de gestió gràfica de Docker: DockerUI i Shipyard

Dues eines de gestió gràfica de Docker: DockerUI i Shipyard

Amb l'ajuda de l'aplicació Vultr Docker, podeu implementar fàcilment Docker a la vostra instància del servidor Vultr. Mentrestant, podeu facilitar la tasca de gestió de Docker

Instal·leu Rancher Server a RancherOS

Instal·leu Rancher Server a RancherOS

Visió general RancherOS és un sistema operatiu increïblement lleuger (només uns 60 MB) que executa un dimoni Docker del sistema com a PID 0 per executar serveis del sistema

Com començar amb Kubernetes a CentOS 7

Com començar amb Kubernetes a CentOS 7

Kubernetes és una plataforma de codi obert desenvolupada per Google per gestionar aplicacions en contenidors en un clúster de servidors. Es basa en una dècada i

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

La Intel·ligència Artificial no està en el futur, és aquí mateix en el present. En aquest bloc Llegiu com les aplicacions d'Intel·ligència Artificial han afectat diversos sectors.

Atacs DDOS: una breu visió general

Atacs DDOS: una breu visió general

També ets víctima d'atacs DDOS i estàs confós sobre els mètodes de prevenció? Llegiu aquest article per resoldre les vostres consultes.

Us heu preguntat mai com guanyen diners els pirates informàtics?

Us heu preguntat mai com guanyen diners els pirates informàtics?

Potser haureu sentit que els pirates informàtics guanyen molts diners, però us heu preguntat mai com guanyen aquest tipus de diners? anem a discutir.

Invents revolucionaris de Google que us facilitaran la vida.

Invents revolucionaris de Google que us facilitaran la vida.

Vols veure els invents revolucionaris de Google i com aquests invents van canviar la vida de tots els éssers humans actuals? A continuació, llegiu al bloc per veure els invents de Google.

Divendres essencial: què va passar amb els cotxes impulsats per IA?

Divendres essencial: què va passar amb els cotxes impulsats per IA?

El concepte de cotxes autònoms per sortir a les carreteres amb l'ajuda de la intel·ligència artificial és un somni que tenim des de fa temps. Però malgrat les diverses promeses, no es veuen enlloc. Llegeix aquest blog per saber-ne més...

Singularitat tecnològica: un futur llunyà de la civilització humana?

Singularitat tecnològica: un futur llunyà de la civilització humana?

A mesura que la ciència evoluciona a un ritme ràpid, fent-se càrrec de molts dels nostres esforços, també augmenten els riscos de sotmetre'ns a una singularitat inexplicable. Llegeix, què pot significar per a nosaltres la singularitat.

Evolució de lemmagatzematge de dades – Infografia

Evolució de lemmagatzematge de dades – Infografia

Els mètodes d'emmagatzematge de les dades que han anat evolucionant poden ser des del naixement de les dades. Aquest bloc tracta l'evolució de l'emmagatzematge de dades a partir d'una infografia.

Funcionalitats de les capes darquitectura de referència de Big Data

Funcionalitats de les capes darquitectura de referència de Big Data

Llegeix el blog per conèixer de la manera més senzilla les diferents capes de l'Arquitectura Big Data i les seves funcionalitats.

6 avantatges sorprenents de tenir dispositius domèstics intel·ligents a les nostres vides

6 avantatges sorprenents de tenir dispositius domèstics intel·ligents a les nostres vides

En aquest món digital, els dispositius domèstics intel·ligents s'han convertit en una part crucial de les vides. A continuació, es mostren alguns avantatges sorprenents dels dispositius domèstics intel·ligents sobre com fan que la nostra vida valgui la pena i sigui més senzilla.

Lactualització del suplement de macOS Catalina 10.15.4 està causant més problemes que no pas solucions

Lactualització del suplement de macOS Catalina 10.15.4 està causant més problemes que no pas solucions

Recentment, Apple va llançar macOS Catalina 10.15.4, una actualització de suplements per solucionar problemes, però sembla que l'actualització està causant més problemes que provoquen el bloqueig de les màquines Mac. Llegiu aquest article per obtenir més informació