Redmine w Kubernetes - Partea 2: Instalarea Redmine

6/30/2020
8 minut
Lukáš Beňa -> Lukáš Beňa
Aceasta jest dwuczęściową seriei despre implementarea Redmine w Kubernetes. W tym artykule znajdziesz instrukcje dotyczące instalacji lub instalacji w Redmine.

Relacja z części 1

Până acum, cu siguranță aștepți cu nerăbdare instalarea Redmine pe Kubernetes. Acesta este motivul pentru care ai venit, nu-i așa?

w Redmine in Kubernetes - Część 1: Przygotowanie środowiska, instaluję Ingress Controller, un component pentru redirecționarea cererilor de internet in interiorul clusterului tău, și am creat un domeniu DNS, redminek8s.ddns.net. Uzyskaj dostęp do konfiguracji HTTPS, a następnie zaimplementuj Redmine.


Menedżer certyfikatów HTTPS cu

Deși am putea păstra Redmine-ul nostru ca HTTP, HTTPS devenit standardul pentru site-uri web, atât de mult încât majoritatea browserelor te avertizează cu privire la o problemă de securitate atunci când un site nu usează HTTPS.

De obicei, activarea HTTPS nu este o sarcină trivială, deoarece trebuie să cumperi un certificat și să-l încarci pe site-ul tău, să-l reînnoiești după un anumit timp și să repeți procesl. Cert-manager automatizează toate acestea, inclusiv reînnoirea certificatelor și chiar obținerea de certificate gratuite. Poți vedea mai multe informații pe ich strona internetowa, dar îți voi exlica tot ce trebuie să știi în continuare.


Zainstaluj menedżera certyfikatów

Wykonaj următorii pași pentru a instala cert-manager w klastrze tău:

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

helm install cert-manager jetstack / cert-manager --set installCRDs = true

Mai întâi adaugi depozitul unde se află cert-manager, apoi instalezi ultima w wersji.


Conectare la Autoritatea de Certificare

Acum trebuie să instruim cert-manager să se conecteze la furnizorul de certificate pe care îl alegem. Vom folosi LetsEncrypt lub autorytatywny certyfikat za darmo. Creează mai întâi acest fișier (nu uita să înlocuiești cu o adresă de e-mail reală) și numește-l 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

Aplică-l apoi în Clusterul tău cu

kubectl stosuje -f klaster-emiter.yaml

Powodzenia! Fișierul de mai sus este prima configurație Kubernetes pe care o scriem și o aplicăm w klastrze. Poate ai obserwacja că arată cum să te conectezi la LetsEncrypt, dar descrie și Ingress Controller-ul pe care l-am creat în Partea 1 (klasa: nginx la sfârșit). Acest tip de configurație are câteva linii cu spații pentru a indica Dependența unor proprietăți de altele. Păstrează aceste spații așa cum sunt prezentate pentru a te asigura că fișierul este citit și aplicat corect.

Acum Clusterul jest aktywowany przez HTTPS. Możesz to zrobić lub zainstalować aplikację, lub umieścić instrukcję w funkcji HTTPS i voilà! Întregul proces de obținere a certificatului va fi realizat automat în spatele scenei.


Instalacja Redmine

Aceasta este ceea ce am asteptat cu totii. Zainstaluj Redmine w wielu modach, dzięki czemu możesz cieszyć się estetyką Helm. Asa cum am facut deja, mai intai adaugam depozitul unde se afla Redmine

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

Dar de data aceasta, in loc sa installati inmediat, vom crea un fisier de configurare, pentru a indica un comportament personalizat pe care dorim sa-l aiba Redmine.

Vom separa toate configurarile in propria lor sectiune, dar le vom pune toate in acelasi fisier, unul dupa altul. Numele fisierului va fi wartości.yaml.

Toate aplicatiile Helm au un fisier values.yaml cu toate configurarile posibile care pot fi facute pentru aplicatie. Cand cream propriul values.yaml, definit modificarile pe care le dorim. Orice valoare pe care nu o includem in fisierul nostru va fi lasata asa cum este in fisierul implicit.

