Redmine Kubernetesis - Osa 2: Redmine'i installimine

1/1/2024
7 minutes
Lukáš Beňa

See on teine osa sarjast Redmine'i paigaldamisest Kubernetesi. Selles artiklis anname juhised, kuidas paigaldada usaldusväärne Redmine'i installatsioon.

1. Osa ümberarvutamine

Nüüd peaksite ootama Redmine'i paigaldamist Kubernetesesse. Lõppude lõpuks selleks te tulite, eks?

Redmine Kuberneteses - 1. osa: Keskkonna ettevalmistamine paigaldasime Ingress Controlleri, komponendi, mis suunab internetipäringud teie klastri sees, ja loome DNS-i domeeni redminek8s.ddns.net. Nüüd peame ainult HTTPS-i seadistama ja oleme valmis Redmine'i deployima.


HTTPS koos cert-manageriga

Kuigi saaksime Redmine'i hoida HTTP-s, on HTTPS muutunud veebisaitide standardiks, nii et enamik brausereid hoiatab teid turvaprobleemi eest, kui veebisait ei kasuta HTTPS-i.

Tavaliselt pole HTTPS-i lubamine triviaalne ülesanne, kuna peate ostma sertifikaadi ja laadima selle oma saidile üles, seda teatud aja möödudes uuendama ja protsessi kordama. Cert-manager automatiseerib kõik selle, sealhulgas sertifikaatide uuendamise ning saab isegi tasuta sertifikaate. Rohkem teavet leiate nende saidilt, kuid selgitan järgnevalt kõike, mida peate teadma.


cert-manageri installimine

Installige cert-manager oma klastri jaoks järgmiste sammudega:

helm repo add jetstack https://charts.jetstack.io && helm repo update

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

Lisate kõigepealt cert-manageri asukoha ja seejärel installite selle uusima versiooni.


Ühendage sertifikaadi väljastajaga

Nüüd peame cert-managerile juhendama ühendamist meie valitud sertifikaadi pakkujaga. Kasutame LetsEncrypti, tasuta sertifikaadi väljastajat. Looge kõigepealt see fail (ärge unustage asendada <your-email-address> päris e-posti aadressiga) ja nimetage see cluster-issuer.yaml-ks

apiVersion: cert-manager.io/v1alpha2

kind: ClusterIssuer

metadata:

  name: letsencrypt

spec:

  acme:

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

    email: <your-email-address>

    privateKeySecretRef:

      name: letsencrypt

    solvers:

    - http01:

        ingress:

          class: nginx

Seejärel rakendage see oma klastri jaoks

kubectl apply -f cluster-issuer.yaml

Õnnitleme! Ülaltoodud fail on esimene Kubernetesi konfiguratsioon, mille kirjutame ja rakendame klastri jaoks. Võite märganud, et see näitab, kuidas ühendada LetsEncryptiga, kuid kirjeldab ka Ingress Controllerit, mille lootsime osas 1 (class: nginx lõpus). Selle tüüpi konfiguratsioonil on mõned read koos tühikutega, et näidata mõnede omaduste sõltuvust teistest. Hoidke need tühikud näidatud kujul, et tagada faili õige lugemine ja rakendamine.

Nüüd on teie klaster HTTPS-ga lubatud. Alati, kui installime rakenduse, saame sellele juhised anda, et see töötaks HTTPS-iga ja voilà! Terve sertifikaadi hankimise protsess toimub automaatselt taustal.


Redmine'i installimine

See on see, mida me kõik ootasime. Redmine'i saab installida mitmel erineval viisil, kuid kõige mugavam on kasutada Helm-i. Nagu me juba varem tegime, lisame kõigepealt Redmine'i hoidla:

helm repo add bitnami https://charts.bitnami.com/bitnami && helm repo update

Kuid seekord loome kohe installimise asemel konfiguratsioonifaili, et näidata mõningaid kohandatud käitumisi, mida soovime Redmine'ile määrata.

Eraldame kõik konfiguratsioonid omaette ja paneme need kõik samasse faili, üksteise järel. Faili nimi on values.yaml.

Kõigil Helm-i rakendustel on values.yaml fail, kus on kõik võimalikud konfiguratsioonid, mida saab rakendusele teha. Kui loome oma values.yaml faili, määratleme soovitud muudatused. Kõiki väärtusi, mida me oma failis ei sisalda, jäetakse vaikimisi faili samaks.

