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 1: Příprava prostředí

6/22/2020
6 minut
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.

Tento návod jsme rozdělili na dvě části, na které se zaměříme jako první instalace nástrojů a součástí nasazení Redmine bude použito. Ale nebojte se o složitost. I když jste Kubernetes nováčkem, bude to pochopitelné vysvětlení.

Tato příručka byla napsána tak, aby byla cloudová agnostika, takže jsme záměrně vynechali všechna zmínky o cloudu, který jsme použili. Zanechte komentář, pokud můžete uhodnout cloud, který jsme použili, a sdělte nám, jaký detail nám ho dal. 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 brány v úvahu, protože vyžadují další konfiguraci, která je mimo rozsah této příručky. Zejména naše Konfigurace HTTPS vyžaduje, aby náš cluster měl veřejnou IP.


Pojďme použít Helma

Kubernetes je komplexní nástroj pro kontejnerová orchestrace. Abychom mohli začít, musíme se naučit mnoho konceptů. Naštěstí pro nás existuje projekt s názvem Kormidlo která poskytuje úroveň abstrakce, kterou potřebujeme. Jejich vlastními slovy „Pokud bychom udělali věci správně, mohli by uživatelé nainstalovat Helm a poté během několika minut instalovat off-the-shelf komponenty“.

Necháme stranou důvody pro jejich jména (vše vypráví příběh o metafoře Helm, Kubernetes a Containers) opravdu zjednodušuje instalaci a zároveň ponechat prostor pro přizpůsobení komponenty našim potřebám. Použijeme Helm 3, jejich nejnovější a ještě jednodušší verzi.

Pokud používáte cloudové prostředí vašeho poskytovatele cloudu, je pravděpodobné, že Helm 3 je již k dispozici, ale pokud ne, můžete jej nainstalovat podle pokynů, které poskytují dokumenty Helm, helm.sh/docs/intro/install/, Musíte se přihlásit již mají přístup do vašeho clusteru z příkazového řádku, který používáte. Váš poskytovatel cloudu má průvodce, jak to udělat také.


Nainstalujte řadič Ingress

Toto je první komponenta, kterou nainstalujeme do našeho clusteru, a je to také první koncept kubernetes, který uvidíme. Řadič Ingress sedí u vstupních dveří vašeho klastru, přijímá všechny webové požadavky a přesměruje je na interní komponentu odpovědnou za zodpovězení žádosti. Zpočátku nebude nikdo připraven odpovědět, ale když nainstalujeme Redmine, bude přidán jako cíl pro žádosti.

Kubernetes poskytuje Řadič vstupu NGINX použijeme. Jejich dokumentace vysvětluje, jak ji nainstalovat pomocí Helm:

kormidlo repo přidat ingress-nginx https://kubernetes.github.io/ingress-nginx && Helm repo update

helm install ingress-controller ingress-nginx / ingress-nginx

První příkaz přidá úložiště aplikací, kde je ingress controller, zatímco druhý nainstaluje do vašeho clusteru. Po dokončení příkazu vytiskne některé informace, aby bylo možné začít, včetně toho, jak získat veřejná IP přiřazená k řadiči:

kubectl získat služby - hodinky

Výsledek bude něco podobného tomuto:

TYP JMÉNA CLUSTER-IP VĚK EXTERNÍ IP IP VĚK

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

Controller-Admission ClusterIP 10.0.135.226 443 / TCP 5m22s

kubernetes ClusterIP 10.0.0.1 443 / TCP 44h

Všimněte si EXTERNAL-IP, protože jej budeme potřebovat v dalším kroku. Může se stát, že místo IP bude hodnota, kterou tam získáte . Cloudu to nějakou dobu trvá získat veřejnou IP a přiřadit ji klastru. Počkejte několik sekund a IP by mělo být k dispozici.


Vytvořte záznam DNS A

Nyní, když jste dostali IP, můžete prostě jít do prohlížeče a zjistit, jak vám váš cluster odpovídá. Samozřejmě, protože zatím není nainstalována žádná aplikace, váš cluster odpoví chybou „404 nenalezeno“. Vytvoříme doménu DNS, kterou můžeme přiřadit k této IP, snad snadněji zapamatovatelné, než seznam čísel a teček.

Způsob vytvoření internetové domény pro váš Redmine velmi záleží na poskytovateli vaší domény, ale ve všech případech nakonec vytvoříte záznam DNS A, který propojí název domény s vaší IP. Podívejte se na následující obrázek od poskytovatele DNS serveru no-ip.com.

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

Data k vyplnění, jak byste mohli očekávat, jsou název DNS a IP. No-IP je to, co potřebujeme pro ilustraci vytvoření domény, ale pravděpodobně máte nebo vyberete jiného poskytovatele DNS. Proces je ve všech z nich docela podobný.

Šíření nového záznamu nějakou dobu trvá, takže pomocí příkazu ping můžete zkontrolovat, zda je IP správně vyřešeno:

ping redminek8s.ddns.net


Další kroky

Nyní, když máme ingress řadič a DNS doménu, zbývá už jen jediná věc nakonfigurujte HTTPS pro náš web a nainstalujte Redmine. Jako naši databázi použijeme PostgreSQL, ale uvidíte, jak snadné je nakonfigurovat vše pomocí Helmu.

Buďte naladěni na Redmine v Kubernetes Část 2: Instalace Redmine.

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