Redmine i Kubernetes - Del 1: Forberedelse af miljøet

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

A Redmine i Kubernetes alkalmazást töröltem. Vi vil bruge anbefalede værktøjer og meter det formål and implementer en robust instans af Redmine over HTTPS.

Vi har opdelt denne vejledning i to dele for at fokusere først på telepítés af værktøjer és komponens, som Redmine-implementeringen vil bruge. Men bekymre dig ikke om kompleksiteten. Selvom du er ny til Kubernetes, vil det være en forståelig forklaring.

Denne vejledning blev skrevet for at være felhő-agnosztikus, så vi undlod bevidst alle omtaler af den sky, vi brugte. Efterlad en kommentar, hvis du kan gætte, hvilken sky vi brugte, og fortæl os, hvilken detalje der afslørede det. Vi anbefaler dig at bruge Kubernetes-tjenesten, som din sky tilbyder, da den er godt integreret med andre tjenester, som din sky også tilbyder.

Miljøer som microk8s eller minikube er ikke taget i betragtning her, da de kræver lidt mere konfiguration, som er uden for denne vejlednings omfang. Især kræver vores HTTPS-konfiguráció, at vores klynge har en offentlig IP-adresse.


Lad os bruge Helm

Kubernetes er et komplekst værktøj til konténer-hangszerelés. Der er mange begreber, vi skal lære for at komme i gang. Heldigvis er der et projekt kaldet Sisak, som giver det abstraktionsniveau, vi har brug for. I deres egne ord "Hvis vi gjorde tingene rigtigt, kunne brugere installere Helm og inden for få minutter installere komponenter af produktionskvalitet ud af hylden"

Uden at gå ind i årsagerne til deres navne (det hele fortæller historien om en metafor, Helm, Kubernetes og Containere) gør helm virkelig installen enklere, samtidig med at der er plads til at tilpasse komponenten til vores behov. Vi vil bruge Helm 3, deres nyeste og endnu enklere version.

Hvis du bruger skyens shell fra din skyudbyder, er der stor sandsynlighed for, at Helm 3 allerede er tilgængelig, men hvis ikke kan du installere det ved at følge vejledningen, som Helm-den kereső, helm.sh/docs/intro/install/. Du skal allerede have adgang til din klynge fra den kommandolinje, du bruger. Din skyudbyder har også en vejledning om, hvordan du gør det.


Installer Ingress Controller

Dette er den første komponent, vi vil installere i vores klynge, og det er også det første Kubernetes-koncept, vi vil se. En Ingress-controller sidder ved indgangsdøren til din klynge, modtager all webmodninger og omdirigerer dem til den interne komponent, der er ansvarlig for at besvare anmodningen. I starten vil der ikke være nogen klar til at besvare, men når vi installerer Redmine, vil det blive tilføjet som hu úticél anmodningerne.

Kubernetes emelő NGINX bemeneti vezérlő, som vi vil bruge. Deres dokumentáció forklar, hvordan man installer det ved hjælp af Helm:

helm repo hozzáadása ingress-nginx https://kubernetes.github.io/ingress-nginx && helm repo frissítés

sisak telepítése ingress-kontroller ingress-nginx / ingress-nginx

A første kommando tilføjer applikationsrepositoryen, hvor ingress-controlleren er, mens den anden installerer den i din klynge. Når installen er færdig, udskriver kommandoen nogle oplysninger for at komme i gang, herunder hvordan man får den offentlige IP, der er tildelt controlleren:

kubectl szolgáltatások - óra

Resultatet vil være noget lignende dette:

NAVN TÍPUSÚ CLUSTER-IP KÜLSŐ-IP PORT(OK) ALDER

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

vezérlő-felvételi ClusterIP 10.0.135.226 443 / TCP 5m22s

kubernetes ClusterIP 10.0.0.1 443 / TCP 44 óra

Bemærk EXTERNAL-IP, da vi vil have brug for det i næste trin. Det kan ske, at værdien, du får der, i stedet for en IP er . Det tager lidt tid a skyen számára at få en offentlig IP og tildele den til din klynge. Vent bare et par sekunder mere, og IP'en burde være tilgængelig.


Opret en DNS A-post

Nu hvor du har IP'en, kan du bare gå til en browser og se, hvordan dit cluster svarer dig. Selvfølgelig, da der endnu ikke er installeret nogen applikation, vil dit cluster svare med en "404 Not Found" fejl. Vi vil oprette et DNS-domæne, som vi kan associere med den IP, forhåbentlig nemmere at huske end en liste af tal og prikker.

Måden at oprette et internetdomæne for din Redmine afhænger i høj grad af din domæneudbyder, men i alle tilfælde ender du med at oprette en DNS A-post, der forbinder et domænenavn med din IP. Se følgende skærmiblede from DNS-udbyderen no-ip.com som reference.

Oprettelse af vores DNS A-post

De data, der skal udfyldes, som du nok forventer, er DNS-navnet és IP'en. No-IP er lige det, vi har brug for at illustrere oprettelsen af ​​et domæne, men du vil sandsynligvis vælge en anden DNS-udbyder. Processen er ret ens i dem alle.

Det tager lidt tid for den nye post at sprede sig, så du kan bruge ping til at kontrollere, hvornår IP'en er korrekt opløst:

ping redminek8s.ddns.net


Næste trin

Nu hvor vi har en ingress-controller og et DNS-domæne, er det eneste, der mangler, at HTTPS konfigurálása az interneten keresztül és a Redmine telepítéséhez. Vi vil bruge PostgreSQL som vores database, men du vil se, hvor nemt det er at konfigurere alt ved hjælp af Helm.

Hold dig opdateret på Redmine a Kubernetesben 2. rész: A Redmine telepítése.

Végső Redmine-opgradering? Nemt.

Få all kraftfulde værktøjer til tökéletes projekttervezés, -styring og -control enkelt software.

Prøv Easy Redmine 30 dages ingyenes prøveperiode

Teljes funkcionalitás, SSL-beskyttet, daglige biztonsági mentések, földrajzi helymeghatározás