Hvordan kjøre Consul Server ved hjelp av Docker

Hvordan kjøre Consul Server ved hjelp av Docker
Konsul er et åpen kildekode-oppdagelsesverktøy som er basert og bygget på Golang. Det hjelper deg å oppdage krav til applikasjoner for tjenester som database, køer og e -postmeldinger. Den leveres med noen fantastiske funksjoner som tjenesteoppdagelse, helsekontrollstatus, nøkkel/verdi butikk, distribusjon av multi-datasenter og web ui. Docker er et verktøy designet for å gjøre det lettere å lage, distribuere og kjøre applikasjoner ved å bruke containere. Vi kan pakke opp applikasjonen og det er alle nødvendige avhengigheter og biblioteker i beholderen og deretter distribuere applikasjonen enkelt ved hjelp av beholderen. I denne guiden vil vi se hvordan du kjører Consul ved hjelp av Docker.

Oppdateringssystem

Vi anbefaler deg å oppgradere alle pakker og depoter før du installerer en ny pakke på systemet. Utfør følgende kommando, og den vil gjøre jobben for deg.

sudo apt-get oppdatering

Installer Docker

Vi kjører Consul Server ved hjelp av Docker, så vi må installere Docker før installering av konsul. Først av alt, fjern den eldre versjonen av Docker hvis det er installert. Utfør følgende kommando for å gjøre det.

sudo apt-get fjerne docker docker-motor docker.io

Neste, utfør følgende kommando for å installere de nødvendige pakkene.

sudo apt-get install \ apt-transport-https \ ca-certificates \
Curl \ Software-Properties-vanlige

Deretter må du legge til Dockers offisielle GPG -nøkkel. Utfør følgende kommando, og den vil gjøre jobben for deg.

Curl -fssl https: // Last ned.Docker.com/linux/ubuntu/gpg | sudo apt-key add -

Nå er vi klare til å installere Docker så, utfør følgende kommando for å gjøre det.

sudo apt-get install docker-ce

Du kan bekrefte denne installasjonen ved hjelp av følgende kommando. sudo systemctl status docker du bør se følgende utdata.

sudo systemctl status docker
● Docker.Service - Docker Application Container Engine
Lastet: lastet (/lib/systemd/system/docker.service; aktivert; Forhåndsinnstilt leverandør: aktivert)
Aktiv: aktiv (løpende) siden onsdag 2019-07-10 12:04:28 UTC; For 57 år siden
Dokumenter: https: // dokumenter.Docker.com
Hoved PID: 4310 (Dockerd)
CGroup: /System.skive/docker.service
└─4310/usr/bin/dockerd -h fd: // - -containerd =/run/containerd/containerd.sokk
10. juli 12:04:26 TestConsul1 Dockerd [4310]: Time = "2019-07-10T12: 04: 26.296629644z "
nivå = advarsel Msg = "din kjerne doe
10. juli 12:04:26 TestConsul1 Dockerd [4310]: Time = "2019-07-10T12: 04: 26.296913361z "
nivå = advarsel Msg = "din kjerne doe
10. juli 12:04:26 TestConsul1 Dockerd [4310]: Time = "2019-07-10T12: 04: 26.297249324z "
nivå = advarsel Msg = "din kjerne doe
10. juli 12:04:26 TestConsul1 Dockerd [4310]: Time = "2019-07-10T12: 04: 26.299409872Z "
nivå = info msg = "lasting av containere
10. juli 12:04:26 TestConsul1 Dockerd [4310]: Time = "2019-07-10T12: 04: 26.437281588z "
nivå = info msg = "standard bro (gjør
10. juli 12:04:26 TestConsul1 Dockerd [4310]: Time = "2019-07-10T12: 04: 26.501563121z "
nivå = info msg = "lasting av containere
10. juli 12:04:28 TestConsul1 Dockerd [4310]: Time = "2019-07-10T12: 04: 28.798610779z "
nivå = info msg = "docker daemon" com
10. juli 12:04:28 TestConsul1 Dockerd [4310]: Time = "2019-07-10T12: 04: 28.799513575z "
nivå = info msg = "Daemon har fullført
10. juli 12:04:28 TestConsul1 Systemd [1]: Startet Docker Application Container Engine.
10. juli 12:04:28 TestConsul1 Dockerd [4310]: Time = "2019-07-10T12: 04: 28.821957315z "
nivå = info msg = "api lytt på /var
Linjer 1-18/18 (slutt)

Installer konsul

Vi har installert Docker på systemet ditt. Nå installerer vi konsul ved å bruke Docker -bildet. Først av alt, må du få Docker -bildet av konsul. Hvis du har bildet lokal arbeidsstasjon, så vil vi her laste ned bildet fra Docker Hub. Utfør følgende kommando for å laste ned bildet. sudo docker pull -konsul du skal se følgende utgang:

