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

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

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

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

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

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


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

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

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

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

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

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

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

kormidlo repo přidat ingress-nginx https://kubernetes.github.io/ingress-nginx && Helm repo update

helm install ingress-controller ingress-nginx / ingress-nginx

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

kubectl získat služby - hodinky

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

TYP JMÉNA CLUSTER-IP VĚK EXTERNÍ IP IP VĚK

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

Controller-Admission ClusterIP 10.0.135.226 443 / TCP 5m22s

kubernetes ClusterIP 10.0.0.1 443 / TCP 44h

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


Zřízená DNS A

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

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

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

Дані, які потрібно заповнити, як ви могли очікувати, це jako DNS a IP-Adresa. No-IP - саме те, що нам потрібно, щоб проілюструвати створення домену, але ви, напевног,опевновати nová DNS. Процес досить схожий у всіх них.

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

ping redminek8s.ddns.net


Další kroky

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

Залишайтеся на зв'язку для Redmine v Kubernetes Část 2: Instalace Redmine.

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

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

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

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