Toate valorile implicite pot fi gasite si pe pagina aplicatiei Helm, https://hub.helm.sh/charts/bitnami/redmine. Weryfikacja konfiguracji.


Główny administrator utylizatora

Redmine Nazwa użytkownika: adminUser

RedminePassword:

Acest pas este la fel de necesar ca siusor de inteles. Este primul nostru utilizator pe Redmine, cel pe care il vom folosi pentru a ne conecta pentru prima data.

Cand Redmine jest instalowany, można uzyskać dostęp do aplikacji z dostępem do narzędzia, które umożliwia konfigurację obszaru instalacyjnego dumneavoastra.


Baza danych PostgreSQL

Implicit, instalarea noastra Helm va necesita crearea unei baze de date mariadb. W schimb, vom configura installarea noastra sa foloseasca PostgreSQL. Trebuie sa adaugati cel putin o parola pentru a accesa aceasta baza de date, asa cum puteti vedea mai jos

DatabaseType: postgresql

mariadb:

  włączone: fałsz

postgresql:

  włączone: prawda

  postgresqlBaza danych: Redmine

  postgresqlNazwa użytkownika: Redmine

  postgresqlPassword:

Trebuie w trybie jawnej instalacji, które można znaleźć w bazie danych MariaDB, aby zainstalować impreuna cu configurarea bazy danych PostgreSQL.


Skonfiguruj obszar numerów DNS

Configurarea de mai jos este partea cealaltă a configurării DNS pe care am făcut-o în Partea 1. După cum puteți vedea, activăm TLS, protocolul din spatele HTTPS, și setăm numele gazdei pe care l-am folosit la crearea înregistrării noastre DNS :

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

De asemenea, w ultimele două linii legăm aplicația noastră cu Controlerul Ingress și cu Emitentul Cluster pe care l-am creat anterior.

Zastosowano tę implementację Redmine cu konfigurația noastră personalizată:

ster instaluje Redmine -f values.yaml bitnami / redmine

Această linie este podobne cu alte linii helm install pe care le-am folosit anterior, dar de data aceasta furnizăm un values.yaml personalizat. Acesta este modul de personaliza orice aplicație Helm.

Mai avem nevoie de puțină răbdare, deoarece crearea aplicației durează ceva timp. Puteți executa această comandă pentru a verifica starea Containerelor aplicației:

kubectl dostać strąki - zegarek

Comanda va returna ceva podobne cu acesta:

IMIĘ IMIĘ GOTOWY STATUS WZNOWUJE WIEK

. . .

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

redmine-postgresql-0 1/1 Bieganie 0 6m40s

Trebuie să așteptați până când starea ambelor containere este Running și toate sunt pregătite 1/1, ceea ce în cazul meu a durat aproximativ 6 minut.

Acum totul este pregătit pentru a deschide Browsel și a merge la noua noastră implementare:

Redmine este pregătit


Konkluzja

Kubernetes este o unealtă complexă pentru aimplementa aplicații, dar am navigat prin acea complexitate cu ajutorul lui Helm (fără joc de cuvinte) și am implementat o instalare fiabilă a Redmine.

Puteți găsi un rezumat al acestui ghid în următorul depozit git: https://github.com/lcofre/redmine-on-k8s. Nu ezitați să comparați cu fișierele dvs. dacă întâmpinați probleme.

Am lăsat unele concepte din discuție pentru că erau complexe sau objaśnienia specyficzne dla epoki pentru cloud. Printre acestea se numără Liveness și Readiness a aplicației dvs., configurarea mesajelor primite și scalarea pentru a gestiona mai multe încărcări. Vă rugăm să ne spuneți mai jos ce vă interesează cel mai mult, astfel încât să putem discuta despre acestea într-un ghid viitor.

Zaktualizuj ostateczną wersję Redmine? Ușoară.

Obțineți toate instrumentele puternice pentru planificarea, gestionarea și controlul Perfect al proiectelor într-un singur software.

Încercați Easy Redmine w 30 zile de încercare za darmo

Pełna funkcjonalność, ochrona SSL, kopia zapasowa uri zilnice, w geolocalizarea dvs.