en
Språk
  • en
  • de
  • fr
  • es
  • br
  • ru
  • jp
  • kr
AI-översättning
  • ee
  • ae
  • cn
  • vn
  • id
  • eu
  • il
  • gr
  • no
  • fi
  • dk
  • se
  • tr
  • bg
  • nl
  • it
  • pl
  • hu
  • ro
  • ua
  • cs

Redmine i Kubernetes – Del 1: Förbereda miljön

6/22/2020
6 minuter
Lukáš Beňa

I den här tvådelade serien kommer vi att distribuera Redmine i Kubernetes. Vi kommer att använda rekommenderade verktyg och metoder med målet att distribuera en fjädrande instans av Redmine över HTTPS.

Vi delade upp den här instruktionen i två delar att fokusera på först installation av verktyg och komponenter Redmine-distributionen kommer att användas. Men oroa dig inte för komplexiteten. Även om du är ny med Kubernetes kommer det att vara en förståelig förklaring.

Den här guiden var skriven för att vara moln-agnostic, så vi avsiktligt lämnade alla nämnanden om molnet vi använde. Lämna en kommentar om du kan gissa molnet vi använde och berätta vilken detalj som gav det bort. Vi rekommenderar att du använder Kubernetes-tjänsten som ditt moln erbjuder, eftersom det är väl integrerat med andra tjänster som ditt moln också tillhandahåller.

Miljöer som microk8s eller minikube beaktas inte här eftersom de kräver lite mer konfiguration som inte omfattas av denna guide. I synnerhet vår HTTPS-konfiguration kräver att vårt kluster har en offentlig IP.


Låt oss använda Helm

Kubernetes är ett komplext verktyg för containerorkestrering. Det finns många begrepp som vi behöver lära oss för att komma igång. Lyckligtvis för oss finns det ett projekt som heter Helm som ger den nivå av abstraktion vi behöver. Med sina egna ord "Om vi ​​gjorde saker rätt, kunde användare installera Helm och sedan inom några minuter installera produktionsgrad från hylla-komponenter"

Om man lämnar orsakerna till deras namn (allt berättar historien om en metafor, Helm, Kubernetes och Containers) rodret förenklar verkligen installationen samtidigt som det ger utrymme att anpassa komponenten till våra behov. Vi kommer att använda Helm 3, deras senaste och ännu enklare version.

Om du använder molnleverantörens molnskal är chansen stor att Helm 3 redan är tillgänglig, men om inte kan du installera det enligt guiden som Helm-dokumenten tillhandahåller, helm.sh/docs/intro/install/. Du måste logga har redan tillgång till ditt kluster från kommandoraden du använder. Din molnleverantör har en guide för hur du gör det också.


Installera Ingress Controller

Detta är den första komponenten vi kommer att installera i vårt kluster och är också det första kubernetes-konceptet vi kommer att se. En Ingress-controller sitter vid ingången till ditt kluster, tar emot alla webbförfrågningar och omdirigerar dem till den interna komponenten som ansvarar för att besvara begäran. Till en början kommer ingen att vara redo att svara, men när vi installerar Redmine läggs den till som en destination för förfrågningarna.

Kubernetes tillhandahåller NGINX Ingress Controller vi använder. Deras dokumentation förklarar hur man installerar det med Helm:

helm repo lägg till ingress-nginx https://kubernetes.github.io/ingress-nginx && helm repo-uppdatering

helm installera ingress-controller ingress-nginx / ingress-nginx

Det första kommandot lägger till arkivet för applikationer där ingresskontrollern är, medan det andra installerar det i ditt kluster. När du är klar kommer kommandot att skriva ut lite information för att komma igång, inklusive hur du kommer igång den offentliga IP-adressen som tilldelats kontrollenheten:

kubectl få tjänster - klocka

Resultatet blir något som liknar detta:

NAMN TYP CLUSTER-IP EXTERN-IP PORT (S) ÅLDER

nginx-controller LoadBalancer 10.0.115.117 89.68.23.33 80 / TCP, 443 / TCP 5m22s

controller-tillträde ClusterIP 10.0.135.226 443 / TCP 5m22s

kubernetes ClusterIP 10.0.0.1 443 / TCP 44h

Notera EXTERNAL-IP eftersom vi kommer att behöva den i nästa steg. Det kan hända att istället för en IP är det värde du får där . Det tar lite tid för molnet för att få en offentlig IP och tilldela den till ditt kluster. Vänta bara några sekunder till så att IP: n ska vara tillgänglig.


Skapa en DNS A-post

Nu när du fick IP: n kunde du bara gå till en webbläsare och se hur ditt kluster svarar dig. Naturligtvis, eftersom inget program har installerats ännu, kommer ditt kluster att svara med ett "404 Not Found" -fel. Vi kommer att skapa en DNS-domän som vi kan koppla till den IPförhoppningsvis lättare att komma ihåg än en lista med nummer och prickar.

Sättet att skapa en internetdomän för din Redmine beror mycket på din domänleverantör, men i alla fall slutar du med att skapa en DNS-post som länkar ett domännamn med din IP. Se som referens följande skärmdump från DNS-leverantören av no-ip.com.

Skapa vår DNS A-post

Uppgifterna att komplettera, som du kan förvänta dig, är DNS-namnet och IP-adressen. No-IP är precis vad vi behöver för att illustrera skapandet av en domän, men du har antagligen eller kommer att välja en annan DNS-leverantör. Processen är ganska lik i alla dem.

Det tar lite tid för den nya posten att sprida sig, så du kan använda ping för att kontrollera när IP: n har rättats:

ping redminek8s.ddns.net


Nästa steg

Nu när vi har en ingresskontroller och en DNS-domän är det enda som är kvar konfigurera HTTPS för vår webbplats och installera Redmine. Vi kommer att använda PostgreSQL som vår databas, men du ser hur lätt det är att konfigurera alla som använder Helm.

Håll utkik efter Redmine i Kubernetes del 2: Installera Redmine.

Den ultimata Redmine -uppgraderingen? Lätt.

Få alla kraftfulla verktyg för perfekt projektplanering, hantering och kontroll i en programvara.

Prova Easy Redmine i 30 dagars gratis provperiod

Fullständiga funktioner, SSL-skyddad, dagliga säkerhetskopior, i din geolokalisering