en
Jazyk
  • en
  • de
  • fr
  • es
  • br
  • ru
  • jp
  • kr
AI překlad
  • ee
  • ae
  • cn
  • vn
  • id
  • eu
  • il
  • gr
  • no
  • fi
  • dk
  • se
  • tr
  • bg
  • nl
  • it
  • pl
  • hu
  • ro
  • ua
  • cs

Redmine v Kubernetes - Část 2: Instalace Redmine

6/30/2020
8 minut
Lukáš Beňa

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.

Vyzkoušejte Easy Redmine ve 30denní bezplatné zkušební verzi

Plné funkce, chráněné SSL, denní zálohy ve vaší geolokaci