Redmine v Kubernetes - næste 2: Installer Redmine

6/30/2020
8 minutter
Lukáš Beňa.

Toto je druhá část serie o nasazení Redmine do Kubernetes. V tomto článku poskytneme pokyny, jak nasadit spolehlivvou instalaci Redmine.

Počítání části 1

Du kan installere Redmine på Kubernetes. Přece jenom, kvůli tomu jste přišli, že ano?

V Redmine på Kubernetes - første del: Příprava prostředí jsme nainstalovali Ingress Controller, der er en del af internetforsynet med uvnitř vašeho clusteru, og vytvorili jsme DNS doménu redminek8s.ddns.net. Nyt už jen potřebujeme nakonfigurovat HTTPS a jsme připraveni nasadit Redmine.


HTTPS s cert-managerem

Jeg když bychom mohli ponechat náš Redmine jako HTTP, HTTPS er standard for weboverførsel, takže většina prohlížečů vás varuje or bezpečnostních problémech, pokud HTTPS není používáno.

Zapnutí HTTPS obvykle není triviální úkol, protože musíte koupit certifikát a nahrát ho na svůj web, obnovovat ho po určité době en opakovat Celý proces. Cert-manager automatisering všechno toto, včetně obnovy certifikátů og dokonce získává zdarma certikáty. Vice informací naleznete na jejich stránkách, ale vše, co potřebujete vědět, vám vysvětlím níže.


Installer cert-manageru

Pro instalaci cert-manageru og vašem clusteru proveďte následující kroky:

roret repo tilføj jetstack https://charts.jetstack.io && roret repo-opdatering

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

Nejprve přidáte repozitář, kde se cert-manager nachází, en poté nainstalujete jeho nejnovější verzi.


Připojení k certifikační autoritě

Nyní musíme instruovat cert-manager, aby se připojil k certifikačnímu poskytovateli, kterého si vybereme. Použijeme LetsEncrypt, bezplatnou certifikatční autoritu. Nejprve vytvořte tento soubor (nezapomeňte nahradit skutečnou e-mailovou adresseou) a pojmenujte ho cluster-issuer.yaml

apiVersion: cert-manager.io/v1alpha2

slags: ClusterIssuer

metadata:

  navn: letsencrypt

spec:

  acme:

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

    e-mail:

    privateKeySecretRef:

      navn: letsencrypt

    løsere:

    - http01:

        indtrængning:

          klasse: nginx

Poté ho aplikujte na svůj cluster pomocí

kubectl anvende -f klyngeudsteder.yaml

Blahopřejeme! Soubor výše er první konfigurace Kubernetes, kterou píšeme and aplikujeme na cluster. Možná jste si všimli, že ukazuje, jak se připojit k LetsEncrypt, ale také popisuje Ingress Controller, který jsme vytvořili v části 1 (Třída: nginx na konci) Tento type konfigurace má některé meřenzami, arýjsme vytvořili v části XNUMX (Třída: nginx na konci) ch vlastností na jiných . Tyto mezery ponechte tak, jak jsou, abyste zajistili, že soubor bude správně přečten a aplikován.

Nyt er en klynge tilgængelig for HTTPS. Kdykoli nainstalujeme aplikaci, můžeme ji instruovat, aby pracovala s HTTPS a voilà! Celý process získání certifikátu bude automaticky proveden pozadu.


Installer Redmine

Til jsme všichni čekali. Redmine můžeme nainstalovat několika způsoby, ale nejpohodlnější způsob je použít Helm. Nejprve přidáme repozitář, kde se Redmine nachází, stejně jako jsme již dělali dříve.

roret repo tilføj bitnami https://charts.bitnami.com/bitnami && roret repo-opdatering

En tentokrát místo instalace ihned vytvoříme konfigurační soubor, abychom určili některé vlastní chování, které chceme, aby Redmine měl.

Všechny konfigurace rozdělíme do vlastní sekce, ale všechny je uložíme do stejného souboru, jeden po druhém. Soubor pojmenujeme values.yaml.

