Redmine v Kubernetes - Deel 2: Instalace Redmine v Kubernetes

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

To je tweede deel van de serie přes implementeren van Redmine v Kubernetes. V tomto článku jsme dostali pokyny k instalaci do Redmine kunt implementeren.

Terugblik Deel 1

Op dit moment kijk je rozsáhlá instalace z Redmine na Kubernetes. Daarvoor ben je tenslotte hier, toch?

In Redmine v Kubernetes - Deel 1: Voorbereiden van de omgeving hebben we de Ingress Controller geïnstalleerd, een komponent om internetverzoeken binnen je cluster om te leiden, en hebben we een DNS-domein, redminek8s.ddns.net, aangemaakt. Bez ohledu na to, že HTTPS není konfigurováno a nyní je implementováno Redmine.


HTTPS se setkal s cert-managerem

Hoewel we Redmine als HTTP kunnen houden, je HTTPS standardem pro webové stránky. Zozeer zelfs dat de meeste browsers je waarschuwen voor een beveiligingsprobleem wanneer HTTPS net wordt gebruikt door een website.

Tento přístup k HTTPS je meestal geen eenvoudige taak, omdat je een certificaat moet kopen and het moet uploaden on a site, het on een bepaalde tijd moet vernieuwen en het process moet herhalen. Cert-manager automatiseert dit alles, inclusief de vernieuwing van certificaten, en verkrijgt zelfs gratis certificaten. Je kunt meer informatie vinden op hun místo, maar ik zal je alles uitleggen wat je moet weten.


Certifikační manažer instalačního programu

Můžete použít cert-manager v clusteru pro instalaci:

kormidlo repo přidat jetstack https://charts.jetstack.io && Helm repo update

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

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


Verbinden se setkal s certifikační autoritou

Nyní jsme cert-manager instrueren om verbinding te made de door ons Gekozen Poskytovatel certifikátu. My zullen LetsEncrypt gebruiken, een gratis certificaatautoriteit. Maak eerst dit best aan (vergeet niet om te vervangen door een echt e-mail address) en noem het cluster-issuer.yaml

apiVersion: cert-manager.io/v1alpha2

druh: ClusterIssuer

metadata:

  jméno: letsencrypt

spec:

  vrchol:

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

    e-mailem:

    privateKeySecretRef:

      jméno: letsencrypt

    řešitelé:

    - http01:

        vstup:

          třída: nginx

Voer het vervolgens uit op je cluster met

kubectl apply -f cluster-emiter.yaml

Gefeliciteerd! Het bovenstaande best is de eerste kubernetes-configuration die we schrijven en toepassen of de cluster. Je hebt misschien opgemerkt dat het laat zien hoe je verbinding kunt made met LetsEncrypt, a to 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 correct wordt gelezen en toegepast.

To je cluster HTTPS ingeschakeld. Potřebujeme instalaci aplikací, potřebujeme používat nástroje HTTPS a používat voilà! Het hele process van het verkrijgen van het certificaat wordt automatisch achter de schermen uitgevoerd.


Instalační program Redmine

Dit is waar we allemaal op hebben gewacht. Používáme Redmine op verschillende manieren installeren, maar veruit de meest handige manier is om Helm te gebruiken. Zoals we eerder al deden, we eerst het repository toe waar Redmine zich bevindt.

kormidlo repo přidat bitnami https://charts.bitnami.com/bitnami && Helm repo update

Maar deze keer made we in plaats van direct te installeren een configuratiebestand aan om aan te geven welk anangepast gedrag we willen dat Redmine vertoont.

Zullen alle configuraties in hun eigen sectie scheiden, maar ze allemaal in hetzelfde bestand plaatsen, één na de ander. Noem het best values.yaml.

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

Alle standaardwaarden zijn ook te vinden op de helm-toepassingspage, https://hub.helm.sh/charts/bitnami/redmine. Ga gerust alle configuraties na.


