Redmine στο Kubernetes - Deel 2: Εγκαταστάτης Redmine στο Kubernetes

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

Αυτό είναι het tweede deel van de serie πάνω από το het implementeren van Redmine στο Kubernetes. Σε αυτό το άρθρο δίνουμε οδηγίες σχετικά με την εγκατάσταση του Redmine kunt implementeren.

Terugblik Deel 1

Op dit moment kijk je vast uit naar de installatie van Redmine op Kubernetes. Daarvoor ben je tenslotte hier, toch?

In Redmine στο Kubernetes - Deel 1: Voorbereiden van de omgeving hebben we de Ingress Controller geïinstalleerd, een component om internetverzoeken binnen je cluster om te leiden, en hebben we een DNS-domein, redminek8s.ddns.net, aangemaakt. Δεν χρειάζεται να ρυθμίσετε το HTTPS και να χρησιμοποιήσετε το Redmine για την υλοποίηση.


Το HTTPS συναντήθηκε με τον διαχειριστή πιστοποίησης

Το Hoewel we Redmine als HTTP kunnen houden, είναι το HTTPS των τυπικών ιστοσελίδων geworden. Το Zozeer zelfs έχει τα προγράμματα περιήγησης που σας ενδιαφέρει για να δημιουργήσετε προβλήματα με το HTTPS και να δημιουργήσετε έναν ιστότοπο.

Αυτό το HTTPS είναι ένα από τα πιο γνωστά δεδομένα, έχει πιστοποιηθεί για να μεταφορτωθεί ο ιστότοπος, καθώς και να μεταφερθεί στον ιστότοπο. Πιστοποιητικός διαχειριστής αυτοματοποιεί όλες τις πληροφορίες, περιλαμβάνει πιστοποιητικό πιστοποιητικών οχημάτων, και δωρεάν πιστοποιητικό. Je kunt meer informatie vinden op Hun site, maar ik zal je alles uitleggen wat je moet weten.


Πιστοποιητικός-διαχειριστής εγκαταστάτη

Voer de volgende stappen uit om cert-manager in je cluster te installeren:

τιμόνι repo προσθέστε jetstack https://charts.jetstack.io && helm repo ενημέρωση

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 nieuwste versie.


Ο Verbinden συναντήθηκε με την Αρχή Πιστοποιητικών

Nu moeten we cert-manager instrueren om verbinding te maken met de door ons gekozen Πάροχος πιστοποιητικών. Εμείς zullen LetsEncrypt gebruiken, ένα δωρεάν πιστοποιητικό αυτόματα. Maak eerst dit bestand aan (vergeet niet om te vervangen door een echt e-mailadres) en noem het cluster-issuer.yaml

apiVersion: cert-manager.io/v1alpha2

είδος: ClusterIssuer

μεταδεδομένα:

  όνομα: letsencrypt

προδιαγραφή:

  ακμή:

    υπηρέτης: https://acme-v02.api.letsencrypt.org/directory

    ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ:

    privateKeySecretRef:

      όνομα: letsencrypt

    επιλυτές:

    - http01:

        είσοδος:

          τάξη: nginx

Voer het vervolgens uit op je cluster met

kubectl apply -f cluster -issuer.yaml

Gefeliciteerd! Het bovenstaande bestand είναι 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 correct wordt gelezen en toegepast.

Το Nu είναι ένα σύμπλεγμα HTTPS ενσωματωμένο. Telkens wanneer we en applicatie installeren, kunnen we deze instrueren om met HTTPS te werken en voilà! Het hele process van het verkrijgen van het certificaat wordt automatisch achter de schermen uitgevoerd.


Εγκαταστάτης Redmine

Dit is waar we allemaal op hebben gewacht. We kunnen Redmine op verschillende manieren installeren, maar veruit de meest handige manier is om Helm te gebruiken. Zoals we eerder al deden, voegen we eerst het het repository toe waar Redmine zich bevindt.

helm repo προσθέστε bitnami https://charts.bitnami.com/bitnami && helm repo ενημέρωση

Αυτό θα σας βοηθήσει να κάνετε άμεση εγκατάσταση και ρύθμιση παραμέτρων για να λάβετε μια καλή ιδέα για το Redmine Vertoont.

