Skip to Content
Installation

Installera OpenFaaS

Kör enskilda funktioner som tjänster på egen maskin, hela vägen från tom mapp till en adress som svarar, med licensvillkoren utskrivna först.

Vad OpenFaaS är

Ett sätt att köra en enskild funktion som en tjänst. Ni skriver en kort bit kod som gör en sak, till exempel räknar ut frakt eller tar emot ett formulär, och OpenFaaS gör den nåbar på en webbadress. Ingen server att konfigurera, inget webbramverk att lära sig först.

Ordet för det är serverlöst, vilket är missvisande, för servern finns kvar. Skillnaden är att ni slutar tänka på den.

Läs licensvillkoren innan ni börjar, de är ovanliga

Det här är den enda guiden i samlingen där licensen kan stoppa er, så den kommer först i stället för sist.

Gratisversionen heter faasd CE och är enligt utgivarens egna villkor avsedd för personligt och icke kommersiellt bruk, med upp till 15 funktioner. Det finns en utvärderingsperiod på 60 dagar för den som vill prova i ett kommersiellt sammanhang. Ett företag som säljer en produkt är ett kommersiellt sammanhang, även om omsättningen är liten.

Den kommersiella versionen heter OpenFaaS Edge och kostar pengar. Vad den kostar just nu står hos utgivaren på openfaas.com, och det får ni läsa där eftersom priser ändras oftare än den här guiden.

Slutsatsen är enkel. Ska ni lära er hur serverlösa funktioner fungerar, kör faasd CE. Ska ni bygga något som ingår i det ni säljer i verksamheten, välj något annat eller köp licensen. Blanda inte ihop de två.

Linux Mint

OpenFaaS körs på Linux. Öppna Terminal och kör de tre kommandona i tur och ordning:

sudo apt-get install git
git clone https://github.com/openfaas/faasd --depth=1
cd faasd && sudo ./hack/install.sh

Första raden installerar git, alltså programmet som hämtar kod från nätet. Det ligger inte i Mint från början, och andra raden fungerar inte utan det.

Installationen tar några minuter. När den är klar skriver den ut vilka kommandon ni ska köra härnäst, och där finns lösenordet till gränssnittet. Hittar ni inte utskriften får ni fram lösenordet igen med:

sudo cat /var/lib/faasd/secrets/basic-auth-password

Gränssnittet ligger sedan på http://localhost:8080, och användarnamnet är admin.

Windows

Det finns ingen installation direkt på Windows. Ni behöver ett Linux-system, och det enklaste är WSL2, alltså Windows egen inbyggda Linux. Öppna PowerShell som administratör och kör:

wsl --install -d Ubuntu

Starta om datorn, öppna Ubuntu från startmenyn, och kör sedan exakt samma tre kommandon som under Linux Mint ovan. Ni sitter kvar i Windows hela tiden, terminalfönstret är bara ett Linux-system inuti det.

Tre saker att göra först

  1. Installera kommandoverktyget faas-cli, för det är det ni faktiskt arbetar med. En rad räcker: curl -sSL https://cli.openfaas.com | sudo sh. Logga sedan in med lösenordet ni hämtade nyss: faas-cli login --password DITT_LOSENORD.
  2. Skapa er första funktion i stället för att leta efter en färdig fil. Kör faas-cli new --lang python3 --prefix docker.io/ert-dockerhub-namn hej. Det skapar mappen hej med koden, och filen hej.yml bredvid. Filen finns alltså inte innan ni skapat den, och det är där de flesta guider hoppar över ett steg.
  3. faasd har till skillnad från faas-cli ingen Docker inbyggd, och faas-cli up bygger avbilden med Docker och hämtar den sedan från ett bildarkiv, inte lokalt. Installera därför Docker enligt Installera Docker om ni inte redan gjort det, och skapa ett gratis konto på hub.docker.com som arkiv. Logga in med docker login och bygg, lägg upp och lägg ut funktionen i ett svep med faas-cli up -f hej.yml. Anropa den sedan med curl http://localhost:8080/function/hej. Nu har ni gått hela vägen från tom mapp till en fungerande adress, och resten är variationer på det.

Den vanligaste fällan

Att köra faas-cli deploy på en fil som inte finns. Kommandot deploy lägger ut en funktion som redan är byggd, medan up gör bygge och utläggning i ett svep. Börjar ni med deploy innan ni kört new och build får ni ett felmeddelande om att filen saknas, och det är lätt att läsa som att installationen är trasig. Den är hel. Det är ordningen som är fel.

Använd up tills ni har skäl att dela upp stegen. Då händer det inte.