Eerste beheerdersgebruiker

Redmine-gebruikersnaam: adminUser

Redmine-wachtwoord:

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

Wanneer Redmine je instalátor, který se setkal s několika uživateli, kteří se zabývají instalací všech instalací.


PostgreSQL databáze

Standardní vereist onze Helm-installatie dat er een mariadb-database wordt aangemaakt. Zkontrolujeme, zda je instalace konfigurována pomocí PostgreSQL. U moet ook ten minste een wachtwoord toevoegen om toegang te krijgen tot deze databáze, zoals u hieronder kunt zien.

typ databáze: postgresql

mariadb:

  povoleno: false

postgresql:

  povoleno: true

  PostgresqlDatabase: Redmine

  postgresqlUživatelské jméno: Redmine

  postgresqlHeslo:

Jsme schopni provést instalaci, která bude provedena tak, že nebudeme chtít MariaDB stejně jako konfigurace pro PostgreSQL-database wordt geïnstalleerd.


Konfigurace DNS

Konfigurace onderstaande is de andere kant van de DNS-configuratie die we in deel 1 hebben gedaan. Zoals u kunt zien, schakelen we TLS in, het protocol achter HTTPS, en stell we de hostnaam in die we hebben gebruikt bij het made van onze DNS-record:

vstup:

  povoleno: true

  certManager: pravda

  název hostitele: redminek8s.ddns.net

  tls: pravda

  anotace:

    kubernetes.io/ingress.class: nginx

    cert-manager.io/cluster-issuer: letsencrypt

Podívejte se na laatste twee regels koppelen we onze applicatie with de Ingress Controller and met de Cluster Issuer die we eerder hebben gemaakt.

Pokud jsme implementovali Redmine, setkali jsme se s následující aangepaste konfigurací:

helm install Redmine -f hodnoty.yaml bitnami / redmine

Die regel je vergelijkbaar met andere helm installatieregels die we eerder hebben gebruikt, maar deze keer leveren we een aangepaste values.yaml. Tato aplikace je mnohem složitější.

We hebben nog wat geduld nodig, omdat het made van de applicatie enige tijd in beslag neemt. U kunt dit commando uitvoeren om de status van uw applicatiecontainers you controler:

kubectl get lusky - hodinky

Toto komando geeft is soortgelijks terug als dit:

JMÉNO PŘIPRAVENO STAV RESTARTUJE VĚK

. . .

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

redmine-postgresql-0 1/1 Běh 0 6m40s

U všech stavů před kontejnery Běh je v plném proudu s 1/1, což je 6 minut po XNUMX minutách.

Je vše jasné z prohlížeče, který se otevírá a je nově implementován:

Redmine je jasný


Dokončení

Kubernetes je komplexním nástrojem pro aplikace, které jsou implementovány, a proto jsme vytvořili dveře s komplexním přístupem k práci s van Helmem (geen woordspeling bedoeld) a k instalaci do Redmine.

U kunt een samenvatting van deze handleiding vinden in de volgende git-repo: https://github.com/lcofre/redmine-on-k8s. Vergelijk gerust meet uw bestanden als u vastloopt.

We hebben sommige concepten buiten de diskusní gelaten omdat ze complex waren of de uitleg specifiek voor de cloud was. Hieronder vallen de Liveness a připravenost pro aplikaci, konfiguraci pro zasílání e-mailů a e-mailů, které jsou k dispozici více než jen pro vás. Laat ons hieronder weten waar u het meest in geïnteresseerd bent, zodat we het in een toekomstige handleiding kunnen bespreken.

Poslední upgrade Redmine? Makkelijk.

Používejte všechny nástroje pro dokonalé plánování projektů, ovládání a ovládání v één softwaru.

Probeer Easy Redmine 30 dní zdarma

Volledige funkce, SSL-beveilidge, dagelijkse back-ups, in uw geografische locatie