Redmine a Kubernetesben - Deel 2: Redmine telepítve a Kubernetesben

6/30/2020
8 perc
Lukáš Beňa.

Ez tweede deel van de serie over het implementeren van Redmine in Kubernetes. Az in dit artikel geven we instructions over hoe je een betrouwbare installatie van Redmine kunt implementeren.

Terugblik Deel 1

Op dit moment kijk je vast uit naar de installatie van Redmine op Kubernetes. Daarvoor ben je tenslotte itt, toch?

In Redmine in Kubernetes – Deel 1: Voorbereiden van de omgeving hebben we de Ingress Controller geïnstalleerd, een component om Internetverzoeken binnen je cluster om te leiden, en hebben we een DNS-domein, redminek8s.ddns.net, aangemaakt. Most a HTTPS-t nem konfiguráljuk, és végre kell hajtani a Redmine megvalósítását.


HTTPS találkozott a tanúsítványkezelővel

Hoewel we Redmine als HTTP kunnen houden, a HTTPS szabványos geworden voor webhelyek. Zozeer zelfs dat de legtebrowsers je waarschuwen voor een beveiligingsprobleem wanneer HTTPS niet wordt gebruikt door een website.

Het inschakelen van HTTPS a legnagyobb geen envoudige taak, omdat je een certificaat moet kopen en het moet uploaden naar je site, het na een bepaalde tijd moet vernieuwen en het proces moet herhalen. Cert-manager automatiseert dit alles, inclusief de vernieuwing van certificaten, en verkrijgt zelfs gratis Certified. Je kunt meer informatie vinden op hun oldalon, maar ik zal je alles uitleggen wat je moet weten.


Telepítő tanúsítványkezelő

Voer de volgende stappen uit om cert-manager in je cluster te installeren:

kormányrepo add jetstack https://charts.jetstack.io && helm repo frissítés

sisak telepítése cert-manager jetstack / cert-manager - set installCRDs = true

Eerst voeg je het repository toe waar cert-manager zich bevindt, en vervolgens installeer je de nieuwste versie.


Verbinden met de Certificate Authority

Nu moeten we cert-manager instrueren om verbinding te maken met de door ons gekozen Certificate provider. Mi zullen LetsEncrypt képességeit, een gratis certificaatautoriteit. Maak eerst dit bestand aan (vergeet niet om te vervangen door een echt e-mailadres) en noem het cluster-issuer.yaml

apiVerzió: cert-manager.io/v1alpha2

fajta: ClusterIssuer

metaadatok:

  név: letsencrypt

specifikáció:

  csúcspont:

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

    email:

    privateKeySecretRef:

      név: letsencrypt

    megoldó:

    - http01:

        behatolását:

          osztály: nginx

Voer het vervolgens uit op je cluster met

kubectl apply -f cluster-emiter.yaml

Gefeliciteerd! Het bovenstaande bestand is de eerste kubernetes-configuratie die we schrijven en toepassen op de cluster. Je hebt misschien opgemerkt dat het laat zien hoe je verbinding kunt maken met LetsEncrypt, maar het beschrijft ook de Ingress Controller die we hebben gemaakt in Deel 1 (De class: nginx aan het einde). Dit type configuratie heeft enkele regels met spaties om de afhankelijkheid van sommige eigenschappen op andere aan te geven. Houd die spaties zoals getoond om ervoor te zorgen dat het bestand helyes wordt gelezen en toegepast.

Nu is je fürt HTTPS ingeschakeld. Telkens wanneer we een applikatie installeren, kunnen we deze instrueren om met HTTPS te werken en voilà! Het hele proces van het verkrijgen van het certificaat wordt automatisch achter de schermen uitgevoerd.


Redmine telepítő

Dit is waar we allemaal op hebben gewacht. Tudjuk, hogy Redmine op verschillende manieren installeren, maar veruit de legkényesebb manier is om Helm te gebruiken. Zoals we eerder al deden, voegen we eerst het repository toe waar Redmine zich bevindt.

sisak repo hozzá bitnami https://charts.bitnami.com/bitnami && helm repo frissítés

Maar deze keer maken we in plats van direct te installeren een configuratiebestand aan om aan te geven welk aangepast gedrag we willen dat Redmine vertoont.

We zullen alle configuraties in hun eigen sectie scheiden, maar ze allemaal in hetzelfde bestand plaatsen, één na de ander. Noem het bestand értékeket.yaml.

