Redmine in Kubernetes - Del 1: Förberedelse av omgivningen

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

I denna andra serie kommer vi Redmine implementera i Kubernetes. Vi kommer att använda verktyg och metoder för att implementera en kraftfull instans av Redmine via HTTPS.

Vi har de här instruktionsboken i två delar som vi delar upp oss först på installera av verktyg och komponenter Redmine-implementeringen kommer att användas. Men gör du inte bry dig om komplexiteten. Själva som är ny böjda i Kubernetes, kommer att ha en begriplig hjälp.

Denna handbok är skriven om moln-agnostisk du är, därför har vi opzettelijk alla meddelanden från molnet som vi har använt bortlåtna. Låt en reaktion efter att du kan välja vilket moln vi har använt och berätta om detaljerna i listan. Vi rankar dig om Kubernetes-tjänsten för att använda det som molnet erbjuder, eftersom detta är bra integrerat med andra tjänster som molnet också erbjuder.

Omgivningar som microk8s av minikube kan inte beaktas eftersom det krävs mer konfiguration som kräver utanför omfattningen av denna handledning. I det särskilda kräver vår HTTPS-konfiguration detta kluster har en offentlig IP-adress.


Laten vi Helm använda

Kubernetes är ett komplicerat verktyg för container-orkestratie. Det finns många koncept som vi måste lära oss om hur du går. Lyckligtvis är ett projekt som kallas Helm det abstrakta nivån ger det vi behöver. I sina egna ord "Als we de things good deden, kondenserad användare Installation av hjälm och inom några minuter tillverkning klara off-the-shelf-komponenter för att installera."

Los van de orsaker för hun namn (det berättar allt om historien om en metafoor, Helm, Kubernetes och Containers) vereenvoudigt helm de installation echt medan utrymmet erbjuder en komponent till våra behov för att passa. Vi kommer att använda Helm 3, den senaste versionen.

När ett molnskal som används av en molnleverantör är det så stort att Helm 3 är tillgängligt, men det är inte tillgängligt, och du kan installera det enligt den handledning som Helm-dokumentationen erbjuder, helm.sh/docs/intro/install/. Du måste al access hebben till ett kluster från de uppdragsregel som används. Din molnleverantör har också en handledning över hur du måste göra.


Installer av Ingress Controller

Det är den första komponenten som vi i vårt kluster kommer att installera och även det första Kubernetes-konceptet som vi kommer att se. En Ingress-kontroller finns vid ingången av ditt kluster, tar emot alla webbsökningar och skickas till den interna komponenten som är ansvarig för att svara på begäran. I den första instansen kommer ingen att klara av att svara, men när vi Redmine installerar, läggs det till också en destination för de begäranden.

Kubernetes erbjuder de NGINX Ingress Controller vi kommer att använda. Hun dokumentation legt för hur du kan installera med hjälp av 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

Första uppdraget lägger till ett arkiv för applikationer där Ingress-kontrollern finns, medan den andra installeras i ditt kluster. När det är klart, kommer du att skriva ut enkel information för att börja, inklusive hur du den offentliga IP-adress som kontrolleras är tilldelad kan köpa:

kubectl få tjänster - klocka

Resultatet kommer att jämföras med:

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

Låt oss använda EXTERNAL-IP, vill att vi behöver det i nästa steg. Det kan hända som en IP-värde som du får är. Det är dyrt även innan molnet en offentlig IP bekräftad och skriv till ditt kluster. Se bara några sekunder och IP-adressen skulle vara tillgänglig.


Gör ett DNS A-rekord

Nu har du IP-adressen, du kan bara gå till en webbläsare och se hur du klusterar som svarar. Naturligtvis kommer du i ett kluster, eftersom ingen applikation är installerad, svaren med en "404 Not Found"-felmeddelande. Vi kommer att göra en DNS-domein som vi kan ansluta till IP, förhoppningsvis lätt att komma ihåg och en lista med siffror och poäng.

Hur du kan göra ett internetdomein för Redmine, hangt stark av din domänleverantör, men i alla fall gör du en DNS A-post som är kopplad till en IP-adress. Se nästa bildskärmsbild från DNS-leverantören no-ip.com som referens.

Vår DNS A-record skapas

De uppgifter som du måste inkludera, är som du kan förvänta dig, de DNS-namn en het IP. No-IP är exakt vad vi behöver för att skapa ett domän som ska illustreras, men du har förmodligen en annan DNS-leverantör som valts för att göra det. Det är samma sak som alla.

Det tar även innan den nya posten sprids, du kan pinga använda för att kontrollera när IP-adressen är korrekt lös:

ping redminek8s.ddns.net


Volgende steg

Nu vi en ingångskontroller och en DNS-domein har, är det enda som behöver vila, HTTPS-konfigurering för vår webbplats och Redmine-installation. Vi kommer att använda PostgreSQL som vår databas, men du kommer att se hur lätt det är att konfigurera allt med hjälp av Helm.

Bo på höjden Redmine i Kubernetes del 2: Installera Redmine.

Den sista Redmine-uppgraderingen? Makkelijk.

Krijg alla kraftfulla verktyg för perfekt projektplanering, -hantering och -kontroll i en mjukvara.

Testa Easy Redmine 30 dagar gratis

Fullständiga funktioner, SSL-beveiligd, dagliga säkerhetskopieringar, på din geografiska plats