Redmine v Kubernetes - שלב 2: התקן את Redmine

6/30/2020
דקות 8
Lukáš Beňa.

Toto je druhá část serie o nasazení Redmine do Kubernetes. V tomto článku poskytneme pokyny, jak nasadit spolehlivivou instalaci Redmine.

Počítání části 1

Už se jistě těšíte on instalaci Redmine na Kubernetes. Přece jenom, kvůli tomu jste přišli, že ano?

V Redmine na Kubernetes - חלק 1: Příprava prostředí jsme nainstalovali Ingress Controller, רכיב עבור Přesměrování internetových požadavků uvnitř vašeho clusteru, vytvořili jsme DNS doménu redminek8s.ddns.net. אתה יכול להשתמש ב-HTTPS ו-Jsme Připraveni nasadit Redmine.


HTTPS cert-managerem

I když bychom mohli ponechat náš Redmine גם ב-HTTP, HTTPS הוא סטנדרטי עבור webové stránky.

זאפנוטי HTTPS ניתנת לאישורים טריוויאליים, פרוטוזה מוסיטת קופיט תעודת אישורים נאותים על רשת האינטרנט, ניתנת לביצוע תהליך אופטימלי. מנהל אישורים אוטומאטיוזה všechno toto, וצריך אישור אישורים ואישורים זמינים. Více informací naleznete na jejich stránkách, ale vše, co potřebujete vědět, vám vysvětlím níže.


התקן אישור-מנהל

Pro Installation cert-Manageru ו-Vashem Clusteru Proveďte nsledující kroky:

הגה ריפו להוסיף https://charts.jetstack.io & עדכון ריפו על ההגה

helm install cert-manager jetstack / cert-manager - set installCRDs = true

Nejprve přidáte repozitář, kde se cert-manager nachází, a poté nainstalujete jeho nejnovější verzi.


Připojení k certifikační autoritě

Nyní musíme instruovat cert-manager, aby se připojil k certifikačnímu poskytovateli, kterého si vybereme. Použijeme LetsEncrypt, אישור אישור. Nejprve vytvořte tento soubor (nezapomeňte nahradit skutečnou e-mailovou adresou) a pojmenujte ho cluster-issuer.yaml

apiVersion: cert-manager.io/v1alpha2

סוג: ClusterIssuer

מטא נתונים:

  שם: letsencrypt - -

מפרט:

  שִׂיא:

    שרת: https://acme-v02.api.letsencrypt.org/directory

    אימייל:

    privateKeySecretRef:

      שם: letsencrypt - -

    פתרונות:

    - http01:

        חודר:

          כיתה: nginx

Poté ho aplikujte na svůj אשכול pomocí

להחיל kubectl -f אשכול-מנפיק. yaml

Blahopřejeme! Soubor výše je první configurace Kubernetes, kterou píšeme aplikujeme on Cluster. 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 configurace má některé mezerád, arýjsme vytvořili v části XNUMX (Třída: nginx na konci) ch vlastností na jiných . Tyto mezery ponechte tak, jak jsou, abyste zajistili, že soubor bude správně přečten aplikován.

חדש אתה váš אשכול עבור HTTPS. Kdykoli nainstalujeme aplikaci, můžeme ji instruovat, aby pracovala s HTTPS a Voila! Celý process získání certifikátu bude automaticky proveden pozadu.


התקן את Redmine

To jsme všichni čekali. Redmine můžeme nainstalovat několika způsoby, ale nejpohodlnější způsob je použít Helm. Nejprve přidáme repozitář, kde se Redmine nachází, stejně jako jsme již dělali dříve.

הגה ריפו להוסיף ביטנמי https://charts.bitnami.com/bitnami & עדכון ריפו על ההגה

A tentokrát místo instalace ihned vytvoříme konfigurační soubor, abychom určili některé vlastní chování, které chceme, aby Redmine měl.

Všechny configurace rozdělíme do vlastní sekce, ale všechny je uložíme do stejného souboru, jeden po druhém. Soubor pojmenujeme values.yaml.

