Redmine in Kubernetes – Deel 1: Voorbereiden van de omgeving

6/22/2020
6 perc
Lukáš Beňa.

A deze tweedelige serie zullen mi Redmine implementeren Kubernetesben. We zullen aanbevolen tools en werkwijzen gebruiken met als doel het implementeren van een veerkrachtige instantie van Redmine via HTTPS.

We hebben deze how-to in twee delen verdeeld om ons eerst te richten op het Szerszámok telepítése és komponensek die de Redmine-implementatie zal gebruiken. Maar maak je geen zorgen over complexiteit. Zelfs als je nieuw bent in Kubernetes, zal het een begrijpelijke uitleg zijn.

Deze kezelése geschreven om felhő-agnostisch te zijn, dus we hebben opzettelijk alle vermeldingen van de cloud die we hebben gebruikt weggelaten. Laat een reactie achter als je kunt raden welke cloud we hebben gebruikt en vertel ons welk detail het verklapte. We raden je aan om de Kubernetes-service te gebruiken die je je cloud biedt, omdat deze goed geïntegreerd is met andre services die je je cloud ook biedt.

Omgevingen zoals microk8s of minikube worden hier niet beschouwd omdat ze wat meer configuratie vereisen die buiten de Scope van deze handiding valt. In het bijzonder vereist onze HTTPS-konfiguráció dat ons cluster een openbaar IP-cím heeft.


Laten we Helm gebruiken

A Kubernetes egy összetett eszköz konténer-orchestratie. Er zijn veel concepten die we moeten leren om aan de slag te gaan. Gelukkig egy projekt genaamd Sisak dat het abstractieniveau biedt dat we nodig hebben. In hun eigen woorden "Als we de dingen goed deden, konden gebruikers Helm installeren en binnen enkele minuten productieklare off-the-shelf-componenten installeren."

Los van de redenen voor hun namen (het vertelt allemaal het verhaal van een metafoor, Helm, Kubernetes en Containers) vereenvoudigt helm de installatie echt terwijl het ruimte biedt om het összetevő aan onze behoeften aan te passen. We zullen Helm 3 gebruiken, hun nieuwste en nog eenvoudigere versie.

Als je de cloud shell van je cloudprovider gebruikt, is de kans groot dat Helm 3 al beschikbaar is, maar zo niet, dan kun je het installeren volgens de handleiding die de Helm-documentatie biedt, helm.sh/docs/intro/install/. Je moet al toegang hebben tot je klaszter vanaf de opdrachtregel die je gebruikt. Je cloudprovider heeft ook een handiding over hoe je dat moet doen.


Ingress Controller telepítése

Ez het eerste komponens dat we in onze cluster zullen installeren en ook het eerste Kubernetes-concept dat we zullen zien. Een Ingress-controller bevindt zich bij de ingang van uw cluster, ontvangt all webverzoeken en stuurt ze door naar het belső komponens dat verantwoordelijk is voor het beantwoorden van het verzoek. In eerste instantie zal er niemand klaar zijn om te antwoorden, maar wanneer we Redmine installeren, wordt het toegevoegd als een bestemming voor de verzoeken.

Kubernetes biedt de NGINX bemeneti vezérlő die we zullen gebruiken. Hun documentatie legt uit hoe u het kunt installeren met behulp van Helm:

helm repo hozzáadása ingress-nginx https://kubernetes.github.io/ingress-nginx && helm repo frissítés

sisak telepítése ingress-kontroller ingress-nginx / ingress-nginx

De eerste opdracht voegt het repository van applicaties toe waar de Ingress-controller zich bevindt, terwijl de tweede deze installeert in uw cluster. Wanneer het klaar is, zal de opdracht enkele informatie afdrukken om te beginnen, inclusief hoe u Ez a nyílt IP-cím a vezérlőhöz tartozik kunt verkrijgen:

kubectl szolgáltatások - óra

Het resultaat zal iets vergelijkbaars zijn:

NÉV TÍPUSA Klaszter-IP KÜLSŐ-IP PORT (K) KORA

nginx-controller LoadBalancer 10.0.115.117 89.68.23.33 80 / TCP, 443 / TCP 5m22s

vezérlő-felvételi ClusterIP 10.0.135.226 443 / TCP 5m22s

kubernetes ClusterIP 10.0.0.1 443 / TCP 44 óra

Let op het EXTERNAL-IP, want we hebben het nodig in de volgende stap. Het kan gebeuren dat in plaats van een IP de waarde die u daar krijgt van. Het duurt even voordat de cloud een openbaar IP verkrijgt en toewijst aan uw cluster. Wacht gewoon nog een paar seconden en het IP zou beschikbaar moeten zijn.


A DNS A-rekordot tartalmazza

Nu je het IP hebt, kun je gewoon naar een browser gaan en zien hoe je cluster op je reageert. A Natuurlijk zal je cluster, omdat er nog geen applicatie is geïnstalleerd, antwoorden met een "404 Not Found" foutmelding. Mi zullen een DNS-domein maken dat we aan dat IP kunnen koppelen, hopelijk gemakkelijker te onthouden dan een lijst met cijfers en punten.

Hoe je een internetdomein voor je Redmine kunt maken, hangt sterk af van je domeinprovider, maar in alle gevallen maak je uiteindelijk een DNS A-record aan dat een domeinnaam koppelt aan je IP. Zie de volgende schermafbeelding van de DNS-provider no-ip.com als referentie.

Ons DNS A-record aanmaken

De gegevens die je moet invullen, zijn zoals je zou verwachten, de DNS-naam en het IP. No-IP is precies wat we nodig hebben om de creatie van een domein te illustreren, maar je hebt waarschijnlijk een andere DNS-provider gekozen of zult dat doen. Het proces is vrijwel hetzelfde bij allemaal.

Het duurt even voordat het nieuwe record is verspreid, dus je kunt ping gebruiken om te controleren wanneer het IP right wordt opgelost:

ping redminek8s.ddns.net


Következő lépések

Nu we een ingress-controller en een DNS-domein hebben, is het enige wat nog rest, HTTPS konfigurálása a webhelyen és a Redmine telepítőjében. We zullen PostgreSQL als onze database gebruiken, maar je zult zien hoe gemakkelijk het is om alles te configureren met behulp van Helm.

Blijf op de hoogte voor Redmine a Kubernetesben 2. rész: A Redmine telepítése.

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