Redmine v Kubernetes – Část 1: Příprava prostředí

6/22/2020
6 minutter
Lukáš Beňa.
V této dvoudílné sérii nasadíme Redmine do Kubernetes. Budeme používat doporučené nástroje a postupy s cílem nasadit odolnou instanci Redmine přes HTTPS.

Rozdělili jsme tento návod na dvě části, abychom se nejprve zaměřili na installere en komponent, které bude Redmine využívat. Ale nemusíte se obávat složitosti. I když jste noví v Kubernetes, bude to srozumitelné vysvětlení.

Tento průvodce byl napsán tak, aby byl nezávislý na cloudu, takže jsme úmyslně vynechali všechny zmínky o použitém cloudu. Zanechte kommentář, pokud uhodnete, jaký cloud jsme použili, en řekněte nám, jaký detaljer til prozradil. Doporučujeme vám použít službu Kubernetes, kterou váš cloud nabízí, protože je dobře integrována s dalšími službami, které váš cloud také poskytuje.

Prostředí jako microk8s nebo minikube zde nejsou zvažována, protože vyžadují nějakou další konfiguraci, která spadá mimo rozsah tohoto průvodce. Zejména naše konfigurere HTTPS vyžaduje, aby náš cluster měl veřejnou IP-adresse.


Použijme Helm

Kubernetes er složitý nástroj pro orchestraci kontejnerů. Existuje mnoho konceptů, které musíme naučit, abychom začali. Naštěstí pro nás existuje projekt jménem Helm, který poskytuje úroveň abstrakce, kterou potřebujeme. Podle jejich vlastních slov "Pokud jsme udělali věci správně, uživatelé by mohli nainstalovat Helm a během několika minut instalovat komponenty s produkční kvalitou."

Opomíjejíce důvody pro jejich jména (všechno til vypráví příběh metafory, Helmu, Kubernetesu a kontejnerům), ror opravdu zjednodušuje instalaci a zároveň umožňuje přizpůsobit komponentu našim potřebám. Budeme používat Helm 3, jejich nejnovější a ještě jednodušší verzi.

Pokud používáte cloudovou konzoli vašeho poskytovatele cloudu, je pravděpodobné, že je Helm 3 již k dispozici, ale pokud ne, můžete ho nainstalovat podle průvodce, který poskytují dokumenty Helm, helm.sh/docs/intro/install/. Musíte mit již přístup k vašemu clusteru z příkazové řádky, kterou používáte. Váš poskytovatel cloudu má také průvodce, jak to udělat.


Nainstalujte Ingress Controller

Toto er první komponenta, kterou nainstalujeme do našeho clusteru and you take prvním conceptem kubernetes, který uvidíme. Ingress controller sedí u vstupních dveří vašeho clusteru, přijímá všechny webové požadavky and přesměrovává je na interní komponentu zodpovědnou za zodpovězení požadavku. Původně nebude nikdo připraven odpovídat, ale když nainstalujeme Redmine, bude přidán jako cíl pro požadavky.

Kubernetes poskytuje NGINX Ingress-controller, který použijeme. Du kan dokumentere, hvordan du kan dokumentere hjelmen:

roret repo tilføj ingress-nginx https://kubernetes.github.io/ingress-nginx && roret repo-opdatering

ror installer ingress-controller ingress-nginx / ingress-nginx

První příkaz přidá repozitář aplikací, kde se nachází ingress controller, zatímco druhý ho nainstaluje do vašeho clusteru. Po dokončení příkazu se vytisknou některé informace, jak začít, včetně toho, jak získat veřejnou IP-adresse přiřazenou k controlleru:

kubectl få tjenester - ur

Výsledek bude podobný tomuto:

NAVN TYPE CLUSTER-IP EKSTERN-IP PORT (E) ALDER

nginx-controller LoadBalancer 10.0.115.117 89.68.23.33 80 / TCP, 443 / TCP 5m22s

controller-adgang ClusterIP 10.0.135.226 443 / TCP 5m22s

kubernetes ClusterIP 10.0.0.1 443 / TCP 44h

Indsæt EXTERNAL-IP, protože ji budeme potřebovat i dalším kroku. Může se stát, že místo IP adressey získáte hodnotu . Trvá nějakou dobu, ikke sky získá veřejnou IP-adresse og přiřadí ji k vašemu clusteru. Počkejte par second a IP by měla být k dispozici.


Vytvoření DNS záznamu A

Nyt, když máte IP-adresse, můžete jít do prohlížeče and zjistit, jak váš cluster odpovídá. Samozřejmě, pokud ještě není nainstalována žádná aplikace, váš cluster odpoví chybou "404 Not Found". Vytvoříme DNS doménu, kterou můžeme přiřadit k této IP-adresse, snadněji si ji zapamatujete než seznam čísel a teček.

Få adgang til internetdomeny til Redmine výrazně závisí na vašem poskytovateli domén, ale ve všech případech vytvoříte DNS záznam A, který propojí název domény s vaší IP adresou. Jako referenci si můžete prohlédnout následující snímek obrazovky od poskytovatele DNS no-ip.com.

Vytváření našeho DNS záznamu A

Data, která musíte vyplnit, jsou få DNS ​​og IP-adresse. No-IP er přesně til, co potřebujeme k ilustraci vytvoření domény, ale pravděpodobně og vyberete jiného poskytovatele DNS. Proces er však v podstatě stejný og všech z nich.

Trvá nějakou dobu, než se nový záznam rozšíří, takže můžete použít příkaz ping k ověření, zda se IP-adresse správně přeložila:

ping redminek8s.ddns.net


Næste skridt

Nyt, když máme kontroler prřistupu a DNS doménu, zbývá už jen nakonfigurerede HTTPS for at sikre dig og Redmine. Jako databázi použijeme PostgreSQL, ale uvidíte, jak snadné je vše nakonfigurovat pomocí Helm.

Zůstaňte naladěni na Redmine v Kubernetes næste 2: Installer Redmine.

Den ultimative opgradering af Redmine? Snadné.

Získejte všechny výkonné 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ě.