Redmine v Kubernetes - Část 2: Instalace Redmine
Toto je druhý díl série o nasazení Redmine do Kubernetes. V tomto článku poskytneme návod, jak nasadit spolehlivou instalaci Redmine.

Přepočítání části 1
Nyní se musíte těšit na instalaci Redmine na Kubernetes. Koneckonců, za to jste přišli, že?
In Redmine v Kubernetes - Část 1: Příprava prostředí, nainstalovali jsme Ingress Controller, komponentu pro přesměrování internetových požadavků uvnitř vašeho clusteru, a vytvořili jsme DNS doménu redminek8s.ddns.net. Nyní zbývá pouze nakonfigurovat HTTPS a jsme připraveni nasadit Redmine.
HTTPS s certifikačním manažerem
Přestože bychom mohli ponechat náš Redmine jako HTTP, HTTPS se stal standardem pro weby, natolik, že většina prohlížečů vás upozorní na bezpečnostní problém, když HTTPS web nepoužívá.
Povolení HTTPS obvykle není triviální úkol, protože musíte zakoupit certifikát a nahrát jej na svůj web, po určité době jej obnovit a proces opakovat. Cert-manager to vše automatizuje, včetně obnovy certifikátů, a dokonce získává certifikáty zdarma. Více informací můžete vidět na Jejich webu, ale vysvětlím vše, co potřebujete vědět dále.
Nainstalujte správce certifikátů
Chcete-li nainstalovat správce certifikátů do klastru, proveďte následující kroky:
kormidlo repo přidat jetstack https://charts.jetstack.io && Helm repo update
helm install cert-manager jetstack / cert-manager --set installCRDs = true
Nejprve přidáte úložiště, kde se nachází správce certifikátů, a poté nainstalujete jeho nejnovější verzi.
Připojte se k certifikační autoritě
Nyní musíme instruovat cert-manažera, aby se připojil k poskytovateli certifikátu podle našeho výběru. Budeme používat LetsEncrypt, bezplatnou certifikační autoritu. Nejprve vytvořte tento soubor (nezapomeňte jej nahradit se skutečnou e-mailovou adresou) a pojmenujte jej cluster-issuer.yaml
apiVersion: cert-manager.io/v1alpha2
druh: ClusterIssuer
metadata:
jméno: letsencrypt
spec:
vrchol:
server: https://acme-v02.api.letsencrypt.org/directory
e-mailem:
privateKeySecretRef:
jméno: letsencrypt
řešitelé:
- http01:
vstup:
třída: nginx
Poté ji použijte na svůj klastr
kubectl apply -f cluster-emiter.yaml
Gratulujeme! Výše uvedený soubor je první konfigurací kubernetů, kterou zapíšeme a použijeme pro klastr. 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 konfigurace obsahuje některé řádky s mezerami, které označují závislost některých vlastností na ostatní. Udržujte tyto mezery tak, jak je znázorněno, abyste zajistili, že soubor bude správně načten a použit.
Nyní je váš cluster povolen HTTPS. Kdykoli instalujeme aplikaci, můžeme jí dát pokyn, aby pracoval s HTTPS a voilà! Celý proces získání certifikátu bude proveden automaticky v zákulisí.
Instalace Redmine
Na to jsme všichni čekali. Můžeme nainstalovat Redmine několika různými způsoby, ale zdaleka nejvhodnější je použít Helm. Jak jsme již dříve dělali, nejprve přidáváme repozitář, pokud Redmine je
kormidlo repo přidat bitnami https://charts.bitnami.com/bitnami && Helm repo update
Tentokrát místo okamžité instalace vytvoříme konfigurační soubor, který bude označovat vlastní chování, které má Redmine mít.
Budeme oddělit všechny konfigurace do jejich vlastní sekce, ale umístíte je všechny do stejného souboru, jeden po druhém. Volejte soubor hodnot.yaml.
Všechny aplikace Helm mají soubor hodnot.yaml se všemi možnými konfiguracemi, které lze v aplikaci provést. Když vytváříme vlastní hodnoty.yaml, definujeme změny, které chceme. Jakákoli hodnota, kterou do našeho souboru nezařazíme, zůstane jako ve výchozím souboru.
Všechny výchozí hodnoty lze najít také na stránce aplikace kormidla, https://hub.helm.sh/charts/bitnami/redmine. Pokračujte a zkontrolujte všechny konfigurace.
První uživatel Admin
RedmineUživatelské jméno: adminUser
RedmineHeslo:
Tento krok je nezbytný, jak snadno pochopitelný. Je to náš první uživatel v Redmine, ten, který použijeme k přihlášení poprvé.
Po instalaci Redmine budete mít přístup k tomuto uživateli, abyste mohli nakonfigurovat zcela novou instalaci.
Databáze PostgreSQL
Ve výchozím nastavení bude instalace Helmu vyžadovat vytvoření databáze mariadb. Místo toho nakonfigurujeme naši instalaci tak, aby používala PostgreSQL. Pro přístup do této databáze musíte také přidat alespoň heslo, jak vidíte níže
typ databáze: postgresql
mariadb:
povoleno: false
postgresql:
povoleno: true
PostgresqlDatabase: Redmine
postgresqlUživatelské jméno: Redmine
postgresqlHeslo:
Musíme naší instalaci výslovně říci, že nechceme, aby se MariaDB instalovala spolu s konfigurací pro databázi PostgreSQL.
Konfigurace názvu DNS
Níže uvedená konfigurace je druhou stranou konfigurace DNS, kterou jsme provedli v části 1. Jak vidíte, povolíme protokol TLS, protokol za protokolem HTTPS, a nastavíme název hostitele, který jsme použili při vytváření našeho záznamu DNS:
vstup:
povoleno: true
certManager: pravda
název hostitele: redminek8s.ddns.net
tls: pravda
anotace:
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 a s Cluster Issuer, který jsme vytvořili dříve.
Nyní můžeme nasadit Redmine s naší vlastní konfigurací:
helm install Redmine -f hodnoty.yaml bitnami / redmine
Tato linie je podobná jiným instalačním linkám kormidla, které jsme použili dříve, ale tentokrát poskytujeme vlastní hodnoty.yaml. Toto je způsob, jak přizpůsobit jakoukoli aplikaci Helm.
Potřebujeme ještě více trpělivosti, protože vytvoření aplikace zabere nějaký čas. Tento příkaz můžete spustit a zkontrolovat stav kontejnerů aplikace:
kubectl get lusky - hodinky
Příkaz vrátí něco podobného tomuto:
STAV JMÉNA PŘIPRAVENO VĚC RESTARTUJE
. . .
redmine-999c68dd9-x7h2k 1/1 Running 0 6m40s
redmine-postgresql-0 1/1 Běh 0 6m40s
Musíte počkat, až bude stav obou kontejnerů spuštěn a všechny budou připraveny 1/1, což v mém případě trvalo asi 6 minut.
Nyní je vše připraveno otevřít prohlížeč a přejít na nové nasazení:
Redmine je připraven
Balit
Kubernetes je komplexní nástroj pro nasazení aplikací, ale my jsme procházeli touto složitostí pomocí Helmu (není určena žádná hříčka) a nasadili spolehlivou instalaci Redmine.
Shrnutí tohoto návodu naleznete v následujícím repozitáři git: https://github.com/lcofre/redmine-on-k8s. Pokud uvíznete, můžete to porovnat se svými soubory.
Některé koncepty jsme z diskuse vynechali, protože byly složité nebo vysvětlení bylo specifické pro cloud. Mezi ně patří živost a připravenost vaší aplikace, konfigurace příchozích e -mailů a škálování, aby zvládly větší zátěž. Sdělte nám prosím níže, co vás nejvíce zajímá, abychom o tom mohli diskutovat v budoucím postupu.

Dokonalý upgrade Redmine? Snadný.
Získejte všechny výkonné nástroje pro dokonalé plánování, správu a řízení projektů v jednom softwaru.