Alle Helm-toepassingen hebben een values.yaml-bestand met all mogelijke configuraties die aan de toepassing kunnen worden aangebracht. Wanneer we onze eigen values.yaml maken, definiëren we de wijzigingen die we willen. Elke waarde die we niet in ons bestand opnemen, blijft zoals het is in het standaardbestand.

Alle standaardwaarden zijn ook te vinden op de helm-toepassingspagina, https://hub.helm.sh/charts/bitnami/redmine. Végezze el az összes konfigurációt.


Eerste beheerdersgebruiker

Redmine-gebruikersnaam: adminUser

Redmine-wachtword:

Deze stap is net zo noodzakelijk als gemakkelijk te begrijpen. Ez az onze eerste gebruiker op Redmine, degene die we zullen gebruiken om voor de eerste keer in te loggen.

A Wanneer Redmine telepítve van, és a telepítéshez szükséges konfiguráláshoz szükséges.


PostgreSQL-adatbázis

Standard vereist onze Helm-installatie dat er een mariadb-adatbázis wordt aangemaakt. We zullen in plats daarvan onze installatie configureren om PostgreSQL te gebruiken. U moet ook ten minste een wachtwoord toevoegen om toegang te krijgen tot deze database, zoals u hieronder kunt zien.

adatbázis típusa: postgresql

MariaDB:

  engedélyezve: hamis

PostgreSQL:

  engedélyezve: igaz

  postgresqlAdatbázis: Redmine

  postgresql Felhasználónév: Redmine

  postgresqlPassword:

Explicit aan aanze installatie vertellen dat we niet willen dat MariaDB samen met de configuratie voor de PostgreSQL-adatbázis wordt geïnstalleerd.


DNS-naamconfiguratie

De onderstaande configuratie is de kant van de DNS-configuratie die we in deel 1 hebben gedaan. Zoals u kunt zien, schakelen we TLS in, het protokoll achter HTTPS, en stellen we de hostnaam in die we hebben gebruikt bij het maken van onze DNS-record:

behatolását:

  engedélyezve: igaz

  certManager: igaz

  gazdagépnév: redminek8s.ddns.net

  tls: igaz

  jelöléseket:

    kubernetes.io/ingress.class: nginx

    cert-manager.io/cluster-issuer: letecrypt

Ook in de laatste twee regels koppelen we onze applikation met de Ingress Controller en met de Cluster Issuer die we eerder hebben gemaakt.

Most, hogy a Redmine implementáltam az aangepaste konfigurációt:

sisak telepítése Redmine -f értékek.yaml bitnami / redmine

Die regel is vergelijkbaar met andere helm installatieregels die we eerder hebben gebruikt, maar deze keer leveren we een aangepaste values.yaml. Ez de manier om elke Helm-applicatie aan te passen.

Mi hebben nog wat geduld nodig, omdat het maken van de applicatie enige tijd in beslag neemt. A Commando uitvoeren om de status van uw applicatiecontainers te controleren:

kubectl kap hüvelyeket --watch

Het commando geeft iets soortgelijks terug als dit:

NÉV KÉSZ ÁLLAPOT ÚJRAINDÍTÁSI ÉRTÉK

. . .

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

redmine-postgresql-0 1/1 Futás 0 6m40s

U moet wachten tot de status voor beide containers Running is en allemaal klaar zijn met 1/1, wat in mijn geval ongeveer 6 minutes duurde.

Nu is alles klaar om de browser te openen en naar onze nieuwe implementatie te gaan:

Redmine az klaar


Befejezés

A Kubernetes egy olyan komplex eszköz, amely a megvalósítandó alkalmazásokat tartalmazza, és az ajtót a komplexum generálja, mint Helm-et, és a Redmine geïmplementeerd telepítését is elvégezte.

U kunt een samenvatting van deze handleiding vinden in de volgende git-repo: https://github.com/lcofre/redmine-on-k8s. Hasonlítsa össze a gerust et uw bestanden als u vastloopt.

We hebben sommige concepten buiten de diskusija gelaten omdat ze complex waren of de uitleg specifiek voor de cloud was. Hieronder vallen de Liveness en Readiness van uw applicatie, de configuratie van inkomende e-mails en het opschalen om meer belasting aan te kunnen. Laat ons hieronder weten waar u het meest in geïnteresseerd bent, zodat we het in een toekomstige handleiding kunnen bespreken.

Vége a Redmine-frissítésnek? Makkelijk.

Krijg alle krachtige tools voor tökéletes projekttervezés, -beheer en -controle in één szoftver.

Probeer Easy Redmine 30 dagen ingyenes

Volledige functies, SSL-beveiligd, dagelijkse back-ups, in uw geografische locatie