Redmine i Kubernetes - Del 1: Forbereiden af ​​omgivelserne

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

I denne anden serie vil vi Redmine implementere i Kubernetes. Vi vil bruge værktøjer og fremgangsmåder til at implementere en kraftfuld instans af Redmine via HTTPS.

Vi har denne how-to i to dele opdelt om vores først at rette op på det installeret af værktøjer og komponenter Redmine-implementeringen vil blive brugt. Men gør dig ikke bekymret over kompleksitet. Selvs som er ny bøjet i Kubernetes, vil have en forståelig udlegning.

Denne manual er skrevet om sky-agnostisk te zijn, derfor har vi opzettelijk alle meddelelser fra skyen, som vi har brugt weggelaten. Lad en kommentar bagefter, hvis du kan finde ud af, hvilken sky vi har brugt, og fortæller om vores detaljerede oplysninger. Vi giver dig mulighed for at bruge Kubernetes-tjenesten, som du tilbyder, fordi denne er godt integreret med andre tjenester, som din cloud også tilbyder.

Omgivelser som f.eks. microk8s af minikube kan ikke tages i betragtning, fordi der er behov for flere konfigurationer, der kræver udenfor omfanget af denne manual. I det særlige kræver vores HTTPS-konfiguration dat ons cluster en offentlig IP-adresse har.


Laten vi Helm bruge

Kubernetes er et komplekst værktøj til container-orkestrering. Der er mange koncepter, som vi skal lære om, hvordan vi skal gå. Heldigvis er et projekt kaldet Helm det abstrakte niveau tilbyder det, vi har brug for. I deres egne ord "Als we de things good deden, kondenserende brugere Hjelminstallation og inden for nogle få minutter produktion klargjort off-the-shelf-komponenter installeret."

Los van de årsager for hun navn (det fortæller alle det historie af en metafoor, Helm, Kubernetes og Containers) vereenvoudigt helm de installation echt mens pladsen tilbyder en komponent til vores behov til passager. Vi vil bruge Helm 3, deres nyheder og en simpel version.

Når en cloud-shell, som en cloududbyder bruges, er den stor, at Helm 3 er tilgængelig, men den er ikke tilgængelig, og den kan installeres ifølge den manual, som Helm-dokumentationen tilbyder, helm.sh/docs/intro/install/. Det skal du al adgang hebben til en klynge fra de ordreregel, som du bruger. Din cloudprovider har også en manual over, hvordan du skal gøre det.


Installer af Ingress Controller

Det er den første komponent, som vi i vores klynge vil installere og også det første Kubernetes-koncept, som vi vil se. En Ingress-controller befinder sig ved indgangen af ​​din klynge, modtager alle websøgninger og sendes til den interne komponent, der er ansvarlig for besvarelsen af ​​anmodningen. I første instans vil ingen være klar til at svare, men når vi Redmine installerer, bliver det også tilføjet en destination for de anmodninger.

Kubernetes tilbyder de NGINX Ingress-controller vi skal bruge. Hun kan dokumentere, hvordan du kan installere ved 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

Den første opgave tilføjer et lager af applikationer, hvor Ingress-controlleren findes, mens den anden installeres i din klynge. Når det er klar, vil du få de enkelte oplysninger udskrive for at begynde, inklusive hvordan du den offentlige IP-adresse, der er tildelt controlleren kan opnå:

kubectl få tjenester - ur

Resultatet vil noget sammenligneligt er:

NAVN TYPE CLUSTER-IP EKSTERN-IP PORT (E) ALDER

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

controller-adgang ClusterIP 10.0.135.226 443 / TCP 5m22s

kubernetes ClusterIP 10.0.0.1 443 / TCP 44h

Lad os bruge det EKSTERNE-IP, vi har brug for det i det næste trin. Det kan ske, at der er en IP-værdi, som du får er. Det var endda før skyen en offentlig IP er blevet overført til din klynge. Se kun et par sekunder, og IP-adressen skal være tilgængelig.


Lav en DNS A-record

Nu har du IP-adressen, du kan bare gå til en browser og se, hvordan du reagerer på en klynge. Det vil naturligvis være en klynge, fordi der ikke er nogen applikation installeret, svarene med en "404 Not Found" fejlmelding. Vi vil lave et DNS-domein, som vi kan koble til IP, forhåbentlig nemmere at huske og en liste med tal og punkter.

Hvordan du kan lave et internetdomein for Redmine, hangt sterk af din domæneudbyder, men i alle tilfælde laver du en DNS A-record, der er en domæne, der er koblet til din IP. Se den næste skærmbillede af DNS-udbyderen no-ip.com som reference.

Opret DNS A-record

De data, som du skal bruge, er som du ville forvente, de DNS-navn på IP. No-IP er præcis, hvad vi har brug for at oprette et domæne, der skal illustreres, men du har sandsynligvis en anden DNS-udbyder valgt til at gøre det. Det er frit det samme ved alle.

Det er varigt, selv før den nye rekord bliver spredt, så du kan bruge ping for at kontrollere, når IP-adressen er korrekt løst:

ping redminek8s.ddns.net


Volgende trin

Nu vi en ingress-controller og en DNS-domein har, er det eneste, hvad der skal hvile, HTTPS-konfiguration til vores websted og Redmine-installation. Vi vil bruge PostgreSQL som vores database, men du vil se, hvordan det er nemt at konfigurere ved hjælp af Helm.

Bliv op de højde for Redmine i Kubernetes Del 2: Installation af Redmine.

Den sidste Redmine-opgradering? Makkelijk.

Kryd alle kraftfulde værktøjer til perfekt projektplanlægning, -styring og -kontrol i én software.

Prøv Easy Redmine 30 dage gratis

Volledige funktioner, SSL-beveiligd, daglige backups, på din geografiske placering