Redmine v Kubernetes - Deel 2: Instalace Redmine v Kubernetes
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.