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

6/22/2020
6 λεπτά
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ílem nasadit odolnou instanci Redmine přes HTTPS.

Rozdělili jsme tento návod na dvě části, abychom se nejprve zaměřili na installaci nástrojů a 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 komentář, pokud uhodnete, jaký cloud jsme použili, a řekněte nám, jaký detail to 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áš σύννεφο 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 ρυθμίστε το HTTPS vyžaduje, aby náš cluster měl veřejnou IP διεύθυνση.


Použijme Helm

Kubernetes je složitý nástroj pro orchestraci kontejnerů. Existuje mnoho conceptů, které musíme naučit, abychom začali. Naštěstí pro nás existuje project jménem Πηδάλιο, 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 installovat komponenty s produkční kvalitou."

Opomíjejíce důvody pro jejich jména (všechno to vypráví příběh metafory, Helmu, Kubernetesu a kontejnerům), τιμόνι opravdu zjednodušuje installaci 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 mít již přístup k vašemu clusteru z příkazové řádky, κτέρου πουζίβατε. Váš poskytovatel cloudu má také průvodce, jak to udělat.


Εγκαταστήστε τον ελεγκτή εισόδου

Toto je první komponenta, kterou nainstalujeme do našeho clusteru a je také prvním conceptem kubernetes, který uvidíme. Ελεγκτής εισόδου sedí u vstupních dveří vašeho clusteru, přijímá všechny webové požadavky a 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, který použijeme. Jejich dokumentace vysvětluje, jak ho nainstalovat pomocí Helm:

τιμόνι repo προσθέστε ingress-nginx https://kubernetes.github.io/ingress-nginx && helm repo ενημέρωση

τιμόνι εγκαθιστώστε το ingress-controller ingress-nginx / ingress-nginx

První příkaz přidá repozitář application, 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 διεύθυνση přiřazenou k controlleru:

kubectl get υπηρεσίες --watch

Για παράδειγμα, το podobný tomuto:

ΟΝΟΜΑ ΤΥΠΟΣ CLUSTER-IP ΕΞΩΤΕΡΙΚΗ Θύρα IP (Η) ΗΛΙΚΙΑΣ

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

ClusterIP ελεγκτή-εισαγωγής 10.0.135.226 443 / TCP 5m22s

kubernetes ClusterIP 10.0.0.1 443 / TCP 44 ώρες

Zaznamenejte EXTERNAL-IP, protože ji budeme potřebovat v dalším kroku. Může se stát, že místo διεύθυνση IP για την πρόσβαση . Trvá nějakou dobu, než σύννεφο získá veřejnou διεύθυνση IP a přiřadí ji k vašemu clusteru. Počkejte pár sekund a IP από měla být k dispozici.


Προβολή DNS για A

Nyní, když máte IP address, můžete jít do prohlížeče a zjistit, jak váš cluster odpovídá. Samozřejmě, pokud ještě není nainstalována žádná application, váš cluster odpoví chybou "404 Not Found". Vytvoříme DNS doménu, kterou můžeme přiřadit k teto διεύθυνση IP, snadněji si ji zapamatujete než seznam čísel a teček.

Způsob vytvoření internetové domény pro váš 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 διεύθυνσης. Η παραπομπή αυτή δεν είναι δυνατή για την πρόσβαση στο DNS no-ip.com.

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

Data, která musíte vyplnit, jsou název DNS μια διεύθυνση IP. No-IP je přesně to, co potřebujeme k ilustraci vytvoření domény, ale pravděpodobně si vyberete jiného poskytovatele DNS. Proces je však v podstatě stejný u 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 διεύθυνση správně přeložila:

ping redminek8s.ddns.net


Επόμενα βήματα

Nyní, když máme controler přístupu a DNS doménu, zbývá už jen ρυθμίστε το HTTPS pro και το 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 εναντίον Kubernetes στο 2: Εγκαταστήστε το Redmine.

Τελική αναβάθμιση του Redmine; Snadné.

Získejte všechny výkonné nástroje pro dokonalé plánování, řízení a controlu projectů v jednom softwaru.

Vyzkoušejte Easy Redmine για 30 ημέρες

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