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

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

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

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

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

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


HTTPS з cert-manager

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

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


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

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

kormidlo repo přidat jetstack https://charts.jetstack.io && Helm repo update

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

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


Підключення до Certificate Authority

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

apiVersion: cert-manager.io/v1alpha2

Tип: ClusterIssuer

метадані:

  například: letsencrypt

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

  vrchol:

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

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

    privateKeySecretRef:

      například: letsencrypt

    виконувачі:

    - http01:

        інгрес:

          klíč: nginx

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

kubectl apply -f cluster-emiter.yaml

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

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


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

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

kormidlo repo přidat bitnami https://charts.bitnami.com/bitnami && Helm repo update

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

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

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

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


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

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

Пароль Redmine:

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

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

База даних PostgreSQL

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

Typy даних: postgresql

mariadb:

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

postgresql:

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

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

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

  Typ postgresql:

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


Neznámý DNS

Наведене нижче налаштування є другою частиною налаштування DNS, яке ми виконалистиВ1 в. те, ми ввімкнули TLS, протокол, що лежить v основі HTTPS, і встановили ім'я хоста, ярвиоста, ярвиоста, ярвиоста, ярвиоста, ярвиоста оренні нашого DNS-запису:

інгрес:

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

  certManager: правда

  vaše stránka: redminek8s.ddns.net

  tls: правда

  anotace:

    kubernetes.io/ingress.class: nginx

    cert-manager.io/cluster-issuer: letsencrypt

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

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

helm install Redmine -f hodnoty.yaml bitnami / redmine

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

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

kubectl get lusky - hodinky

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

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

. . .

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

redmine-postgresql-0 1/1 Běh 0 6m40s

Вам потрібно зачекати, доки статус для обох контейнерів буде Běh, а все готовева 1/вготовама 1 ку зайняло близько 6 хвилин.

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

Redmine готовий


Výsledek

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

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

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

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

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

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

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