Hoppa till innehåll
Installation

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.

Senast granskad:

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 du 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 ärlig med dig själv om du behöver det här. Consul är ett verktyg för system som har vuxit ur en enda maskin. Ska du lära dig hur större system hänger ihop är det en utmärkt övning. Ska du 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 du över det steget fungerar allt ändå, men bara när du 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

  1. Starta en övningsserver. Skapa först en mapp som agenten läser konfiguration ur, och peka på den när du startar, annars har du ingenstans att lägga tjänsten i steg tre:
    mkdir consul.d
    consul agent -dev -config-dir=consul.d
    Agenten sparar ingenting och försvinner när du stänger fönstret, vilket är precis vad du vill medan du lär dig. Låt fönstret stå öppet och öppna ett nytt för nästa steg.
  2. Surfa till http://localhost:8500. Där ligger webbgränssnittet, och du ser Consul själv som en registrerad tjänst. Det är hela idén i ett enda fönster.
  3. Registrera något eget. Lägg en fil som heter webb.json i consul.d, med en tjänst som har ett namn och en port:
    {
      "service": {
        "name": "webb",
        "port": 8000
      }
    }
    Kör sedan consul reload i det andra fönstret. Tjänsten dyker upp i listan, och då har du 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, och consul reload gö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 du ska slippa konfigurera bort den medan du övar. Ingen inloggning, ingen kryptering, full behörighet för den som hittar porten. På din egen dator är det oproblematiskt. På en maskin med publik IP-adress ger du bort kontrollen över hela registret till vem som helst som skannar porten.

Använd -dev för att lära dig, och bara det. Ska Consul köras på riktigt är det en annan konfiguration med behörigheter och certifikat, och den läser du 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.

Varukorg

Laddar