Redmine в Kubernetes - Част 2: Установяване на Redmine

6/30/2020
8 минути
Лукас Бена

Това е друга част от поредица от състояния за разгортане на Redmine в Kubernetes. В тази статия даваме инструкции за това, как да разгорите надеждната инсталация Redmine.

Подрахунок Част 1

Сега вие, мабуть, с нетърпение чакате в инсталираното Redmine на Kubernetes. В крайна сметка, това те, за когото Вие пристигнахте, чи не така?

В Redmine на Kubernetes - Част 1: Подготовка на околната среда, инсталирахме Ingress Controller, компонент за пренареждане на интернет-запитвания във Вашия средищен кластер, и създадохме DNS-домен redminek8s.ddns.net. Сега ни трябва само настройване на HTTPS и сме готови за разгортане на Redmine.


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

Исках да запазя нашия Redmine като HTTP, HTTPS е стандартен за уеб сайтове, тъй като повечето браузъри ви предупреждават за проблема без опасност, когато HTTPS не използва уеб сайт.

Обикновено активирането на HTTPS не е тривиална задача, трябва да купите сертификат и да го изтеглите на своя сайт, да го новите след определен час и да повторите процеса. Мениджърът на сертификати автоматизира всичко това, включително сертификати за актуализиране, и дори получава безплатни сертификати. Можете да видите повече информация на техният сайт, но аз пояснявам всичко, което трябва да знаете по-нататък.


Установяване cert-manager

Използвайте следните стъпки, за да инсталирате cert-manager във вашия кластер:

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

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

Първоначално вие добавяте версията, която е cert-manager, а след това инсталирайте последната му версия.


Подключване към Сертифициращ орган

Сега трябва да посочим cert-manager, към сертификатите на кой доставчик искаме да включим. Ще използваме LetsEncrypt, безплатен център за сертификация. Първоначално създайте този файл (не забравяйте да го замените на реалния адрес на електронната поща) и го назовете cluster-issuer.yaml

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

тип: ClusterIssuer

метадани:

  име: letsencrypt

спецификация:

  Acme:

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

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

    privateKeySecretRef:

      име: letsencrypt

    изпълнители:

    - http01:

        ингрес:

          клас: nginx

След това застосувайте го към Вашия кластер с помощта

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

Вітаємо! Посоченият по-горе файл е първата конфигурация на kubernetes, която написахме и направихме до кластера. Можехте да отбележите, че той показва, като се включи към LetsEncrypt, но също така описва входа на контролера, който създадохме в част 1 (клас: nginx в края). Този тип конфигурация има някои редове с проби, за да покаже зависимостта на една власт от други. Следете тези вероятности, както е показано, за да се уверите, че файлът се чете и според него.

Сега вашият кластер поддържа HTTPS. Всеки разу, когато инсталираме приложение, можем да му покажем да работи с HTTPS и вола! Весь процес на издаване на сертификата ще се изпълнява автоматично за настройките.


Установяване Redmine

Це те, на що ми всички чекали. Можем да инсталираме Redmine ключ с различни начини, но най-удобният - използвайте Helm. Както вече го направихме по-рано, първо добавяме сховище, де е Redmine

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

Но вместо това, за да възстановим веднага, създадохме конфигурационен файл, за да покажем някои потребителско поведение, което искаме, за да имам Redmine.

Ние разделяме всички конфигурации на отделни раздели, но вие ги помете в един файл, един за едната. Назовете файла values.yaml.

Всички добавки Helm имат стойности на файла.yaml с всички възможни конфигурации, които могат да бъдат направени в допълнението. Когато създаваме собствен файл values.yaml, насочваме промените, които искаме да внесем. Ако има значение, което не включваме в нашия файл, бъде залишено с такъв, който е във файловете за затваряне.

Всички значения за заговор също можете да намерите на страницата добавка helm, https://hub.helm.sh/charts/bitnami/redmine. Отидете и проверете всички конфигурации.


Първият администраторски потребител

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

Парола Redmine:

Този крок също е необичаен, голям и простий за разбиране. Това е нашият първи потребител в Redmine, който ще използваме за вход в системата за първи път.

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

База данни PostgreSQL

За затваряне нашата инсталация Helm изисква създаване на база данни mariadb. Заради това настройваме нашата инсталация за използване на PostgreSQL. Вие също трябва да добавите парола за достъп до тази база данни, както е показано по-долу

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

mariadb:

 увімкнено: грешка

PostgreSQL:

  увімкнено: правда

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

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

  Парола postgresql:

Трябва ясно да посочите инсталираните програми, които не искаме, за да се инсталира MariaDB едновременно с конфигурацията за база данни PostgreSQL.


Настройка на DNS

Посочената по-долу настройка е друга частна настройка на DNS, която изпълнихме в Част 1. Ако сте избрали, извадих TLS, протокол, който се намира на базата на HTTPS, и инсталирах името на хоста, което използвахме, създадено от нашия DNS-запис:

ингрес:

  увімкнено: правда

  certManager: правда

  име на хоста: redminek8s.ddns.net

  tls: правда

  анотации:

    kubernetes.io/ingress.class: nginx

    cert-manager.io/cluster-issuer: letsencrypt

Също така в последните два реда използвахме нашето приложение с контролер Ingress и Cluster Issuer, които създадохме по-рано.

Сега можем да разгорним Redmine с нашата използваща конфигурация:

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

Редът е подобен на други редове от този helm install, които използвахме преди, но този път ми даваме използваеми стойности.yaml. Така можете да промените всяко приложение Helm.

Нуждаем се от малко търпение, след създаването на добавяне на определен час. Можете да изпълните тази команда, за да проверите контейнерите на Вашата добавка:

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

Команда поверне нещо подобно на това:

ИМ'Я ГОТОВНІСТЬ СТАТУС ПЕРЕЗАПУСКИ ВІК

. . .

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

redmine-postgresql-0 1/1 Работи 0 6m40s

Необходими са ви очаквания, докато статусът за двата контейнера ще бъде Running, а всичко е готово 1/1, което в този случай е заело около 6 минути.

Сега всичко е готово, за да отворите браузъра и да преминете към нашето ново разгортане:

Redmine готов


Резултати

Kubernetes - това е складов инструмент за разграждане на добавки, но аз преминах чрез тази съвместимост с помощта на Helm (без жарти) и разгорих надеждната инсталация Redmine.

Можете да намерите кратко описание на тази инструкция в следващия списък git-репозиторию: https://github.com/lcofre/redmine-on-k8s.Не се сравнявайте с Вашите файлове, ако сте застрягли.

Ми оставиха някои понятия зад обговоренията, поради което те бяха складни или пояснения бяха специфични за облачните технологии. Сред тях - жизнеспособност и готовност на вашата добавка, настройка на входните листове и мащабиране за работа с по-големи натоварвания. Моля, уведомете ни по-долу, че сте най-интересни, за да можете да обсъдите това в следващите материали.

Последна актуализация на Redmine? Легко.

Разгледайте всички мощни инструменти за идеално планиране, управление и контрол на проекта в една от предоставените програми.

Изпробвайте Easy Redmine в 30-денна безплатна пробна версия

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