Redmine przeciwko Kubernetes - 2. miejsce: Instalacja Redmine

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

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

Počítání části 1

Użyj tej aplikacji do instalacji 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, komponent pro přesměrování internetových požadavků uvnitř vašeho clusteru, a vytvořili jsme DNS doménu redminek8s.ddns.net. Możesz użyć jen potřebujemy konfigurowalny HTTPS i jsme připraveni nasadit Redmine.


Menedżer certyfikatów HTTPS

Mogę když bychom mohli ponechat náš Redmine jako HTTP, HTTPS se stalowy standard dla webové stránky, takže většina prohlížečů vás varuje lub bezpečnostních problemów, pokud HTTPS bez użycia.

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 automatyzuje všechno toto, včetně obnovy certifikátů a dokonce získává zdarma certifikáty. Více informaci naleznete na jejich stránkách, ale vše, co potřebujete vědět, vám vysvětlím níže.


Zainstaluj menedżera certyfikatów

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

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

helm install 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, bezplatnou certifikační autoritu. Nejprve vytvořte tento soubor (nezapomeňte nahradit skutečnou e-mailovou adresou) a pojmenujte ho 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

Poté ho aplikujte na svůj klaster pomocí

kubectl stosuje -f klaster-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 różnic, 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 konfigurace má některé řádky s mezerami, aby se naznačila 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áš klaster povolen pro HTTPS. Kdykoli instaluje aplikację, můžeme ji instruovat, aby pracować z HTTPS a voilà! Celý proces získání certifikátu bude automaticky sprawdzony w tle.


Zainstaluj Redmine

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.

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

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 wartości.yaml.

Všechny aplikace Helm mají souborvalues.yaml s všemi možnými konfiguracemi, které lze provést in aplikaci. Když vytvoříme vlastní wartości.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

Redmine Nazwa użytkownika: 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 zainstalowaniu Redmine budete moci s tímto uživatelem přistupovat k nowa instalacja i konfiguracja ji.


Baza danych PostgreSQL

Výchozí instalace pomocí Helm vyžaduje vytvoření databáze mariadb. Możesz to zrobić, konfigurując naszą instalację, aby uruchomić PostgreSQL. Musite také přidat alespoň heslo k této databázi, jak můžete vidět níže.

DatabaseType: postgresql

mariadb:

  włączone: fałsz

postgresql:

  włączone: prawda

  postgresqlBaza danych: Redmine

  postgresqlNazwa użytkownika: Redmine

  postgresqlPassword:

Musisz jawnie zainstalować te narzędzia, które nie są potrzebne, aby móc konfigurować dla bazy danych PostgreSQL, aby zainstalować MariaDB.


Skonfiguruj DNS jména

Následující konfigurace je druhou stranou DNS konfigurace, kterou jsmeprovedli v části 1. Jak můžete vidět, povolujeme TLS, protokol za HTTPS, a nastavujeme hostname, který jsme použili při vytváření našeho DNS záznamu:

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

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 z naszą konfiguracją:

ster instaluje 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í wartości.yaml. Aby 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ší aplikacja:

kubectl dostać strąki - zegarek

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

IMIĘ IMIĘ GOTOWY STATUS WZNOWUJE WIEK

. . .

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

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

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

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

Redmine je připraven


záver

Kubernetes to složitý nástroj dla nasazení aplikací, ale jest pomocny dla Helmu (bez nadsázky) jsme se v této složitosti zorientovali w 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í było specifické pro cloud. Mezi nimi jsou Liveness i 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.

Nowa aktualizacja Redmine? Snadne.

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

Vyzkoušejte Easy Redmine na 30 dni zdarma

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