Installera Consul
Ett register över vilka tjänster som körs och var de finns, med en ärlig bedömning av när ett företag faktiskt behöver det.
Vad Consul är
Ett register över vilka tjänster som körs och var de finns. I stället för att skriva in en IP-adress i koden frågar programmet Consul var till exempel databasen ligger just nu, och får svaret.
Varför skulle den flytta? För att tjänster startas om, byter maskin och får nya adresser. Med ett par tjänster på en dator märks det aldrig, och då behöver ni inte Consul. Med tio tjänster på tre maskiner är det den enda rimliga lösningen.
Consul håller också koll på om tjänsterna lever. Den knackar på med jämna mellanrum, och svarar en tjänst inte plockas den ur registret. Nästa program som frågar får då en adress som faktiskt fungerar i stället för en som slutade svara för tio minuter sedan.
Var ärliga med er själva om ni behöver det här. Consul är ett verktyg för system som har vuxit ur en enda maskin. Ska ni lära er hur större system hänger ihop är det en utmärkt övning. Ska ni få en webbshop i luften finns enklare vägar.
Windows
Hämta zip-filen för Windows från hashicorp.com och packa upp den. Inuti ligger en enda fil, consul.exe. Något installationsprogram finns inte, och behövs inte.
Lägg filen i en egen mapp, till exempel C:\consul, och lägg till den mappen i systemets sökväg under Miljövariabler i Windows-inställningarna. Då går programmet att starta från vilken mapp som helst. Hoppar ni över det steget fungerar allt ändå, men bara när ni står i just den mappen.
Kontrollera med:
consul version
Linux Mint
Consul ligger i utgivarens eget paketarkiv. Öppna Terminal och kör raderna i ordning:
wget -O - https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(grep -oP '(?<=UBUNTU_CODENAME=).*' /etc/os-release || lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
sudo apt-get update && sudo apt-get install consul
Raden hämtar versionsnamnet från UBUNTU_CODENAME i /etc/os-release i stället för från lsb_release -cs. Det är med flit: Linux Mint har egna versionsnamn, till exempel wilma, och det namnet finns inte i HashiCorps arkiv. UBUNTU_CODENAME ger i stället namnet på den Ubuntu-version Mint bygger på, och det är den raden hittar automatiskt.
Tre saker att göra först
- Starta en övningsserver. Skapa först en mapp som agenten läser konfiguration ur, och peka på den när ni startar, annars har ni ingenstans att lägga tjänsten i steg tre:
Agenten sparar ingenting och försvinner när ni stänger fönstret, vilket är precis vad ni vill medan ni lär er. Låt fönstret stå öppet och öppna ett nytt för nästa steg.mkdir consul.d consul agent -dev -config-dir=consul.d - Surfa till
http://localhost:8500. Där ligger webbgränssnittet, och ni ser Consul själv som en registrerad tjänst. Det är hela idén i ett enda fönster. - Registrera något eget. Lägg en fil som heter
webb.jsoniconsul.d, med en tjänst som har ett namn och en port:
Kör sedan{ "service": { "name": "webb", "port": 8000 } }consul reloadi det andra fönstret. Tjänsten dyker upp i listan, och då har ni förstått vad verktyget gör. Händer ingenting är det nästan alltid för att agenten startades utan-config-dir: då finns ingen mapp att läsa om, ochconsul reloadgör precis det den lovar, alltså läser om ingenting.
Den vanligaste fällan
Att lämna en dev-server öppen mot nätet. Flaggan -dev stänger av i stort sett all säkerhet, för att ni ska slippa konfigurera bort den medan ni övar. Ingen inloggning, ingen kryptering, full behörighet för den som hittar porten. På er egen dator är det oproblematiskt. På en maskin med publik IP-adress ger ni bort kontrollen över hela registret till vem som helst som skannar porten.
Använd -dev för att lära er, och bara det. Ska Consul köras på riktigt är det en annan konfiguration med behörigheter och certifikat, och den läser ni på hos utgivaren.
Värt att veta också: Consul ligger sedan några år under licensen BSL. Att använda den i egna system, inklusive ett företags, är gratis. Villkoren slår till först om man bygger en konkurrerande produkt av verktyget självt.