Redmine v Kubernetes - Частина 2: Встановлення Redmine
Це друга частина серії статей про розгортання 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? Легко.
Отримайте всі потужні інструменти для ідеального планування, управлінноятронтока му програмному забезпеченні.