en
Sprog
  • en
  • de
  • fr
  • es
  • br
  • ru
  • jp
  • kr
AI-oversættelse
  • 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: Forberedelse af miljø

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

I denne to-dels-serie vil vi implementere Redmine i Kubernetes. Vi vil bruge anbefalede værktøjer og praksis med det formål at implementere en elastisk forekomst af Redmine over HTTPS.

Vi opdelte denne vejledning i to dele, som vi først skal fokusere på installation af værktøjer og komponenter Redmine-implementeringen bruger. Men bekymre dig ikke om kompleksiteten. Selv hvis du er ny med Kubernetes, vil det være en forståelig forklaring.

Denne guide blev skrevet til at være cloud-agnostiker, så vi med vilje udeladte alle omtaler af den sky, vi brugte. Efterlad en kommentar, hvis du kan gætte den sky, vi brugte, og fortæl os, hvilken detaljer det gav væk. Vi anbefaler dig at bruge den Kubernetes-tjeneste, som din sky tilbyder, da den er godt integreret med andre tjenester, som din sky også leverer.

Miljøer som microk8s eller minikube betragtes ikke her, da de kræver en vis mere konfiguration, der ikke er omfattet af denne vejledning. Især vores HTTPS-konfiguration kræver, at vores klynge har en offentlig IP.


Lad os bruge Helm

Kubernetes er et komplekst værktøj til containerorkestrering. Der er mange koncepter, vi er nødt til at lære for at komme i gang. Heldigvis for os er der et projekt, der hedder Helm der giver det abstraktionsniveau, vi har brug for. Med deres egne ord "Hvis vi gjorde tingene rigtigt, kunne brugerne installere Helm og derefter inden for få minutter installere produktionsgrad uden for hylden"

Ved at lægge grundene til deres navne til side (det hele fortæller historien om en metafor, ror, Kubernetes og containere) ror forenkler installationen virkelig og samtidig give plads til at tilpasse komponenten til vores behov. Vi vil bruge Helm 3, deres seneste og endnu enklere version.

Hvis du bruger cloud-shell fra din cloud-udbyder, er chancerne for, at Helm 3 allerede er tilgængelig, men hvis ikke kan du installere det efter den vejledning, som Helm-dokumenterne leverer, helm.sh/docs/intro/install/. Du er nødt til Log har allerede adgang til din klynge fra den kommandolinie, du bruger. Din skyudbyder har en guide til, hvordan du også gør det.


Installer Ingress Controller

Dette er den første komponent, vi installerer i vores klynge, og er også det første kubernetes-koncept, vi vil se. En Ingress-controller sidder ved indgangsdøren til din klynge, modtager alle webanmodninger og omdirigerer dem til den interne komponent, der er ansvarlig for at besvare anmodningen. Til at begynde med er der ingen klar til at svare, men når vi installerer Redmine, tilføjes det som en destination for anmodningerne.

Kubernetes leverer NGINX Ingress-controller vi bruger. Deres dokumentation forklarer, hvordan man installerer det 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 kommando tilføjer depotet til applikationer, hvor indgangskontrolleren er, mens den anden installerer det i din klynge. Når du er færdig, udskriver kommandoen nogle oplysninger for at komme i gang, herunder hvordan du kommer den offentlige IP, der er tildelt controlleren:

kubectl få tjenester - ur

Resultatet vil være noget, der ligner dette:

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

Vær opmærksom på den EKSTERNE IP, da vi har brug for den i næste trin. Det kan ske, at i stedet for en IP er den værdi, du får der . Det tager lidt tid for skyen at få en offentlig IP og tildele den til din klynge. Bare vent et par sekunder mere, og IP'en skulle være tilgængelig.


Opret en DNS A-post

Nu hvor du fik IP'en, kunne du bare gå til en browser og se, hvordan din klynge svarer dig. Da der ikke er installeret noget program endnu, vil din klynge naturligvis svare med en “404 Not Found” -fejl. Vi opretter et DNS-domæne, vi kan knytte til denne IPforhåbentlig lettere at huske end en liste over tal og prikker.

Måden til at oprette et internetdomæne til din Redmine afhænger meget 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 som reference følgende skærmbillede fra no-ip.com DNS-udbyderen.

Oprettelse af vores DNS A-post

De data, der skal udfyldes, som du kunne forvente, er DNS-navn og IP. No-IP er bare det, vi har brug for for at illustrere oprettelsen af ​​et domæne, men du har sandsynligvis eller vil vælge en anden DNS-udbyder. Processen er temmelig ens i alle dem.

Det tager nogen tid, før den nye post spreder sig, så du kan bruge ping til at kontrollere, når IP'en er løst korrekt:

ping redminek8s.ddns.net


Næste skridt

Nu hvor vi har en indgangskontroller og et DNS-domæne, er det kun tilbage konfigurer HTTPS til vores site og installer Redmine. Vi vil bruge PostgreSQL som vores database, men du vil se, hvor let det er at konfigurere alt, der bruger Helm.

Hold øje med Redmine i Kubernetes Del 2: Installation af Redmine.

Den ultimative Redmine -opgradering? Let.

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

Prøv Easy Redmine i 30 dages gratis prøveperiode

Fuldstændige funktioner, SSL-beskyttet, daglige backups, i din geolocation