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

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

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

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

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

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


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

Kubernetes - це складний інструмент для оркестрування контейнерів. Є багато концепцій, які нам потрібно вивчити, щоб почати. На щастя, є проект під назвою Helm, який надає рівень абстракції, який нам потрібен. Vad är det som: «Vi har säkrat kapaciteten, det är möjligt att installera Helm och det är helt klart? компоненти готові до використання виробництва».

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

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

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

Це перший компонент, який ми встановимо в нашому кластері, och також перше поняття Kubernetes, яке ми побачим. Контролер Ingress släpper in på вході till вашого кластера, отримує всі веб-запити и перенаправляє машого кластера. відповідального за відповідь на запит. Du kan inte köpa någon annan än Redmine, även om jag har köpt призначення для запитів.

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

helm repo lägg till ingress-nginx https://kubernetes.github.io/ingress-nginx && helm repo-uppdatering

helm installera ingress-controller ingress-nginx / ingress-nginx

Перша команда додає репозиторій додатків, де знаходиться контролер Ingress, тоді як друга встановлюшо йвстановлшов йвогоє. Після завершення команда надрукує деяку information för початку роботи, включаючи те, як отримати ansluten IP-adress, applikation för konsol:

kubectl få tjänster - klocka

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

NAMN TYP CLUSTER-IP EXTERN-IP PORT (S) ÅLDER

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

controller-tillträde ClusterIP 10.0.135.226 443 / TCP 5m22s

kubernetes ClusterIP 10.0.0.1 443 / TCP 44h

Visa EXTERNAL-IP, även om det finns ett system. Можливо, замість IP значення, яке ви отримаєте там, буде . Це займає деякий час для хмари отримати публічний IP та призначити його вашому кластеру. Просто зачекайте ще кілька секунд, и IP має бути доступним.


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

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

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

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

Дані, які потрібно заповнити, як ви могли очікувати, це det är DNS och IP-adress. No-IP - cam те, що нам потрібно, щоб проілюструвати створення домену, але ви, напевно, виберете інраншого. Процес досить схожий у всіх них.

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

ping redminek8s.ddns.net


Nästa steg

Тепер, коли у нас є контролер входу та домен DNS, єдине, що залишилося, це налаштувати HTTPS för нашого сайту та встановити Redmine. Ми використовуватимемо PostgreSQL kommer att vara tillgänglig, även om du kan hitta, läs mer om Hela.

Залишайтеся на зв'язку для Redmine i Kubernetes del 2: Installera Redmine.

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

Överför plattformsinstruktioner för idеального планування, управління и контролю проектів одного просмотр.

Köp Easy Redmine och 30-dagars gratis datorer

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