Redmine v Kubernetes – 2. lépés: Redmine telepítése

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

Toto je druhá část série o nasazení Redmine do Kubernetes. V tomto článku poskytneme pokyny, jak nasadit spolehlivou instalaci Redmine.

Počítání části 1

Už se jistě těšíte na installaci Redmine na Kubernetes. Přece jenom, kvůli tomu jste přišli, že ano?

V Redmine na Kubernetes - část 1: Příprava prostředí jsme nainstalovali Ingress Controller, komponens pro přesměrování internetových požadavků uvnitř vašeho clusteru, a vytvořili jsme DNS doménu redminek8s.ddns.net. Nyní už jen potřebujeme nakonfigurovat HTTPS a jsme připraveni nasadit Redmine.


HTTPS cert-managerem

I když bychom mohli ponechat náš Redmine jako HTTP, HTTPS se stal standardem pro webové stránky, takže většina prohlížečů vás varuje o 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ě a opakovat celý proces. Cert-manager automatizuje všechno toto, včetně obnovy certifikátů a dokonce získává zdarma certifikáty. Více informací naleznete na jejich stránkách, ale vše, co potřebujete vědět, vám vysvětlím níže.


Cert-manager telepítése

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

kormányrepo add jetstack https://charts.jetstack.io && helm repo frissítés

sisak telepítése cert-manager jetstack / cert-manager - set installCRDs = true

Nejprve přidáte repozitář, kde se cert-manager nachází, a 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, hitelesített hitelesítés nélkül. Nejprve vytvořte tento soubor (nezapomeňte nahradit skutečnou e-mailovou adresou) a pojmenujte ho cluster-issuer.yaml

apiVerzió: cert-manager.io/v1alpha2

fajta: ClusterIssuer

metaadatok:

  név: letsencrypt

specifikáció:

  csúcspont:

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

    email:

    privateKeySecretRef:

      név: letsencrypt

    megoldó:

    - http01:

        behatolását:

          osztály: nginx

Poté ho aplikujte na svůj cluster pomocí

kubectl apply -f cluster-emiter.yaml

Blahopřejeme! Soubor výše je první konfigurace Kubernetes, kterou píšeme a 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 typ śadky konfigurace sečilami závislost některých vlastností na jiných . Tyto mezery ponechte tak, jak jsou, abyste zajistili, že soubor bude správně přečten a aplikován.

Nyní je váš cluster povolen pro HTTPS. Kdykoli nainstalujeme aplikaci, můžeme ji instruovat, aby pracovala s HTTPS a voilà! Celý proces získání certifikátu bude automaticky proveden pozadu.


Telepítse a Redmine-t

To 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.

sisak repo hozzá bitnami https://charts.bitnami.com/bitnami && helm repo frissítés

A 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 értékeket.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. Jděte a zkontrolujte všechny konfigurace.


První uživatel Admin

RedmineUsername: 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é.

Po instalaci Redmine budete moci s tímto uživatelem přistupovat k nové instalaci a konfigurovat ji.


Adatbázis 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.

adatbázis típusa: postgresql

MariaDB:

  engedélyezve: hamis

PostgreSQL:

  engedélyezve: igaz

  postgresqlAdatbázis: Redmine

  postgresql Felhasználónév: Redmine

  postgresqlPassword:

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


Konfigurace DNS jména

Následující konfigurace je druhou stranou DNS konfigurace, kterou jsme provedli v části 1. Jak můžete vidět, povolujeme TLS, protokoll za HTTPS, a nastavujeme hostname, který jsme použili přenízna vytvářen

behatolását:

  engedélyezve: igaz

  certManager: igaz

  gazdagépnév: redminek8s.ddns.net

  tls: igaz

  jelöléseket:

    kubernetes.io/ingress.class: nginx

    cert-manager.io/cluster-issuer: letecrypt

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

Nyní můžeme nasadit Redmine s naší vlastní konfigurací:

sisak telepítése Redmine -f értékek.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 kap hüvelyeket --watch

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

NÉV KÉSZ ÁLLAPOT ÚJRA KEZDIK

. . .

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

redmine-postgresql-0 1/1 Futás 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 perc.

Nyní je vše připraveno na otevření prohlížeče a přechod na naši novou instalaci:

Redmine je připraven


Következtetés

Kubernetes je složitý nástroj pro nasazení aplikací, ale s pomocí Helmu (bez nadsázky) jsme se v této složitosti zorientovali a nasadili spolehlivou 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 z diskuse vynechali, protože byly složité nebo vysvětlení bylo specifické pro cloud. Mezi nimi jsou Liveness a Readiness vaší aplikace, konfigurace příchozích e-mailů a š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.

Nejlepší frissítés 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 na 30 dní zdarma

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