Redmine i Kubernetes - Del 2: A Redmine telepítése
Återberättelse Del 1
Vid det här laget ser du förmodligen fram emot installen av Redmine på Kubernetes. Det är ju trots allt det du kom hit för, eller hur?
I Redmine på Kubernetes - Del 1: Förbereda miljön installerade vi Ingress Controller, en component for att omdirigera internetförfrågningar inuti ditt kluster, och vi skapade en DNS-domän, redminek8s.ddns.net. Behöver vi bara konfigurera HTTPS, och vi är redo att distribuera Redmine.
HTTPS med cert-manager
Även om vi kan behålla Redmine som HTTP har HTTPS blivit standarden for webbplatser, så mycket att de flesta webbläsare varnar dig för en säkerhetsrisk när HTTPS inte används av en webbplats.
Att aktivera HTTPS är vanligtvis inte en trivial uppgift, eftersom du behöver köpa ett certifikat och ladda upp det till din webbplats, förnya det efter en viss tid och upprepa processen. Cert-manager automatiserar allt detta, inklusive förnyelse av certifikat och till och med erhåller gratis certifikat. Du kan se mer information on deras webbplats, men jag kommer att förklara allt du behöver veta härnäst.
Installera tanúsítványkezelő
Utför följande steg för att installera cert-manager i ditt kluster:
kormányrepo add jetstack https://charts.jetstack.io && helm repo frissítés
sisak telepítése cert-manager jetstack / cert-manager - set installCRDs = true
Först lägger du till registret där cert-manager finns och sedan installerar du den senaste versionen.
Anslut till certifikatmyndigheten
Nu behöver vi instruera cert-manager att ansluta till den certifikatleverantör vi väljer. Használja a LetsEncrypt felhasználót, ingyenes tanúsítvánnyal. Skapa först denna fil (kom ihåg att ersätta med en riktig e-postadress) och döp den till cluster-issuer.yaml
apiVerzió: cert-manager.io/v1alpha2
fajta: ClusterIssuer
metaadatok:
név: letsencrypt
specifikáció:
csúcspont:
szerver: https://acme-v02.api.letsencrypt.org/directory
email:
privateKeySecretRef:
név: letsencrypt
megoldó:
- http01:
behatolását:
osztály: nginx
Tillämpa sedan den på ditt kluster med
kubectl apply -f cluster-emiter.yaml
Grattis! Filen ovan är den första Kubernetes-konfigurationen vi skriver och tillämpar på klustret. Du kanske har märkt att den visar hur man ansluter till LetsEncrypt, men den beskriver också Ingress Controller som vi skapade i Del 1 (osztály: nginx i slutet). Den här typen av konfiguration har några rader med mellanslag för att ange beroende av vissa egenskaper till andra. Behåll dessa mellanslag som visa för att säkerställa att filen läses och tillämpas korrekt.
Nu är ditt kluster aktiverat for HTTPS. När vi installerar en applikation kan vi instruera den att fungera med HTTPS och voilà! Hela processen med att få certifikatet kommer att göras automatiskt i bakgrunden.
A Redmine telepítése
Detta är vad vi alla har väntat på. Vi kan installera Redmine på några olika sätt, men det mest bekväma sättet är att använda Helm. Precis som vi gjorde tidigare, först lägger vi till lagret där Redmine finns
sisak repo hozzá bitnami https://charts.bitnami.com/bitnami && helm repo frissítés
Men den här gången kommer vi inte att installera direkt, vi kommer att skapa en konfigurationsfil för att ange några anpassade beteenden som vi vill att Redmine ska ha.
Vi kommer att separera alla konfigurationer i egna avsnitt men du lägger dem alla i samma fil, en efter den andra. Döp fájlt a values.yaml-ig.
Alla Helm-applikationer har en values.yaml-fil med alla möjliga konfigurationer som kan göras för applikationen. När vi skapar vår egen values.yaml definierar vi de ändringar vi vill ha. Alla värden som vi inte inkluderar i vår fil kommer att vara oförändrade i standardfilen.
Alla standardvärden kan också hittas på Helm-applikationens sida, https://hub.helm.sh/charts/bitnami/redmine. Gå vidare och kolla alla konfiguration.
Första administratörsanvändaren
RedmineAnvändarnamn: adminUser
RedmineLösenord:
Detta steg är lika nödvändigt som lätt att förstå. Det är vår första användare på Redmine, den som vi kommer att använda för att logga in första gången.
När Redmine är installerat kommer du att kunna komma åt det med denna användare för att konfigurera din helt nya install.
PostgreSQL-adatbázisok
Som standard kommer vår Helm-installation att kräva att en mariadb-databas skapas. Istället kommer vi att konfigurera vår install att använda PostgreSQL. Du behöver också lägga till minst ett lösenord för att komma åt denna databas, som du kan se nedan
adatbázis típusa: postgresql
MariaDB:
engedélyezve: hamis
PostgreSQL:
engedélyezve: igaz
postgresqlAdatbázis: Redmine
postgresql Felhasználónév: Redmine
postgresqlPassword:
Vi måste tydligt tala om för vår installation att vi inte vill att MariaDB ska installeras tillsammans med konfigurationen för PostgreSQL-adatbázis.
DNS-namnkonfiguráció
Konfigurationen nedan är den andra sidan av DNS-konfigurationen vi gjorde i Del 1. Som du kan se aktiverar vi TLS, protokollet bakom HTTPS, och ställer in värdnamnet vi använde när vi skapade vår DNS-post:
behatolását:
engedélyezve: igaz
certManager: igaz
gazdagépnév: redminek8s.ddns.net
tls: igaz
jelöléseket:
kubernetes.io/ingress.class: nginx
cert-manager.io/cluster-issuer: letecrypt
Också på de två sista raderna länkar vi vår applikation med Ingress Controller és a Cluster Issuer som vi skapade tidigare.
Nu kan vi terjesztő Redmine med vår anpassade konfiguration:
helm telepítő Redmine -f értékek.yaml bitnami/redmine
Den raden liknar andra helm installera rader vi använde tidigare, men den här gången tillhandahåller vi en anpassad values.yaml. Detta är sättet att anpassa vilken Helm-applikation som helst.
Vi behöver lite mer tålamod ändå, eftersom skapandet av applikationen tar lite tid. Du kan köra det här kommandot för att kontrollera statusen för dina applikationscontainrar:
kubectl få pods --watch
Kommandot kommer att returnera något liknande detta:
NAMN KLAR ÁLLAPOT OMSTART ÅLDER
. . .
redmine-999c68dd9-x7h2k 1/1 Kör 0 6m40s
redmine-postgresql-0 1/1 Kör 0 6m40s
Du måste vänta tills statusen för båda containerrarna är Kör och alla är redo 1/1, vilket i mitt fall tog cirka 6 perc.
Nu är allt klart för att öppna webbläsaren och gå till vår nya terjesztés:
Redmine är redo
összefoglalás
Kubernetes är ett komplext verktyg för att distribuera applikationer, men vi navigerade genom den komplexiteten med hjälp av Helm (ingen ordlek avsedd) och distribuerade en pålitlig installation av Redmine.
Du kan hitta en sammanfattning av denna guide i följande git-repo: https://github.com/lcofre/redmine-on-k8s. Känn dig fri att jämföra med dina filer om du fastnar.
Vi lämnade några begrepp utanför diskussionen eftersom de var komplexa eller förklaringen var molnspecifik. Bland dem finns Liveness och Readiness for din applikation, konfiguration av inkommande e-post och skalning för att hantera mer belastning. Låt oss veta nedan vad som intresserar dig mest så kan vi diskutera det i en framtida guide.
Az ultimata Redmine-upgraderingen? Enkel.
Få alla kraftfulla verktyg för perfekt projektplanering, -hantering och -kontroll i en enda programvara.