Redmine στο Kubernetes - Deel 1: Voorbereiden van de omgeving

6/22/2020
6 λεπτά
Lukáš Beňa.

Στο deze tweedelige serie zullen we Redmine implementeren στο Kubernetes. Εμείς zullen aanbevolen tools en werkwijzen gebruiken met als doel het implementeren van een veerkrachtie instantie van Redmine μέσω HTTPS.

We hebben deze how-to in twee delen verdeeld om ons eerst te richten op het Εγκαταστήστε τα εργαλεία και τα συστατικά στοιχεία die de Redmine-implementatie zal gebruiken. Αυτό είναι ένα πολύπλοκο αποτέλεσμα. Zelfs als je nieuw bent in Kubernetes, zal het een begrijpelijke uitleg zijn.

Deze handleiding είναι geschreven om σύννεφο-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 cloud biedt, omdat deze goed geïntegreerd συναντάται andere services die je cloud ook biedt.

Omgevingen zoals microk8s του minikube worden hier niet beschouwd omdat ze wat meer configuratie vereisen die buiten de scope van deze handleiding valt. Στο het bijzonder vereist onze Διαμόρφωση HTTPS cluster dat ons en openbaar IP-adres heeft.


Laten we Helm gebruiken

Το Kubernetes είναι ένα πολύπλοκο εργαλείο κοντέινερ-ορχηστρωτική. Er zijn veel concepten die we moeten leren om aan de slag te gaan. Ο Gelukkig είναι er een project genaamd Πηδάλιο dat het abstractieniveau biedt dat we nodig hebben. Στο 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 τιμόνι de installatie echt terwijl het ruimte biedt om het component 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 cluster vanaf de opdrachtregel die je gebruikt. Ο cloudprovider heeft ook een handleiding over hoe je dat moet doen.


Εγκαταστάτης του ελεγκτή εισόδου

Αυτό είναι het eerste συστατικό dat εμείς στο 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 alle webverzoeken en stuurt ze door naar het interne component 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 die we zullen gebruiken. Hun documentatie legt uit hoe u het kunt installeren met behulp van Helm:

τιμόνι repo προσθέστε ingress-nginx https://kubernetes.github.io/ingress-nginx && helm repo ενημέρωση

τιμόνι εγκαθιστώστε το ingress-controller ingress-nginx / ingress-nginx

De eerste opdracht voegt het het repository van applicates 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 Οι ανοιχτές διευθύνσεις IP του ελεγκτή είναι διαθέσιμες kunt verkrijgen:

kubectl get υπηρεσίες --watch

Αποτελέσματα για το zal iets vergelijkbaars zijn:

ΟΝΟΜΑ ΤΥΠΟΣ CLUSTER-IP ΕΞΩΤΕΡΙΚΗ Θύρα IP (Η) ΗΛΙΚΙΑΣ

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

ClusterIP ελεγκτή-εισαγωγής 10.0.135.226 443 / TCP 5m22s

kubernetes ClusterIP 10.0.0.1 443 / TCP 44 ώρες

Ας op het ΕΞΩΤΕΡΙΚΟ-IP, θέλουμε εμείς hebben het nodig in de volgende stap. Het kan gebeuren dat in plaats van een IP de waarde die u daar krijgt είναι. Het duurt ακόμη και 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.


Αποκτήστε μια εγγραφή DNS

Δεν υπάρχει IP hebt, kun je gewoon naar een browser gaan en zien hoe je cluster op je reageert. Natuurlijk zal je cluster, omdat er nog geen applicatie is geïinstalleerd, antwoorden met en "404 Not Found" foutmelding. Εμείς zullen een DNS-domein maken dat we aan dat IP kunnen kopelen, 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, δεν είναι δυνατή η εγγραφή όλων των δεδομένων DNS A-record aan dat een domeinnaam koppelt aan je IP. Αναφέρετε τον παροχέα DNS no-ip.com για το schermafbeelding.

Γίνεται μια εγγραφή DNS A

De gegevens die je moet invullen, zijn zoals je zou verwachten, από το DNS-naam και την IP. Το No-IP είναι precies wat we nodig hebben om de creatie van een domain te illustreren, maar je hebt waarschijnlijk en andere DNS-provider gekozen of zult dat doen. Η διαδικασία Het είναι vrijwel hetzelfde bij allemaal.

Het duurt ακόμη και voordat het nieuwe record is verspreid, dus je kunt ping gebruiken om te controleren wantneer het IP correct wordt opgelost:

ping redminek8s.ddns.net


Επόμενα βήματα

Nu we een ingress-controller en en DNS-domein hebben, is het enige wat nog rest, Το HTTPS διαμορφώνει τον ιστότοπο και τον εγκαταστάτη του Redmine. Εμείς zullen PostgreSQL als onze βάση δεδομένων gebruiken, μάαρ je zult zien hoe gemakkelijk et είναι om alles te configureren met behulp van Helm.

Blijf op de hoogte voor Redmine στο Kubernetes Μέρος 2: Εγκατάσταση του Redmine.

Από την τελευταία αναβάθμιση του Redmine; Makkelijk.

Krijg alle krachtige εργαλεία για τέλειο σχεδιασμό έργου, -beheer en -controle στο λογισμικό één.

Probeer Easy Redmine 30 dagen δωρεάν

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