Redmine w Kubernetes - Deel 2: Instalacja Redmine w Kubernetes

6/30/2020
8 minut
Łukasz Beňa.

Jest to tweede deel van deel nad implementacją Redmine w Kubernetes. W tym artykule mamy instrukcje dotyczące motyki, które są instalowane przez Redmine kunt implementeren.

Terugblik Deel 1

Op dit moment kijk je rozległy uit naar de installatie van Redmine na Kubernetes. Daarvoor ben je tenslotte hier, toch?

In Redmine w Kubernetes – Deel 1: Voorbereiden van de omgeving hebben my de Ingress Controller geïnstalleerd, een komponent om internetverzoeken binnen je klaster om te leiden, en hebben my een DNS-domein, redminek8s.ddns.net, aangemaakt. Możesz także skonfigurować HTTPS i zijn, a my Klaar om Redmine i wdrożyć.


HTTPS spotkał się z menedżerem certyfikatów

Hoewel my Redmine jako HTTP kunnen houden, to standardowy protokół HTTPS dla stron internetowych. Zozeer zelfs dat de meeste przeglądarek je waarschuwen voor een beveiligingsproblemem wanneer HTTPS niet wordt gebruikt drzwi een stronie internetowej.

Inschakelen z HTTPS to meestal geen eenvoudige 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 certyfikatn, en verkrijgt zelfs gratis certyfikatn. Je kunt meer informatie viden op witryna hun, maar ik zal je alles uitleggen wat je moet weten.


Menedżer certyfikatów instalatora

Możesz użyć menedżera certyfikatów w klastrze, aby zainstalować:

repozytorium sterów dodaje jetstack https://charts.jetstack.io Aktualizacja repozytorium sterów &&

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.


Sprawdź z urzędem certyfikacji

Nu moeten my cert-manager instrueren om verbinding te maken met de gate ons gekozen Certyfikat dostawcy. Możemy wykorzystać LetsEncrypt do uzyskania bezpłatnego certyfikatu autoryzacji. Maak eerst dit bestand aan (vergeet niet om te vervangen drzwi een echt e-mailadres) en noem het Cluster-issuer.yaml

Wersja api: cert-manager.io/v1alpha2

rodzaj: ClusterIssuer

metadane:

  nazwa: letsencrypt

specyfikacja:

  kulminacja:

    server: https://acme-v02.api.letsencrypt.org/directory

    e-mail:

    prywatnyKeySecretRef:

      nazwa: letsencrypt

    solwery:

    - http01:

        ingres:

          klasa: nginx

Voer het vervolgens uit op je klaster met

kubectl stosuje -f klaster-emiter.yaml

