Redmine в Kubernetes – Частина 2: Встановлення Redmine

6/30/2020
8 perc
Лукас Бена

Це друга частина серії статей про розгортання Redmine в Kubernetes. У цій статті ми надамо інструкції щодо того, як розгорнути надійну установку Redmine.

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

Зараз Ви, мабуть, з нетерпінням чекаєте на встановлення Redmine на Kubernetes. Зрештою, це те, за чим Ви прийшли, чи не так?

В Redmine Kubernetes - 1. hely: Підготовка середовища, ми встановили Ingress Controller, компонент для перенаправлення інтернет-запитів всередині Вашого кластера, ілистн.dmds8 DNS. Тепер нам потрібно лише налаштувати HTTPS і ми готові до розгортання Redmine.


HTTPS з cert-manager

Хоча ми могли б зберегти наш Redmine як HTTP, HTTPS став стандартом для веб-сайтів настільки, що більшість більшість брауперперпю про проблему з безпекою, коли HTTPS не використовується веб-сайтом.

Зазвичай увімкнення HTTPS не є тривіальним завданням, оскільки Вам потрібно купити сертифікат ивімкнені сертифікат сайт, оновити його через певний час і повторити процес. Cert-Manager атоматизє ве це, вючаючи онолення сертифіаті, і навт отримє безшшні сертиааааааааааааааа аааааааааааааааааа б бшnknkánk. Ви можете побачити більше інформації на їхньому сайті, але я поясню все, що Вам потрібно знати далі.


Встановлення cert-manager

Виконайте наступні кроки, щоб встановити cert-manager у Вашому кластері:

kormányrepo add jetstack https://charts.jetstack.io && helm repo frissítés

sisak telepítése cert-manager jetstack / cert-manager - set installCRDs = true

Спочатку Ви додаєте сховище, де є cert-manager, а потім встановлюєте його останню версію.


Підключення до Hitelesítés-szolgáltató

Зараз нам потрібно вказати cert-manager, до якого постачальника сертифікатів ми хочемо підключитися. Ми будемо використовувати LetsEncrypt, безкоштовний центр сертифікації. Спочатку створіть цей файл (не забудьте замінити на реальну адресу електронної пошти) і назвіть його cluster-issuer.yaml

apiVerzió: cert-manager.io/v1alpha2

Típus: ClusterIssuer

метадані:

  név: letsencrypt

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

  csúcspont:

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

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

    privateKeySecretRef:

      név: letsencrypt

    виконувачі:

    - http01:

        інгрес:

          Klassz: nginx

Потім застосуйте його до Вашого кластеру за допомогою

kubectl apply -f cluster-emiter.yaml

Вітаємо! Наведений вище файл, є першою конфігурацією kubernetes, яку ми написали і застосували до кластера. Ви могли помітити, що він показує, як підключитися до LetsEncrypt, але він також описує описує він показує контроле частині 1 (kl.: nginx в кінці). Цей тип конфігурації має деякі рядки з пробілами, щоб вказати залежність одних властивій одних властивосте. Залиште ці пробіли так, як показано, щоб переконатися, що файл читається і застосовулетьжм.

Тепер Ваш кластер підтримує HTTPS. Кожного разу, коли ми встановлюємо додаток, ми можемо вказати йому працювати з HTTPS і voálá! Весь процес отримання сертифікату буде виконано автоматично за лаштунками.


Встановлення Redmine

Це те, на що ми всі чекали. Ми можемо встановити Redmine кількома різними способами, але найзручніший - використовувати використовувати Helm.Як ми вжірашокусле ми додаємо сховище, де знаходиться Redmine

sisak repo hozzá bitnami https://charts.bitnami.com/bitnami && helm repo frissítés

Але цього разу замість того, щоб одразу встановлювати, ми створимо конфігураційний фазукуцуб врипакуцуб інку,яку ми хочемо, щоб мав Redmine.

Ми розділимо всі конфігурації на окремі розділи, але Ви помістите їх в один файл, одною. Назвіть файл values.yaml.

Всі додатки Helm мають файл values.yaml з усіма можливими конфігураціями, які можуть бутдоди зробле. Коли ми створюємо власний файл values.yaml, ми визначаємо зміни, які ми хочемо внести. Будь-яке значення, яке ми не включимо в наш файл, буде залишено таким, яким воно є у фамзаввонзайлф.

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


Перший адміністраторський користувач

Ім'я користувача Redmine: adminUser

Пароль Redmine:

Цей крок настільки ж необхідний, наскільки і простий для розуміння. Це наш перший користувач у Redmine, який ми будемо використовувати для входу в систему вперше.

Коли Redmine буде встановлено, Ви зможете отримати доступ до нього під цим користувачем, щоб налаштувашувати.

База даних PostgreSQL

За замовчуванням наша установка Helm потребує створення бази даних mariadb. Замість цього ми налаштуємо нашу установку на використання PostgreSQL. Вам також потрібно додати хоча б пароль для доступу до цієї бази даних, як показано нижче

Típus бази даних: postgresql

MariaDB:

 увімкнено: помилка

PostgreSQL:

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

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

  Ім'я користувача postgresql: Redmine

  Пароль postgresql:

Нам потрібно чітко вказати програмі встановлення, що ми не хочемо, щоб MariaDB встановлювалася разоюцалігувалася разоюю és a PostgreSQL.


Налаштування імен DNS

Наведене нижче налаштування є другою частиною налаштування DNS, яке ми виконали в Частині 1.Як Частині XNUMX.Як LS, протокол, що лежить в основі HTTPS, і встановили ім'я хоста, яке ми використовували при створенні нашопго DNS:

інгрес:

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

  certManager: правда

  ім'я хоста: redminek8s.ddns.net

  tls: правда

  анотації:

    kubernetes.io/ingress.class: nginx

    cert-manager.io/cluster-issuer: letecrypt

Також в останніх двох рядках ми пов'язали наше додаток з контролером Ingress та з Cluster Issuer, який ми створилі.

Тепер ми можемо розгорнути Redmine зі нашою користувацькою конфігурацією:

sisak telepítése Redmine -f értékek.yaml bitnami / redmine

Цей рядок схожий на інші рядки helm install, які ми використовували раніше, але цього разу ми надацього разу ми надацього разу ми надацього разу ми надацього разу ми надацього разу.ва. ном можна налаштувати будь-який додаток Helm.

Нам потрібно ще трохи терпіння, оскільки створення додатка займає деякий час. Ви можете виконати цю команду, щоб перевірити стан контейнерів Вашого додатка:

kubectl kap hüvelyeket --watch

Команда поверне щось схоже на це:

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

. . .

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

redmine-postgresql-0 1/1 Futás 0 6m40s

Вам потрібно зачекати, доки статус для обох контейнерів буде Futás, а все готове 1/1, що визкондму що в мопєму хвилин.

Тепер все готово, щоб відкрити браузер та перейти до нашого нового розгортання:

Redmine готовий


Eredmények

Kubernetes - це складний інструмент для розгортання додатків, але ми пройшли через цю складність складність за складність за додатків та розгорнули надійну установку Redmine.

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

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

Остаточне оновлення Redmine? Легко.

Отримайте всі потужні інструменти для ідеального планування, управління та контролю проєкту в попугнознобенту і.

Спробуйте Easy Redmine у ​​30-денній безкоштовній пробній версії

Повнофункціональний, захищений SSL, щоденне резервне копіювання, у вашій геолокації