Inleiding
Consul van HashiCorp is een flexibel hulpmiddel dat verschillende functies vervult in een moderne DevOps-omgeving. Het wordt breed gebruikt voor dienst ontdekking, gezondheidscontroles, loadbalancing en, in het bijzonder, als een verspreidings sleutel-waarde (KV) opslag. De KV-opslag in Consul is perfect voor het opslaan van dynamische configuratiegegevens, functievlaggen, geheimen en metadata in een hoog beschikbaar, consistente manier over uw infrastructuur, zodat deze door services in een verspreidingssysteem dynamisch kunnen worden aangevraagd. Het gebruik van Docker om de KV-opslag van Consul in te stellen biedt een snelle setup en geïsoleerde omgevingen, waardoor het ideaal is voor testen en ontwikkeling.
Dit handleiding zal u door de processen leiden om de KV-opslag van Consul te configureren en in te stellen met behulp van Docker. U zult aan het eind een volledig functionele Consul-instantie in Docker hebben die draait, met geconfigureerde KV-paren die toegankelijk zijn. Deze setup is essentieel voor dynamische dienstconfiguratie en -statusbeheer in verspreidingssystemen.
Vereisten
Als u beginne, zorg ervoor dat u het volgende hebt:
- Een DigitalOcean Cloud account.
- Een server die draait op Ubuntu en een niet-rootgebruiker met sudo-rechtenschema’s en een actieve brandmuur. Voor instructies over hoe dit in te stellen, kies uw distributie uit deze lijst en volg onze handleiding voor de eerste serverinstelling. Zorg ervoor dat u werkt met de ondersteunde versie van Ubuntu.
- Docker geïnstalleerd op uw Ubuntu Droplet. Volg dit handleiding op Hoe docker te installeren en te gebruiken op Ubuntu.
- Bekendheid met de Linux commandoregel. Voor een introductie of herinnering aan de commandoregel kunt u deze handleiding op Linux commandoregel primair bezoeken.
- Basiskennis van Docker-commando’s en containerbeheer.
Stap 1 — De Consul Docker-image halen
Laat’s de officiële Consul-image halen van Docker Hub. Deze image wordt onderhouden door HashiCorp en bevat alles wat u nodig heeft om Consul te draaien.
Meld u aan bij de console van uw Ubuntu Droplet en voer uit:
Stap 2 — Starten van de Consul container
Nu de Consul-image is下载t, kunt u een nieuwe Consul-container starten. Deze container zal uw Consul-server zijn en u toelaten om te interageren met de KV-winkel.
Om de container te starten, voer uit:
Dit is wat deze opdracht doet:
-d
draait de container in gedetacheerd modus (in de achtergrond).--name=consul-server
geeft de container een naam.-e CONSUL_BIND_INTERFACE=eth0
stelt het netwerkinterface in dat Consul moet binden. Dit is nodig voor correcte netwerkcommunicatie.-p 8500:8500
map de Consul web UI en API poort naar de host.-p 8600:8600/udp
map de DNS-dienstpoort voor service-ontdekking.
Dit stap is cruciaal omdat hij de kern Consul-dienst inricht, die u zult gebruiken om de KV-winkel te configureren.
Stap 3 — Controleren van de Consul-installatie
Om er voor te zorgen dat Consul correct draait, moet u de containerstatus controleren en de Consul-UI bereiken.
Eerst voer docker ps
uit om alle draaiende containers te lijsten en controleer of de Consul-container actief is.
Nu kijk je of Consul bereikbaar is, open een web browser en navigeer naar http://localhost:8500
. je zou de Consul UI moeten zien.
Deze controle stap is belangrijk om te bevestigen dat uw Consul-instantie zonder problemen draait voordat u gegevens in de KV-winkel ( stap 5 ) opslaat.
Stap 4 — Configureer de Firewall (Optioneel)
Als uw Consul-instantie extern moet worden aangesproken (bijvoorbeeld vanuit andere knooppunten in een cluster), moet u uw firewallinstellingen aanpassen om verkeer op de noodzakelijke poorten toe te staan.
Bijvoorbeeld, als u Consul op een cloud-instance draait, moet u binnenkomend verkeer op poorten 8500 (HTTP API) en 8600 (DNS) toestaan. De specifieke commando’s zijn afhankelijk van uw firewalloplossing (UFW, iptables, enz.).
Deze stap zorgt ervoor dat uw Consul-instantie vanuit andere machines kan worden aangesproken, wat essentieel is voor gedistribueerde configuraties.
Stap 5 — Opslaan van sleutel-waardeparen
Met Consul draaiend, kun je nu de KV-opslag gebruiken om configuratiegegevens op te slaan. Je kunt key-value-paren toevoegen met de Consul CLI of de web-UI.
Om een key-value-paar op te slaan via de CLI, voer je de volgende commando uit:
Dit is wat deze opdracht doet:
-it
– Start een interactieve terminal vanaf het lokale systeem naar de container.consul kv put
– Het kv put-commando schrijft de gegevens naar de opgegeven KV-opslagpad.config/db_host
– Pad om de waarde op te slaan.192.168.1.100
– Waarde.
Met de Web UI,
- Ga naar de Consul-UI (
http://localhost:8500
). - Klik op de tab “Key/Value”.
- Maak een nieuwe sleutel aan door op “Create” te klikken.
- Voer de sleutel (bijv.
config/db_host
) en de waarde (bijv.192.168.1.100
) in.
Deze commando’s en acties slaan kritieke configuratiegegevens op die uw services dynamisch kunnen accessen tijdens runtime.
Stap 6 — Ophalen van Key-Value Paren
Als je enkele KV-paren hebt opgeslagen, wil je ze ophalen om te controleren of ze correct zijn opgeslagen.
Met de CLI, ophalen een waarde met het volgende commando:
Met de Web UI,
- Ga naar de “Key/Value”-tab in de Consul UI.
- Vind de sleutel die u heeft aangemaakt en klik op deze om het opgeslagen waarden te zien.
Het ophalen van de KV-paren is een noodzakelijke stap om te verifiëren dat uw data correct wordt opgeslagen en toegankelijk is.
Stap 7 — Persisteren van gegevens met behulp van Docker volumes
Standaard zijn Docker containers tijdelijk, wat betekent dat elke gegevens die binnenin ze worden opgeslagen verloren gaat als de container wordt verwijderd. Om uw Consul KV-gegevens aan te houden, moet u Docker volumes gebruiken.
- Stop en verwijder het huidige Consul-container:
Controleer nu de containers en u zou kunnen opmerken dat het Consul-container niet meer actief is.
2.Start een nieuw Consul-container met een aangekoppeld Docker volume:
De optie -v consul_data:/consul/data
monteert een Docker volume op het container, waardoor uw KV-opslag over containerherstarten blijft bestaan.
Stap 9 — Automatiseren van Consul opstarten (optioneel)
Voor productie-uitvoeringen zou je misschien willen automatiseren het opstarten van uw Consul-container met Docker Compose. Docker Compose simplificeert multi-container Docker-toepassingen en maakt het gemakkelijker om services te beheren.
Maak een bestand docker-compose.yml
met het volgende inhoud:
Voer dan de volgende opdracht uit:
Deze opdracht start Consul automatisch en zorgt ervoor dat het herstart als het mislukt, waardoor het geschikter is voor productiegebruik.
Stap 9 — Opschonen
Eens je klaar bent met je Consul-instantie, moet je uw Docker-omgeving opschonen om resources vrij te maken.
Laat ons de Consul-container stoppen en verwijderen:
Als je klaar bent met Consul, kun je ook de Docker-afbeelding verwijderen:
Opschonen helpt bij het behoud van een schoon ontwikkelingsomgeving en zorgt ervoor dat Docker-bronnen niet onnodig worden verbruikt.
Conclusie
In deze handleiding heb je geleerd hoe je Consul’s KV-store kunt instellen en configureren met Docker. Je hebt de installatie van Docker doorgebracht, de Consul-container running gelaten, de KV-store geconfigureerd, gegevens met Docker-volumes bewaard en uw omgeving opgeschoond. Met deze stappen kun je nu Consul gebruiken om configuratiegegevens dynamisch te beheren in uw gedistribueerde systemen, door de kracht van Docker te laten werken voor gemakkelijke deployments en beheer.
Source:
https://www.digitalocean.com/community/tutorials/how-to-configure-consul-kv-using-docker