Εμείς zullen alle configurations in hun eigen sectie scheiden, maar ze allemaal in hetzelfde bestand plaatsen, één na de ander. Noem het bestand values.yaml.

Alle Helm-toepassingen hebben een values.yaml-bestand met alle mogelijke configurations 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. Ga gerust alle configurates na.


Eerste beheerdersgebruiker

Redmine-gebruikersnaam: adminUser

Redmine-wachtwoord:

Deze stap είναι καθαρό 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 έχει εγκατασταθεί, και δεν γνώρισε την σύσταση του προγράμματος.


PostgreSQL-βάση δεδομένων

Πρότυπη βεβαιότητα σχετικά με το τιμόνι-εγκατάσταση είναι μια βάση δεδομένων mariadb wordt aangemaakt. Εμείς ελέγχουμε τις ρυθμίσεις για την εγκατάσταση και τη ρύθμιση παραμέτρων της PostgreSQL. U moet ook ten minste een wachtwoord toevoegen om toegang te krijgen tot deze database, zoals u hieronder kunt zien.

Τύπος βάσης δεδομένων: postgresql

mariadb:

  ενεργοποιημένο: false

postgresql:

  ενεργοποιημένο: true

  postgresql Βάση δεδομένων: Redmine

  postgresql Όνομα χρήστη: Redmine

  postgresqlPassword:

Πραγματοποιήσαμε ρητά την εγκατάσταση μιας βάσης δεδομένων που δεν θα γίνει η MariaDB samen συναντήθηκε με τη διαμόρφωση της βάσης δεδομένων PostgreSQL που θα εγκατασταθεί.


DNS-naamconfiguratie

De onderstaande configuratie είναι 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 stellen we de hostnaam in die we hebben gebruikt bij het maken van onze DNS-record:

είσοδος:

  ενεργοποιημένο: true

  certManager: αλήθεια

  όνομα κεντρικού υπολογιστή: redminek8s.ddns.net

  tls: αλήθεια

  σχολιασμοί:

    kubernetes.io/ingress.class: nginx

    cert-manager.io/cluster-issuer: letsencrypt

Ook in de laatste twee regels koppelen we onze applicatie met de Ingress Controller en met de Cluster Issuer die we eerder hebben gemaakt.

Nu kunnen we Redmine implementeren συναντήσαμε onze aangepaste configuratie:

helm εγκαταστήστε Redmine -f Values.yaml bitnami / redmine

Die regel is vergelijkbaar met andere τιμόνι installatieregels die we eerder hebben gebruikt, maar deze keer leveren we een aangepaste values.yaml. Αυτό είναι de manier om elke Helm-applicatie aan te passen.

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

kubectl πάρτε λοβό - ρολόι

Ο κομάντο geeft iets soortgelijks terug als dit:

ΟΝΟΜΑ ΕΤΟΙΜΟ ΚΑΤΑΣΤΑΣΗ ΕΠΑΝΕΚΚΙΝΗΣΗΣ ΗΛΙΚΙΑΣ

. . .

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

redmine-postgresql-0 1/1 Τρέξιμο 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 minn duurde.

Nu is alles klaar om de browser to open en naar onze nieuwe implementatie te gaan:

Το Redmine είναι klaar


Ολοκλήρωση

Το Kubernetes είναι ένα πολύπλοκο εργαλείο για τις εφαρμογές που εφαρμόζονται, καθώς και για την εφαρμογή της πόρτας, αλλά και για την ολοκλήρωση της εφαρμογής του Redmine.

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

We hebben sommige concepten buiten de συζήτησης gelaten omdat ze σύνθετη waren του de uitleg specifiek voor de cloud ήταν. Το Hieronder vallen de Liveness en Readiness για την εφαρμογή του, για τη διαμόρφωση των ενημερωμένων μηνυμάτων e-mail και θα σας ενημερώσει για το πώς να το κάνετε. Laat ons hieronder weten waar u het meest in geïnteresseerd bent, zodat we het in een toekomstige handleiding kunnen bespreken.

Από την τελευταία αναβάθμιση του 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