Redmine a Kubernetesben - Deel 2: Redmine telepítve a Kubernetesben
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.