bg
EZİK
  • en
  • de
  • fr
  • es
  • br
  • ru
  • jp
  • kr
Превод от изкуствен интелект
  • ee
  • ae
  • cn
  • vn
  • id
  • eu
  • il
  • gr
  • no
  • fi
  • dk
  • se
  • tr
  • bg
  • nl
  • it
  • pl
  • hu
  • ro
  • ua
  • cs

в 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

Изпълнете стъпки, за да инсталирате следния 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, за да се свържем с Certificate provider на нашия избор. Ще използваме 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 имат файл values.yaml с всички възможни конфигурации, които могат да бъдат създадени за приложението. Когато създавам нашите собствени values.yaml, определяме промените, които искаме. Всяка стойност, която не е включена в нашия файл, ще бъде оставена както е във файла по подразбиране.

Всички стойности по подразбиране могат да бъдат намерени и на страницата на приложението на Helm, 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 Controller и с Cluster Issuer, което създава преди това.

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

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

Този ред е подобен на други редове за инсталиране на Helm, които се използват преди, но този път предоставя персонализиран values.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 repo: https://github.com/lcofre/redmine-on-k8s. Не се колебайте да сравните с вашите файлове, ако се застъпите.

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

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

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

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

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