Gefeliciteerd! Het bovenstaande bestand jest de eerste kubernetes-configuratie die we schrijven en toepassen op de klaster. Jest to możliwe, ponieważ jest to powiązane z LetsEncrypt, które umożliwia korzystanie z kontrolera Ingress w Deel 1 (Klasa: 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 poprawne słowot gelezen en toegepast.

To jest klaster HTTPS ingeschakeld. Telkens chce, żebyśmy instalowali aplikacje, potrafimy struować instrukcje dotyczące HTTPS, które werken pl voilà! Het hele proces van het verkrijgen van het certificaat wordt automatisch achter de schermen uitgevoerd.


Zainstaluj Redmine

To jest waar we allemaal op hebben gewacht. Mamy Redmine na verschillende manieren installeren, możemy zobaczyć, jak możesz używać Helm te gebruiken. Zoals we eerder al deden, voegen tworzymy het repozytorium toe waar Redmine zich bevindt.

repozytorium sterów dodaj bitnami https://charts.bitnami.com/bitnami Aktualizacja repozytorium sterów &&

Możesz to zrobić w formie bezpośredniej instalacji, która będzie konfigurowana, aan om aan te geven welk aangepast gedrag we willen dat Redmine veroont.

Mamy wszystkie konfiguracje w hun eigen sectie scheiden, maar ze allemaal w hetzelfde bestand plaatsen, één na de ander. Noem het bestandvalues.yaml.

Wszystkie Helm-toepassingen hebben een wartości.yaml-bestand spełniają wszystkie możliwe konfiguracje die aan de toepassing kunnen worden aangebracht. Wanneer we onze eigenvalues.yaml maken, definiëren we de wijzigingen die we willen. Elke waarde die we nie in ons bestand opnemen, blijft zoals het jest w het standaardbestand.

Alle standaardwaarden zijn ook te vinden op de helm-toepassingspagina, https://hub.helm.sh/charts/bitnami/redmine. Ga gerust alle konfiguracje na.


Eerste beheerdersgebruiker

Redmine-gebruikersnaam: adminUser

Redmine-wachtwoword:

Deze stap to 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 jest zainstalowany, możesz go użyć do konfiguracji krijgen globalnej instalacji.


Baza danych PostgreSQL

Standardowy vereist onze Helm-installatie dat een mariadb-database wordt aangemaakt. Możemy korzystać z platform, które umożliwiają instalację konfiguracji PostgreSQL w ten sposób. U moet ook ten minste een wachtwoord toevoegen om toegang te krijgen tot deze Database, zoals u hieronder kunt zien.

DatabaseType: postgresql

mariadb:

  włączone: fałsz

postgresql:

  włączone: prawda

  postgresqlBaza danych: Redmine

  postgresqlNazwa użytkownika: Redmine

  postgresqlHasło:

Możemy wyraźnie powiedzieć, że instalacja jest całkowicie stabilna, ponieważ nie chcemy, aby MariaDB była sama konfigurowana przez słowo instalacji bazy danych PostgreSQL.


Konfiguracja DNS

Ta konfiguracja jest inna, niż istnieje możliwość konfiguracji DNS w jednym miejscu. Zoals u kunt zien, schakelen we TLS in, het Protocol achter HTTPS, en stellen my de hostnaam in die we hebben gebruikt bij het maken van onze DNS-record:

ingres:

  włączone: prawda

  certManager: prawda

  nazwa hosta: redminek8s.ddns.net

  tls: prawda

  adnotacje:

    kubernetes.io/ingress.class: nginx

    cert-manager.io/cluster-issuer: Letencrypt

Spójrz na wszystkie nasze reguły koppelen, które możemy zastosować do kontrolera Ingress i wystawcy klastra, który możemy zobaczyć.

Teraz możemy wdrożyć Redmine z konfiguracją wklejenia:

ster instaluje Redmine -f values.yaml bitnami / redmine

Die regel jest vergelijkbaar met andere helm installatieregels die we eerder hebben gebruikt, maar deze keer Leveren we een aangepastevalues.yaml. To jest de manier om elke Helm-aplicatie 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 dostać strąki - zegarek

Het Commando geeft iets soortgelijks terug als dit:

NAZWA STAN GOTOWY URUCHAMIA SIĘ PONOWNIE WIEK

. . .

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

redmine-postgresql-0 1/1 Bieganie 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 minuten duurde.

Nu is alles om de przeglądarki te openen en naar onze nieuwe implementatie te gaan:

Redmine jest klarowny


Zakończenie

Kubernetes jest złożonym narzędziem do zastosowań, które można wdrożyć, a my możemy je kompleksowo utworzyć za pomocą narzędzia Helm (zdefiniowanie słów) w ramach prostej instalacji Redmine.

Możesz to zrobić samodzielnie, obsługując vinden w Volgende git-repo: https://github.com/lcofre/redmine-on-k8s. Vergelijk gerust met uw bestenden als u Vastloopt.

Mamy hebben sommige concepten buiten de talkie gelaten omdat ze złożonym waren of 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 bestanding aan te kunnen. Laat ons hieronder weten waar u het meest in geïnteresseerd bent, zodat we het in een toekomstige handleiding kunnen bespreken.

Ostatnia aktualizacja Redmine? Makkelijk.

Wszystkie narzędzia krachtige umożliwiające doskonałe planowanie projektów, -beheer en -controle w jednym oprogramowaniu.

Probeer Easy Redmine 30 dni za darmo

Pełne funkcje, SSL-beveiligd, kopie zapasowe dagelijkse, w uw geografische locatie