Redmine Kubernetesissa - Osa 2: Redminen asentaminen

6/30/2020
8 minuter
Lukáš Beňa
Tämä on toinen osa sarjasta Redminen käyttöönotosta Kubernetes-ympäristöön. Tässä artikkelissa annamme ohjeet luotettavan Redmine-asennuksen käyttöönottoon.

Kertomus osa 1

Nyt sinun täytyy odottaa Redminen asennusta Kubernetesiin. Loppujen lopuksi siihenhän tulit, eikö niin?

Redmine Kubernetesissa - Osa 1: Ympäristön valmistelu -Artikel som är inbyggd i Ingress Controllerin, komponenten, ohjaa internet-pyynnöt klusterin sisällä, och loimme DNS-verkkotunnuksen, redminek8s.ddns.net. Nyt meidän tarvitsee enää konfiguroida HTTPS ja olemme valmiita asentamaan Redminen.


HTTPS cert-managerin avulla

Vaikka voisimme pitää Redminen HTTP-protokollalla, HTTPS on tullut standardiksi verkkosivustoille. Useimmat selaimet varoittavat turvallisuusongelmasta, kun HTTPS-protokolla ei käytetä.

HTTPS:n käyttöönotto ei yleensä ole triviaali tehtävä, sillä sinun täytyy ostaa sertifikaatti ja ladata se sivustollesi, uusia se tietyn ajan kuluttua ja toistaa prosessi. Cert-manager automatisoi kaiken tämän, mukaan lukien sertifikaattien uusimisen, ja hankkii jopa ilmaisia ​​sertifikaatteja. Voit lukea lisää heidän sivustoltaan, mutta selitän seuraavaksi kaiken, mitä sinun tarvitsee tietää.


Asenna cert-manager

Suorita seuraavat vaiheet cert-managerin asentamiseksi klusteriisi:

rodret repo lägg till jetstack https://charts.jetstack.io && helm repo-uppdatering

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

Lisää ensin repository, jossa cert-manager sijaitsee, ja sitten asenna sen uusin versio.


Yhdistä sertifikaattiviranomaiseen

Nyt meidän täytyy ohjeistaa cert-manager yhdistämään valitsemaamme sertifikaattitarjoajaan. Käytämme LetsEncryptiä, ilmaista sertifikaattiviranomaista. Luo ensin tämä tiedosto (muista korvata oikealla sähköpostiosoitteella) ja nimeä se cluster-issuer.yaml:

Apiversion: cert-manager.io/v1alpha2

typ: ClusterIssuer

Metadata:

  namn: letsencrypt

spec:

  höjdpunkt:

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

    e-post:

    PrivateKeysCretref:

      namn: letsencrypt

    lösare:

    - http01:

        inträde:

          klass: nginx

Sitten soveltaa sitä klusteriisi komennolla

kubectl applicera -f cluster-emittent.yaml

Onneksi olkoon! Yllä oleva tiedosto on ensimmäinen Kubernetes-konfiguraatio, jonka kirjoitamme ja sovellimme klusteriin. Huomaat ehkä, että se näyttää, miten yhdistetään LetsEncryptiin, mutta se kuvaa myös Ingress Controllerin, jonka loimme Osa 1:ssä (klass: nginx lopussa). Tällaisessa konfiguraatiossa on joitain rivejä välilyöntejä, jotka osoittavat, että jotkin ominaisuudet riippuvat toisista ominaisuuksista. Pidä nämä välilyönnit samoina kuin esimerkissä, jotta tiedosto luetaan ja sovelletaan oikein.

Nyt klusterisi tukee HTTPS:ää. Aina kun asennamme sovelluksen, voimme ohjeistaa sen toimimaan HTTPS:n kanssa ja voilà! Koko sertifikaatin hankintaprosessi tapahtuu automaattisesti taustalla.


Redminen asentaminen

Tätä me kaikki odotimme. Voimme asentaa Redminen muutamalla eri tavalla, mutta ehdottomasti kätevin tapa on käyttää Helm-ohjelmaa. Kuten aiemmin teimme, ensin lisäämme Redminen repositoryn

helm repo lägg till bitnami https://charts.bitnami.com/bitnami && helm repo-uppdatering

Mutta tällä kertaa emme asenna heti, vaan luomme konfiguraatiotiedoston, jolla voimme määrittää haluamamme Redminen mukautetun käyttäytymisen.

Erottamme kaikki konfiguraatiot omiin osioihinsa, mutta laitamme ne kaikki samaan tiedostoon, peräkkäin. Nimeä tiedosto values.yaml.

