Redmine i Kubernetes - Del 1: Förbereda miljøn

6/22/2020
9 minutter
Lukáš Beňa.

I denne tvådelade serie kommer vi at implementere Redmine i Kubernetes. Vi kommer til at bruge anbefalede værktøjer og metoder til at implementere en robust instans af Redmine over HTTPS.

Vi delade op denne guide i to dele for at først først på installationen af ​​værktøjer og komponenter som Redmine-deploymeneten kommer til at bruge. Men oroa dig intet for kompleksiteten. Selv om du er ny på Kubernetes kommer det at være en forståelig forklaring.

Denne guide er skrevet for at være molnagnostisk, så vi har medvetet utelämnat alla omnämnanden af ​​det moln vi brugte. Efterlad en kommentar om du kan give noget, som vi kan bruge og fortælle, hvilken detalje som afslørede det. Vi anbefaler, at du bruger Kubernetes-tjenesten, som du tilbyder, eftersom den er velintegreret med andre tjenester, som også tilbydes.

Miljöer som microk8s eller minikube tas intet op her eftersom de kræver yderligere konfiguration som ligger uden for omfattningen af ​​denne guide. Specifikt kræver vores HTTPS-konfiguration at vores kluster har en offentlig IP-adresse.


Lad os bruge hjelmen

Kubernetes er et komplekst værktøj til containerorkestrering. Det findes mange begreber vi behøver at lære os for at komme igang. Lyckligtvis findes det et projekt som heter Helm som ger den abstraktionsniveau vi behøver. I deres egne ord "Om vi ​​gjorde ret, skulle brugere kunne installere hjelmen og sedan inden for nogle minutter installationskomponenter af produktionskvalitet direkte i lådan"

Utan att gå in på anledningarna till deras namn (det fortæller hela historien om en metafor, Helm, Kubernetes och Containers) förenklar helm virkelig installationen samtidigt som det giver plads til tilpassede komponenter efter vores behov. Vi kommer til at bruge Helm 3, deres seneste og endnu enklare version.

Om du bruger molnshell fra din molnleverandør er det sandsynligt, at Helm 3 allerede er tilgængelig, men om intet kan du installere det i henhold til guiden som Helm-dokumentationen leverer, helm.sh/docs/intro/install/. Du skal redan ha åtkomst till ditt klynge fra kommandoraden du bruger. Din molnleverandør har også en guide til hvordan du gør det.


Installera Ingress Controller

Dette er den første komponent, vi kommer til at installere i vores kluster, og det er også det første kubernetes-koncept, vi kommer til at se. En Ingress-controller sidder ved ingångsdörren til din klynge, og den er på vej mod alle webbforfrågningar og omdirigerer dem til den interne komponent, som er ansvarlig for at svare på en forespørgsel. I begyndelsen kommer det intet at finnas någon redo att svare, men når vi installerer Redmine kommer det at tilføje til som en destination for förfrågningarna.

Kubernetes tilbyder NGINX Ingress-controller som vi kommer til at bruge. Deres dokumentation forklarer hvordan man installerer det med hjælp af Helm:

roret repo tilføj ingress-nginx https://kubernetes.github.io/ingress-nginx && roret repo-opdatering

ror installer ingress-controller ingress-nginx / ingress-nginx

Det første kommando lægger til applikationsrepositoryn, hvor ingress-controllern findes, mens det andre installerer i dine kluster. Når installationen er klar kommer kommandoen til at skrive ud information for at komme igang, inklusive hvordan man får den offentliga IP-adresse som tildelats til controllern:

kubectl få tjenester - ur

Resultatet kommer at være noget lignende:

NAMN &

Opret en DNS A-post

Nu når du har IP-adressen kan du bare gå til en webbläsare og se, hvordan du får dine svar. Selvklart kommer du til at svare med et "404 Not Found"-meddelelse, eftersom ingen applikation er installeret endnu. Vi kommer til at oprette en DNS-domæne, som vi kan associere med IP-adressen, forhoppningsvis lettere at huske end en liste med siffror og punkter.

Sæt at oprette en internetdomæne for din Redmine beror meget på din domänleverandør, men i alle fald skaber du en DNS A-post som linkar et domænenavn med din IP-adresse. Se følgende skærmbillede fra DNS-leverandøren no-ip.com som referencer.

Opret vores DNS A-post

Opgifter som du behøver at fylde i, som du måske forvente dig, er domænenavn og IP-adresse. No-IP er præcis, hvad vi behøver for at illustrere skabandet af en domæne, men du vil muligvis vælge en anden DNS-leverandør. Processen är ganske lignende i alla fald.

Det er lidt tid for den nye post at spridas, så du kan bruge ping for at kontrollere nær IP-adressen har løsts korrekt:

ping redminek8s.ddns.net


Næste skridt

Nu når vi har en ingress-controller og en DNS-domæne er det ender, som kommer tilbage konfigurer HTTPS til vores websted og installerer Redmine. Vi kommer til at bruge PostgreSQL som vores databaser, men du kommer til at være enkelt at konfigurere alt med hjælp af Helm.

Hold dig uppdaterad för Redmine i Kubernetes Del 2: Installation af Redmine.

Den ultimative Redmine-opgraderingen? Enkel.

Få alle kraftfulde værktøjer til perfekt projektplanlægning, -håndtering og -kontrol i en end-software.

Prova Easy Redmine i en 30 dages gratis provperiode

Fuldstændige funktioner, SSL-beskyttelse, daglig sikkerhedskopior, og din geografiske plads