Redmine в Kubernetes - част 2: Инсталирайте Redmine

6/30/2020
8 минути
Лукаш Беня.

Това е друга частна серия за използване на Redmine от Kubernetes. V tomto článku poskytneme pokyny, jak nasadit spolehlivou install Redmine.

Počítání části 1

Използвайте инсталацията Redmine на Kubernetes. Přece jenom, kvůli tome jste přišli, že ano?

V Redmine на Kubernetes - част 1: Разпространението на правата jsme инсталираха Ingress Controller, компонент за премерване на интернет достъпа до унитарния ваш клъстер, и създадоха jsme DNS домейн redminek8s.ddns.net. Nyní už jen potřebujeme след конфигуриране на HTTPS и jsme připraveni nasadit Redmine.


Мениджър на сертификати за HTTPS

Ако мога да понежавам Redmine като HTTP, HTTPS е стандартен за уеб страници, също така и проверката на проблема с безопасността, ако HTTPS не се използва.

Zapnutí HTTPS obvykle není triviální úkol, protože musíte coupit certifikát a nahrát ho na svůj web, obnovovat ho po určite době и opakovat celý process. Мениджърът на сертификати автоматизира всичко, всички обновяващи сертификати и доконче získává безплатни сертификати. 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.


Инсталирайте сертификатния мениджър

За инсталационния сертификатен мениджър във вашия клъстер проверете следните стъпки:

helm repo добави jetstack https://charts.jetstack.io && helm repo update

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

Nejprve přidáte repozitář, kde се стартира cert-manager, и можете да инсталирате неговата най-нова версия.


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. Използва LetsEncrypt, безплатна сертификационна власт. Nejprve vytvořte tento soubor (nezapomeňte nahradit) skutečnou e-mailovou adresou) a pojmenujte ho cluster-issuer.yaml

apiВерсия: cert-manager.io/v1alpha2

вид: ClusterIssuer

метаданни:

  име: letsencrypt

спец:

  Acme:

    сървър: https://acme-v02.api.letsencrypt.org/directory

    електронна поща:

    privateKeySecretRef:

      име: letsencrypt

    решават:

    - http01:

        проникване:

          клас: nginx

Poté ho aplikujte na svůj cluster pomocí

kubectl прилагам -f cluster-issue.yaml

Blahopřejeme! Soubor výše е първата конфигурация на Kubernetes, която пише и прилага в клъстера. Možná jste si všimli, že указва, че се използва за LetsEncrypt, но така пописва Ingress Controller, který jsme vytvořili v části 1 (Třída: nginx na konci) Tento typ konfigurace má některé řádky s mezerami, aby se naznačila zvislost ně kterých vlastností na jiných . Tyto mezery ponechte tak, jak jsou, abyste zajistili, že soubor bude správně přečten a aplikován.

Вашият клъстер е разрешен за HTTPS. Kdykoli nainstalujeme aplikacio, můžeme ji instruovat, aby pracovala s HTTPS a готово! Celý proces získání certifikátu ще бъде автоматично проведен pozadu.


Инсталирайте Redmine

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

helm repo добавете битнами https://charts.bitnami.com/bitnami && helm repo update

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

Všechny konfigurace 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 с всички възможни конфигурации, které lze provést на приложението. 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. Jděte a zkontrolujte všechny konfigurace.


Първи потребител Admin

RedmineUsername: adminUser

Redmine Парола:

Tento krok е stejně nutný jako snadno pochopitelný. Това е нашият първи потребител в Redmine, десет, който се използва за публикуване.

За инсталирането на Redmine ще можете да използвате това, което можете да включите в новата инсталация и да я конфигурирате.


База данни PostgreSQL

Избор на инсталация с помощта на Helm извежда създадената база данни mariadb. Всичко това след конфигуриране на нашата инсталация, ако използва PostgreSQL. Musíte také přidat alespoň heslo k této databázi, jak můžete vidět níže.

Тип на базата данни: postgresql

mariadb:

  активиран: false

PostgreSQL:

  активиран: вярно

  postgresql База данни: Redmine

  postgresqlИме на потребителя: Redmine

  postgresqlPassword:

Musíme explicitně říci naší install, že nechceme, aby byla spolu s konfigurací za databázi PostgreSQL инсталиран на MariaDB.


Конфигуриране на DNS име

Следващата конфигурация е друга странна DNS конфигурация, която jsme е предоставена в част 1. Както можете да видите, използвайки TLS, протокол за HTTPS, и наставяме име на хост, което jsme използва при издаване на нашето DNS име:

проникване:

  активиран: вярно

  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še приложение с Ingress Controllerem като Cluster Issuerem, který jsme vytvořili dříve.

Nyní możeme nasadit Redmine с нашата собствена конфигурация:

кормило инсталирайте Redmine -f values.yaml bitnami / redmine

Tento řádek е подобен на jiným řádkům helm install, které jsme použili dříve, ale tentokrat poskytujeme vlastní values.yaml. To je způsob, jak přizpůsobit jakoukoli aplikacio Helm.

Stále potřebujeme trochu trpělivosti, protože vytvoření aplikace trvá nějakou dobu. Можете да пуснете този приказ, за ​​да проверите контейнера на вашето приложение:

kubectl вземете шушулки - гледайте

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

ИМЕ ГОТОВ СТАТУС ВЪЗСТАНОВЯВА ВЪЗРАСТ

. . .

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 minute.

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

Redmine е изпратен


záver

Kubernetes е сложен nástroj за наложени приложения, но с помощта на Helmu (без надценка) jsme се в тази сложителност zorientovali и насадили сполехлива инсталация Redmine.

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

Některé koncepty jsme z diskuse vynechali, protože byly složité nebo vysvětlení bylo specifické pro cloud. Mezi nimi jsou Liveness a Readiness your ví aplikace, konfigurace příchozích e-mailů и skálování za 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? Snadné.

Získejte všechny mocné nástroje za dokonalé planování, řízení и контрол на проекта в един софтуер.

Изкушете Easy Redmine за 30 дни безплатно

Пълна функция, защитен протокол SSL, дневна защита и вашата локализация.