Kaikilla Helm-sovelluksilla på values.yaml-tiedosto, jossa på kaikki sovellukseen mahdollisesti tehtävät konfiguraatiot. Kun luomme oman values.yaml-tiedoston, määrittelemme haluamamme muutokset. Kaikki arvot, joita emme sisällytä tiedostoomme, jäävät sellaisiksi kuin ne ovat oletustiedostossa.

Kaikki oletusarvot löytyvät myös Helm-sovelluksen sivulta, https://hub.helm.sh/charts/bitnami/redmine. Mene eteenpäin ja tarkista kaikki konfiguraatiot.


Ensimmäinen pääkäyttäjä

Redmine-käyttäjänimi: adminUser

Redmine-salasana:

Tämä vaihe on yhtä välttämätön kuin helppo ymmärtää. Tämä on ensimmäinen käyttäjä Redminessä, jota käytämme ensimmäistä kertaa kirjautumiseen.

Kun Redmine on asennettu, voit käyttää tätä käyttäjää uuden asennuksesi määrittämiseen.


PostgreSQL-tietokanta

Oletuksena Helm-asennuksemme vaatii mariadb-tietokannan luomista. Sen sijaan määritämme asennuksemme käyttämään PostgreSQL:ää. Sinun täytyy myös lisätä vähintään salasana tälle tietokannalle, kuten alla näet

DatabaseType: PostgreSQL

Mariadb:

  aktiverad: falsk

PostgreSQL:

  aktiverad: sant

  postgresqlDatabas: Redmine

  postgresql Användarnamn: Redmine

  postgresqlPassword:

Meidän täytyy nimenomaisesti kertoa asennuksellemme, ettemme halua MariaDB:n asentuvan PostgreSQL-tietokannan konfiguraation kanssa.


DNS-nimen määritys

Alla oleva määritys på DNS-määrityksen toinen puoli, jonka teimme osassa 1. Kuten näet, otamme käyttöön TLS:n, HTTPS:n taustalla olevan protokoll, ja asetamme käyttämämme isäntänimen, kun loimme DNS-tietuemme:

inträde:

  aktiverad: sant

  certManager: sant

  värdnamn: redminek8s.ddns.net

  tls: sant

  annoteringar:

    kubernetes.io/ingress.class: nginx

    Cert-manager.io/cluster-issuer: LETSENCRYPT

Viimeisissä kahdessa rivissä linkitämme sovelluksemme Ingress Controlleriin ja aiemmin luomaamme Cluster Issueriin.

Nyt voimme asentaa Redminen mukautetulla määrityksellämme:

helm installera Redmine -f Values.yaml bitnami / redmine

Tuo rivi på samankaltainen kuin muut helm install -rivit, joita käytimme aiemmin, mutta tällä kertaa annamme mukautetun values.yaml-tiedoston. Tämä på tapa mukauttaa mitä tahansa Helm-sovellusta.

Tarvitsemme vielä hieman kärsivällisyyttä, koska sovelluksen luominen vie jonkin aikaa. Voit suorittaa tämän komennon tarkistaaksesi sovelluksesi konttien tilan:

kubectl få skidor - klocka

Kommentar palauttaa jotain tällaista:

NAMN KLAR STATUS ÅTERSTART Åldern

. . .

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

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

Sinun on odotettava, kunnes molempien konttien tila on Running ja kaikki ovat valmiita 1/1, mikä minun tapauksessani kesti noin 6 minutetia.

Nyt kaikki på valmista avata selain ja siirtyä uuteen asennukseemme:

Redmine på valmis


Sammanfattning

Kubernetes on monimutkainen työkalu sovellusten käyttöönottoon, mutta navigoimme tuon monimutkaisuuden läpi Helmin (ei tarkoituksellisesti) avulla ja asensimme luotettavan Redmine-asennuksen.

Voit löytää tämän ohjeen yhteenvedon seuraavasta git-reposta: https://github.com/lcofre/redmine-on-k8s. Voit vertailla omia tiedostoja, jos jäät jumiin.

Jätimme keskustelun ulkopuolelle joitain käsitteitä, koska ne olivat monimutkaisia ​​tai selitys oli pilviympäristökohtainen. Näihin kuuluvat sovelluksesi Liveness ja Readiness, saapuvien sähköpostien määritys ja skaalaaminen lisääntyneen kuorman käsittelemiseksi. Kerro meille alla, mikä kiinnostaa sinua eniten, jotta voimme keskustella siitä tulevassa ohjeessa.

Viimeisin Redmine-päivity? Helppoa.

Saat kaikki tehokkaat työkalut täydelliseen projektisuunnitteluun, hallintaan ja valvontaan yhdessä ohjelmistossa.

Kokeile Easy Redmine -ohjelmaa 30 päivän ilmaisella kokeilujaksolla

Täydet ominaisuudet, SSL-suojattu, päivittäiset varmuuskopiot, sijaintisi mukaan