Všechny aplikace Helm mají soubor values.yaml s všemi možnými konfiguracemi, které lze provést na aplikaci. Když vytvoříme vlastní values.yaml, definujeme změny, které chceme. Jakákoliv hodnota, kterou nezahrneme do našeho souboru, zůstane tak, jak je v souboru s výchozími hodnotami.

Všechny výchozí hodnoty lze také najít na stránce aplikace Helm, https://hub.helm.sh/charts/bitnami/redmine. Tjek og kontroller všechny konfiguration.


První uživatel Admin

RedmineUsnavn: adminUser

RedminePassword:

Tento krok je stejně nutný jako snadno pochopitelný. Je to náš první uživatel v Redmine, ten, kterého použijeme k přihlášení poprvé.

Indstil Redmine budete moci s tímto uživatelem přistupovat k nové instalaci and configurovat ji.


Database PostgreSQL

Výchozí instalace pomocí Helm vyžaduje vytvoření databáze mariadb. Místo toho však nakonfigurujeme naši instalaci tak, aby používala PostgreSQL. Musíte také přidat alespoň heslo k této databázi, jak můžete vidět níže.

database type: postgresql

mariadb:

  aktiveret: falsk

PostgreSQL:

  aktiveret: sandt

  postgresqlDatabase: Redmine

  postgresqlUsnavn: Redmine

  postgresqlPassword:

Musíme explicitně říci naší instalaci, že nechceme, aby byla spolu s configurací pro databázi PostgreSQL instalována také MariaDB.


Konfigurer DNS jména

Následující konfigurace er druhou stranou DNS konfigurace, kterou jsme provedli v části 1. Jak můžete vidět, povolujeme TLS, protokol for HTTPS, et nastavujeme værtsnavn, který jsme použili při vythoremuření záš

indtrængning:

  aktiveret: sandt

  certManager: sandt

  værtsnavn: redminek8s.ddns.net

  tls: sandt

  anmærkninger:

    kubernetes.io/ingress.class: nginx

    cert-manager.io/cluster-issuer: letsencrypt

Také v posledních dvou řádcích propojíme naši aplikaci s Ingress Controllerem as Cluster Issuerem, který jsme vytvořili dříve.

Nyt værktøj til Redmine's naší vlastní konfigurací:

rorinstallere Redmine -f Values.yaml bitnami / redmine

Tento řádek je podobný jiným řádkům helm install, které jsme použili dříve, ale tentokrát poskytujeme vlastní values.yaml. To je způsob, jak přizpůsobit jakoukoli aplikaci Helm.

Stále potřebujeme trochu trpělivosti, protože vytvoření aplikace trvá nějakou dobu. Můžete spustit tento příkaz, abyste zkontrolovali stav kontejnerů vaší aplikace:

kubectl få pods - ur

Příkaz vrátí něco podobného tomuto:

NAVN KLAR STATUS OMSTARTER ALDER

. . .

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

redmine-postgresql-0 1/1 Løb 0 6m40s

Musíte počkat, dokud stav obou kontejnerů nebude Running a všechny budou připraveny 1/1, což mi v mém případě trvalo asi 6 minut.

Nyt hvad du skal bruge til at udføre en ny installation:

Redmine er připraven


Záver

Kubernetes er složitý nástroj pro nasazení aplikací, ale s pomocí Helmu (bez nadsázky) jsme se v této složitosti zorientovali a nasadili spolehlivivou instalaci Redmine.

Shrnutí tohoto návodu naleznete v následujícím git repozitáři: https://github.com/lcofre/redmine-on-k8s. Pokud se zaseknete, neváhejte porovnat s vašimi soubory.

Některé koncepty jsme med diskuse vinechali, protože byly složité nebo vysvětlení bylo specifické pro cloud. Mezi nimi jsou Liveness a Readiness vaší aplikace, configurace prříchozích e-mail eller škálování pro zvládání většího zatížení. Prosím, dejte nám vědět, co vás nejvíce zajímá, abychom to mohli diskutovat v budoucím návodu.

Vil du ikke opgradere Redmine? Snadné.

Získejte všechny mocné nástroje pro dokonalé plánování, řízení a kontrolu projektů v jednom softwaru.

Vyzkoušejte Easy Redmine på 30 dage

Komplet funkce, chráněno protokolem SSL, denní zálohování, og vaší lokalitě.