en
Език
  • en
  • de
  • fr
  • es
  • br
  • ru
  • jp
  • kr
AI превод
  • ee
  • ae
  • cn
  • vn
  • id
  • eu
  • il
  • gr
  • no
  • fi
  • dk
  • se
  • tr
  • bg
  • nl
  • it
  • pl
  • hu
  • ro
  • ua
  • cs

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

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

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

Преизчисляване на част 1

Вече трябва да очаквате с нетърпение инсталацията на Redmine на Kubernetes. В крайна сметка, за това сте дошли, нали?

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


HTTPS с cert-мениджър

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

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


Инсталирайте 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, но също така описва Ingress Controller, който създадохме в Част 1 (Класът: nginx в края) Този тип конфигурация има някои линии с интервали, които показват зависимост на някои свойства към др. Запазете тези интервали, както е показано, за да се гарантира, че файлът се чете и прилага правилно.

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


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

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

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

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

Ще разделим всички конфигурации в тяхната собствена секция, но вие ги поставяте в един и същ файл една след друга. Обадете се на файла values.yaml.

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

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


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

RedmineUsername: adminUser

Redmine Парола:

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

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


PostgreSQL база данни

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

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

mariadb:

  активиран: false

PostgreSQL:

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

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

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

  postgresqlPassword:

Трябва изрично да кажем на нашата инсталация, че не искаме 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 и с издателя на клъстери, който създадохме преди.

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

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

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

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

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

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

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

. . .

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

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

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

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

Redmine е готов


Завършвайки

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

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

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

Най -добрият ъпгрейд на Redmine? Лесно.

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

Опитайте Easy Redmine за 30 дни безплатен пробен период

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