Kõik vaikimisi väärtused leiate ka Helm-i rakenduse lehelt https://hub.helm.sh/charts/bitnami/redmine. Minge edasi ja kontrollige kõiki konfiguratsioone.


Esimene administraatori kasutaja

Redmine'i kasutajanimi: adminUser

Redmine'i parool: <minu-parool>

See samm on sama vajalik kui lihtne mõista. See on meie esimene kasutaja Redmine'is, keda kasutame esimest korda sisse logimiseks.

Kui Redmine on installitud, saate sellele kasutajale juurde pääseda ja seadistada oma uut installatsiooni.


PostgreSQL andmebaas

Vaikimisi nõuab meie Helm-i installatsioon mariadb andmebaasi loomist. Selle asemel konfigureerime oma installatsiooni kasutama PostgreSQL-i. Peate lisama vähemalt ühe parooli selle andmebaasi juurdepääsuks, nagu allpool näete:

databaseType: postgresql

mariadb:

  enabled: false

postgresql:

  enabled: true

  postgresqlDatabase: Redmine

  postgresqlUsername: Redmine

  postgresqlPassword: <mõni-turvaparool>

Peame selgelt ütlema oma installatsioonile, et me ei soovi MariaDB-d koos PostgreSQL-i andmebaasi konfiguratsiooniga installida.


DNS-nime konfiguratsioon

Allpool olev konfiguratsioon on DNS-i konfiguratsiooni teine pool, mille tegime osas 1. Nagu näete, lubame TLS-i, HTTPS-i taga oleva protokolli, ja määrame hostinime, mida kasutasime oma DNS-i kirje loomisel:

ingress:

  enabled: true

  certManager: true

  hostname: redminek8s.ddns.net

  tls: true

  annotations:

    kubernetes.io/ingress.class: nginx

    cert-manager.io/cluster-issuer: letsencrypt

Samuti seome viimases kahe reas oma rakenduse Ingress Controlleriga ja Cluster Issueriga, mille lootsime varem luua.

Nüüd saame Redmine'i oma kohandatud konfiguratsiooniga käivitada:

helm install Redmine -f values.yaml bitnami/redmine

See rida on sarnane teiste helm install ridadega, mida oleme varem kasutanud, kuid seekord pakume kohandatud values.yaml-i. See on viis kohandada mis tahes Helm-rakendust.

Vajame veel veidi kannatust, kuna rakenduse loomine võtab aega. Saate selle käsu käivitada, et kontrollida oma rakenduse konteinerite olekut:

kubectl get pods --watch

Käsk tagastab midagi sellist:

NAME                       READY   STATUS    RESTARTS   AGE

. . .

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

redmine-postgresql-0       1/1     Running   0          6m40s

Oodake, kuni mõlema konteineri olek on Running ja kõik on valmis 1/1, mis minu puhul võttis umbes 6 minutit.

Nüüd on kõik valmis brauseri avamiseks ja uue paigalduse juurde minemiseks:

Redmine on valmis


Kokkuvõte

Kubernetes on keeruline tööriist rakenduste paigaldamiseks, kuid me navigeerisime selle keerukuse kaudu Helm'i abiga (mitte mõeldud sõnamänguna) ja paigaldasime usaldusväärse Redmine'i paigalduse.

Selle juhendi kokkuvõtte leiate järgmisest git-repost: https://github.com/lcofre/redmine-on-k8s. Kui jääte kinni, võite võrrelda oma failidega.

Jätsime mõned mõisted arutelu kõrvale, kuna need olid keerulised või selgitus oli pilvepõhine. Nende hulka kuuluvad teie rakenduse elujõulisus ja valmidus, sissetulevate e-kirjade konfiguratsioon ning laiendamine suurema koormuse käsitsemiseks. Andke meile allpool teada, mis teid kõige rohkem huvitab, et saaksime seda tulevases juhendis arutada.

Ultimaatne Redmine'i värskendus? Lihtne.

Hankige kõik võimsad tööriistad täiusliku projekti planeerimiseks, juhtimiseks ja kontrollimiseks ühes tarkvaras.

Proovige Easy Redmine'i 30 päeva tasuta prooviperioodi jooksul

Täielikud funktsioonid, SSL-kaitse, igapäevased varukoopiad, teie geolokatsioonis