Všechny aplikace Helm mají soubor values.yaml s všemi možnými konfiguracemi, které lze provést na aplikaci. Když vytvoříme vlastní values.yaml, definujeme změny, které chceme. Jakákoliv hodnota, kterou nezahrneme do našeho souboru, zůstane tak, jak je v souboru s výchozími hodnotami.

Všechny výchozí hodnoty lze také najít na stránce aplikace Helm, https://hub.helm.sh/charts/bitnami/redmine. יש להגדיר את הקונפיגורציה.


מנהל מערכת

RedmineUsername: adminUser

Redmine סיסמא:

Tento krok je stejně nutný jako snadno pochopitelný. Je to náš první uživatel v Redmine, ten, kterého použijeme k přihlášení poprvé.

Po instalaci Redmine budete moci s tímto uživatelem přistupovat k nové instalaci and configurovat ji.


Databáze PostgreSQL

Výchozí instalace pomocí Helm vyžaduje vytvoření databáze mariadb. Místo toho však nakonfigurujeme naši instalaci tak, aby používala PostgreSQL. Musíte také přidat alespoň heslo k této databázi, jak můžete vidět níže.

מסד נתונים: postgresql

מריאדב:

  מופעל: שקר

postgresql:

  מופעל: נכון

  postgresql בסיס נתונים: Redmine

  postgresql שם משתמש: Redmine

  סיסמה:

Musíme explicitně říci naší instalaci, že nechceme, aby byla spolu s configurací pro databázi PostgreSQL instalována taré MariaDB.


הגדרת DNS jména

קונפיגורציית ה-DNS של דרהאו stranou, kterou jsme provedli v části.

חודר:

  מופעל: נכון

  certManager: נכון

  שם מארח: redminek8s.ddns.net

  tls: נכון

  הערות:

    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 as Cluster Issuerem, který jsme vytvořili dříve.

הגדרות חדשות של Redmine:

ההגה התקן Redmine -f Values.yaml bitnami / redmine

Tento řádek je podobný jiným řádkům התקנת ההגה, které jsme použili dříve, ale tentokrát poskytujeme vlastní values.yaml. To je způsob, jak přizpůsobit jakoukoli aplikaci Helm.

Stále potřebujeme trochu trpělivosti, protože vytvoření aplikace trvá nějakou dobu. Můžete spustit tento příkaz, abyste zkontrolovali stav kontejnerů vaší aplikace:

קבל תרמילים - שעון

Příkaz vrátí něco podobného tomuto:

שם סטטוס מוכן מחדש

. . .

redmine-999c68dd9-x7h2k    1/1     Running   0          6m40s

redmine-postgresql-0 1/1 רץ 0 6m40s

Musíte počkat, dokud stav obou kontejnerů nebude Running a všechny budou připraveny 1/1, což mi v mém případě trvalo asi 6 דקות.

Nyní je vše připraveno na otevření prohlížeče a přechod naši novou instalaci:

Redmine je připraven


סיכום

Kubernetes je složitý nástroj pro nasazení aplikací, ale s pomocí Helmu (bez nadsázky) jsme se v této složitosti zorientovali a nasadili spolehlivivou instalaci Redmine.

Shrnutí tohoto návodu naleznete v následujícím git repozitáři: https://github.com/lcofre/redmine-on-k8s. Pokud se zaseknete, neváhejte porovnat s vasimi soubory.

קונספט כללי עם מערכות מידע, פרוטוזה וסידרה לא קיימת דוגמה ספציפית לענן. Mezi nimi jsou Liveness a Readiness vaší aplikace, configurace příchozích e-mailů a škálování pro zvládání většího zatížení. Prosím, dejte nám vědět, co vás nejvíce zajímá, abychom to mohli diskutovat v budoucím návodu.

האם לשדרג את Redmine? סנאדנה.

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

הוסף את Easy Redmine ב-30 ימים

קומפלטני פונקציונליים, פרוטוקולים של SSL, תקצירים, ואזור מקומי.