Når du har fått konsulensbildet, er du nå klar til å starte konsulserveren ved å bruke følgende kommando.

Sudo Docker Run -P 8500: 8500 -P 8600: 8600/UDP -Navn = konsulskonsul: V0.6.4 Agent
-server -bootstrap -ui -client = 0.0.0.0

Du vil se følgende utgang:

sajid@testconsul: ~ $ sudo docker run -p 8500: 8500 -p 8600: 8600/udp --navn = konsul
Konsul: V0.6.4 Agent -server -Bootstrap -UI -Client = 0.0.0.0
==> Advarsel: Bootstrap -modus aktivert! Ikke aktiver med mindre det er nødvendig
==> Startkonsulagent ..
==> Startkonsulagent RPC ..
==> Konsulagent som kjører!
Node navn: '14AAFC4BDAEE'
Datacenter: 'DC1'
Server: True (Bootstrap: True)
Klienttillegg: 0.0.0.0 (HTTP: 8500, HTTPS: -1, DNS: 8600, RPC: 8400)
Cluster Addr: 172.17.0.2 (LAN: 8301, WAN: 8302)
Gossip Encrypt: False, RPC-TLS: FALSE, TLS-INCOMING: FALSE
Atlas:

Deretter kan du sjekke containerloggene ved hjelp av følgende kommando.

sudo docker logger

Bytt ut beholder -ID med din faktiske beholder i vårt tilfelle den er:

sudo docker logger 14aafc4bdaee

Nå vet vi at konsul er en distribuert applikasjon, så det er ikke noe poeng å kjøre Consul Server alene. Deretter må du kjøre konsulen igjen i klientmodus. Utfør følgende kommando for å starte konsulenten i klientmodus.

sudo docker run -d konsulent

Du kan sjekke alle tilgjengelige containere ved å bruke følgende kommando. sudo docker ps ovennevnte kommando vil liste opp alle løpende containere. Her, i vårt tilfelle, skal det være to containere som kjører. Du kan distribuere mange konsulagenter i klientmodus og på mange andre noder også hvis du vil.

Deretter må du koble klienten til serveren. Utfør følgende kommando for å bli med i servernoden.

Sudo Docker Run -D konsulentgent -Retry -Join = 172.17.0.2

Nå kan vi sjekke loggene til klient- og serverbeholderen og bekrefte forbindelsen mellom konsulserveren og konsulsklienten ved å bruke følgende kommando.

sudo docker logger 14aafc4bdaee

Nå hvis du ser konsulentmedlemmene på både Consul Client og Server Node, bør de vise oss begge containerne. Du kan gjøre det ved hjelp av følgende kommandoer.

På klientnode: sudo docker exec -it Konsulmedlemmer
På servernoden: sudo docker exec -it Konsulmedlemmer

Endre Bind -grensesnittet til Consul Server

Nå skal vi starte konsulen i vertsmodus. Når vi starter konsul i vertsmodus, vil det være flere grensesnitt på vertsmaskinen. For å løse dette problemet må du endre bindingsgrensesnittet. Start konsulen i vertsmodus ved hjelp av følgende kommando.

sudo docker run --net = host -e consul_bind_interface = eth1 -d konsulentgent -server
-Bootstrap-Expect = 1

Start deretter en konsul i klientmodus, men på en annen maskin og bli med på den ovennevnte konsulserveren. Utfør følgende kommando, og den vil gjøre jobben for deg.

Sudo Docker Run -D Consul Agent -Retry -Join =

Nå kan vi bekrefte dette ved å sjekke konsulelemedlemmer på konsulserveren.

sudo docker exec -it 3e9f69fc7e1f konsul med medlemmer

Neste, start konsulenten med Bind Interface IP -adresse ved å bruke følgende kommando.

Sudo Docker Run -D --Name = Consulagent1 --Net = Host Consul Agent
--Prøv-join = 192.168.99.100 -bind = 192.168.99.101

Vi har endret Bind -grensesnittet med hell, men Consul UI er fremdeles ikke tilgjengelig for oss. Du må lage port 8500 lytte på eth1 -grensesnittet for å få brukergrensesnittet. Utfør følgende kommando, og den vil gjøre jobben for deg.

sudo docker run --net = host -e consul_bind_interface = eth1 -e consul_client_interface = eth1
-D Konsulagent -UI -Server -Bootstrap -Expect = 1

Konklusjon

I denne guiden har du lært å installere Docker og konsul på systemet ditt. Du lærte også å konfigurere konsulserveren ved hjelp av Docker Containers.