Редмайн в Кубернетесі - Частина 1: Підготовка середовища
У цій двочастинній серії ми розгорнемо 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 на вищий рівень? Легко.
Отримайте всі потужні інструменти для ідеального планування, управління та контролю проектів впумпудноів впумпудродів ні.