Редмайн в Кубернетесі - Частина 1: Підготовка середовища

6/22/2020
6 perc
Лукаш Беньа.

У цій двочастинній серії ми розгорнемо Redmine в Kubernetes. Ми використовуватимемо рекомендовані інструменти та практики з метою розгортання стійкого екземпляру Redmine HTTPS чемпляру.

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

Цей посібник був написаний з метою бути незалежним від хмари, тому ми спеціально не згадували жодної хмари, яку ми використовували. Залиште коментар, якщо можете вгадати, яку хмару ми використовували, та розкажіть нам, який деталь. Ми рекомендуємо використовувати службу Kubernetes, яку пропонує ваша хмара, оскільки вона домлз, имкре інтегрована також надає ваша хмара.

Середовища, такі як microk8s або minikube, тут не розглядаються, оскільки вони потребують деякоііграї, додатковоц одить за межі цього посібника. Зокрема, наша конфігурація HTTPS потребує, щоб наш кластер мав публічну IP-адресу.


Використовуймо Helm

Kubernetes - це складний інструмент для оркестрування контейнерів. Є багато концепцій, які нам потрібно вивчити, щоб почати. На щастя, є проект під назвою Sisak, який надає рівень абстракції, який нам потрібен. За їхніми словами: «Якщо ми все зробили правильно, користувачі можуть встановлювати Helm і вже черезробили і вже чере и компоненти готові до використання виробництва».

Залишаючи осторонь причини їхніх назв (все це розповідає історію метафори, Helm, Kubernetes тав), нерміх назв дійсно спрощує встановлення, дозволяючи при цьому налаштовувати компонент під наші потреби. Ми використовуватимемо Helm 3, їхню останню та ще простішу версію.

Якщо ви використовуєте оболонку хмар

Встановіть контролер Ingress

Це перший компонент, який ми встановимо в нашому кластері, і також перше поняття Kubernetes, яке ми пмо. Контролер Ingress знаходиться на вході до вашого кластера, отримує всі веб-запити та перенаправляє та перенаправляє знаходиться на вході до вашого кластеRA та, відповідального за відповідь на запит. Спочатку ніхто не буде готовий відповідати, але коли ми встановимо Redmine, він буде доданий як призначення для запитів.

Kubernetes надає контролер Ingress NGINX, який ми використовуватимемо. У їхній документації пояснюється, як його встановити за допомогою Helm:

helm repo hozzáadása ingress-nginx https://kubernetes.github.io/ingress-nginx && helm repo frissítés

sisak telepítése ingress-kontroller ingress-nginx / ingress-nginx

Перша команда додає репозиторій додатків, де знаходиться контролер Ingress, тоді як друга встановлює друга встановлює. Після завершення команда надрукує деяку інформацію для початку роботи, включаючи те, включаючи те, публічну IP-адресу, призначену для контролера:

kubectl szolgáltatások - óra

Результат буде щось схоже на це:

NÉV TÍPUSA Klaszter-IP KÜLSŐ-IP PORT (K) KORA

nginx-controller LoadBalancer 10.0.115.117 89.68.23.33 80 / TCP, 443 / TCP 5m22s

vezérlő-felvételi ClusterIP 10.0.135.226 443 / TCP 5m22s

kubernetes ClusterIP 10.0.0.1 443 / TCP 44 óra

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


Створення запису DNS A

Тепер, коли у вас є IP-адреса, ви можете перейти до браузера та перевірити, як ваш кластер відповідає. Звичайно, оскільки жодна програма ще не встановлена, ваш кластер буде відповідати помилкою "404 Not Found". Ми створимо домен DNS, який ми можемо пов'язати з цим IP-адресою, сподіваємося, що це буде легше запам'ятати, ніж список чисел та крапок.

Спосіб створення інтернет-домену для вашого Redmine значно залежить від вашого провайдера доменів, але в будь-якому випадку ви створюєте запис DNS A, який пов'язує ім'я домену з вашим IP. Дивіться наступний знімок екрана від провайдера DNS no-ip.com як посилання на довідку.

Створення нашого запису DNS A

Дані, які потрібно заповнити, як ви могли очікувати, це ім'я DNS és IP-adреса. No-IP - саме те, що нам потрібно, щоб проілюструвати створення домену, але ви, напевно, виберете іншой DNS. Процес досить схожий у всіх них.

На створення нового запису потрібен час для розповсюдження, тому ви можете використовуревати IP-бристов, потрібен е правильно розрішена:

ping redminek8s.ddns.net


Következő lépések

Тепер, коли у нас є контролер входу та домен DNS, єдине, що залишилося, це налаштувати HTTPS для нашого сайту та встановити Redmine. Ми використовуватимемо PostgreSQL як нашу базу даних, але ви побачите, наскільки легко налаштувати все доюмо доюмоm.

Залишайтеся на зв'язку для Redmine a Kubernetesben 2. rész: A Redmine telepítése.

Оновлення Redmine на вищий рівень? Легко.

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

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

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