This is automatic translation. If you do not like it, switch to English or another language. Thank you for understanding. OK Show original
Tilfreds

Redmine i Kubernetes - Del 2: Installation af Redmine

Dette er en anden del af serien om indsættelse af Redmine i Kubernetes. I denne artikel giver vi instruktioner om, hvordan du installerer en pålidelig installation af Redmine.

Genfortælling af del 1

I øjeblikket skal du se frem til installationen af ​​Redmine på Kubernetes. Det er trods alt det, du kom efter, ikke?

In Redmine i Kubernetes - Del 1: Forberedelse af miljø, vi installerede Ingress Controller, en komponent til at omdirigere internetanmodninger inde i din klynge, og vi oprettede et dns-domæne, redminek8s.ddns.net. Nu behøver vi kun at konfigurere HTTPS, og vi er klar til at implementere Redmine.

HTTPS med cert-manager

Selvom vi kunne beholde vores Redmine som HTTP, er HTTPS blevet standarden for websteder, så meget, at de fleste browsere advarer dig om et sikkerhedsproblem, når HTTPS ikke bruges af et websted.

Det er typisk ikke en triviel opgave at aktivere HTTPS, da du skal købe et certifikat og uploade det til dit websted, forny det efter en bestemt tid og gentage processen. Cert-manager automatiserer alt dette, inklusive fornyelse af certs, og får endda gratis certifikater. Du kan se flere oplysninger om Deres websted, men jeg forklarer alt hvad du behøver at vide næste.

Installer cert-manager

Udfør følgende trin for at installere cert-manager i din klynge:

roret repo tilføj jetstack https://charts.jetstack.io && roret repo-opdatering

helm install cert-manager jetstack / cert-manager - set installCRDs = true

Først tilføjer du depotet, hvor cert-manager er, og derefter installerer du dens seneste version.

Opret forbindelse til Certificate Authority

Nu skal vi instruere cert-manager om at oprette forbindelse til den certifikatudbyder, vi vælger. Vi bruger LetsEncrypt, en gratis certifikatmyndighed. Opret først denne fil (husk at udskifte den med en rigtig e-mail-adresse) og navngiv det cluster-udsteder.yaml

apiVersion: cert-manager.io/v1alpha2

kind: ClusterIssuer

metadata:

  navn: letsencrypt

spec:

  acme:

    server: https://acme-v02.api.letsencrypt.org/directory

    e-mail:

    privateKeySecretRef:

      navn: letsencrypt

    løsere:

    - http01:

        indtrængning:

          klasse: nginx

Anvend det derefter på din klynge med

kubectl anvende -f klyngeudsteder.yaml

Tillykke! Filen ovenfor er den første kubernetes-konfiguration, vi skriver og anvender på klyngen. Du har muligvis bemærket, at det viser, hvordan man opretter forbindelse til LetsEncrypt, men det beskriver også Ingress Controller, vi oprettede i del 1 (Klassen: nginx i slutningen) Denne type konfiguration har nogle linjer med mellemrum for at indikere afhængighed af nogle egenskaber til andre. Hold de mellemrum som vist for at sikre, at filen læses og anvendes korrekt.

Nu er din klynge HTTPS aktiveret. Hver gang vi installerer et program, kan vi instruere det til at arbejde med HTTPS og voilà! Hele processen med at få certifikatet udføres automatisk bag kulisserne.

Installation af Redmine

Dette var, hvad vi alle ventede på. Vi kan installere Redmine på et par forskellige måder, men langt den mest bekvemme er at bruge Helm. Som vi allerede gjorde før, tilføjede vi først depotet, hvor Redmine er

roret repo tilføj bitnami https://charts.bitnami.com/bitnami && roret repo-opdatering

Men denne gang i stedet for at installere med det samme, opretter vi en konfigurationsfil for at indikere noget tilpasset opførsel, vi ønsker, at Redmine skal have.

Vi vil adskille alle konfigurationer på deres eget afsnit, men du lægger dem alle i den samme fil, den ene efter den anden. Ring til filværdierne. Yaml.

Alle Helm-applikationer har en Values.yaml-fil med alle mulige konfigurationer, der kan foretages til applikationen. Når vi skaber vores egne værdier. Yaml definerer vi de ændringer, vi ønsker. Enhver værdi, som vi ikke inkluderer i vores fil, bliver liggende, som den er i standardfilen.

Alle standardværdier kan også findes på roret-applikationssiden, https://hub.helm.sh/charts/bitnami/redmine. Gå videre og kontroller alle konfigurationer.

Første administrator-bruger

RedmineUsnavn: adminUser

RedminePassword:

Dette trin er lige så nødvendigt som let at forstå. Det er vores første bruger på Redmine, den, vi vil bruge til at logge ind for første gang.

Når Redmine er installeret, vil du kunne få adgang til det med denne bruger til at konfigurere din splinterny installation.

PostgreSQL-database

Som standard kræver vores Helm-installation, at der oprettes en mariadb-database. Vi konfigurerer i stedet vores installation til at bruge PostgreSQL. Du skal også tilføje mindst en adgangskode for at få adgang til denne database, som du kan se nedenfor

database type: postgresql

mariadb:

  aktiveret: falsk

PostgreSQL:

  aktiveret: sandt

  postgresqlDatabase: Redmine

  postgresqlUsnavn: Redmine

  postgresqlPassword:

Vi skal eksplicit fortælle vores installation, at vi ikke ønsker, at mariadb skal installeres sammen med konfigurationen af ​​PostgreSQL-databasen.

DNS-navnekonfiguration

Konfigurationen nedenfor er den anden side af den DNS-konfiguration, vi gjorde i del 1. Som du kan se, aktiverer vi TLS, protokollen bag HTTPS, og indstiller værtsnavnet, vi brugte, da vi oprettede vores DNS-post:

indtrængning:

  aktiveret: sandt

  certManager: sandt

  værtsnavn: redminek8s.ddns.net

  tls: sandt

  anmærkninger:

    kubernetes.io/ingress.class: nginx

    cert-manager.io/cluster-issuer: letsencrypt

Også i de to sidste linjer forbinder vi vores applikation med Ingress Controller og med Cluster Issuer, vi oprettede før.

Nu kan vi implementere Redmine med vores brugerdefinerede konfiguration:

rorinstallere Redmine -f Values.yaml bitnami / redmine

Denne linje svarer til andre rorinstallationslinjer, vi brugte før, men denne gang leverer vi en brugerdefineret værdi. Yaml. Dette er måden at tilpasse ethvert Helm-program.

Vi har stadig brug for mere tålmodighed, da oprettelsen af ​​applikationen tager nogen tid. Du kan udføre denne kommando for at kontrollere status for dine applikationsbeholdere:

kubectl få pods - ur

Kommandoen returnerer noget, der ligner dette:

NAVN KLAR STATUS OMSTARTER ALDER

. . .

redmine-999c68dd9-x7h2k    1/1     Running   0          6m40s

redmine-postgresql-0 1/1 Løb 0 6m40s

Du skal vente til status for begge containere kører og alle er klar 1/1, hvilket i mit tilfælde tog ca. 6 minutter.

Nu er alt klar til at åbne browseren og gå til vores nye implementering:

Redmine er klar

Indpakning op

Kubernetes er et komplekst værktøj til at implementere applikationer, men vi navigerede gennem den kompleksitet ved hjælp af Helm (ingen ordspil beregnet) og implementerede en pålidelig installation af Redmine.

Du kan finde et resumé af denne vejledning i følgende git repo: https://github.com/lcofre/redmine-on-k8s. Sammenlign med dine filer, hvis du sidder fast.

Vi forlod nogle koncepter uden for diskussionen, fordi de var komplekse, eller forklaringen var sky-specifik. Blandt dem er din applikations livskraft og beredskab, konfiguration af indgående mails og skalering ud for at håndtere mere belastning. Fortæl os nedenfor, hvad der interesserer dig mest, så vi kan diskutere det i en fremtidig vej.

 

Forfatter: Leandro Cofre, Lukáš Beňa

Yderligere oplysninger
Gratis prøveversion

Nem Redmine 10 opgradering
Top plugins & features
Nyt og mobilt design
Server opgraderinger
Global sky

Start gratis prøveversion

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

Fuldt udstyret, 30 Dage, SSL-beskyttet, Daglige Backups, I din Geo-placering

or