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

6/22/2020
6 minut
Łukasz Беньа.

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

Ми розділили цей посібник на дві частини, щоб спочатку сфокусуватися на встановленні інструментів та компонентів, які будуть використовуватися для розгортання Redmine. Але не хвилюйтеся про складність. Wybierz nowy sposób korzystania z Kubernetes, a następnie kliknij opcję пояснення.

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

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


Hełm Використовуймо

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

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

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

Zainstaluj kontroler Ingress

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

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

repozytorium sterów dodaje ingress-nginx https://kubernetes.github.io/ingress-nginx Aktualizacja repozytorium sterów &&

ster instaluje ingress-controller ingress-nginx / ingress-nginx

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

kubectl uzyskać usługi - zegarek

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

NAZWA TYP KLASTER-IP PORT (y) ZEWNĘTRZNEGO IP WIEK

LoadBalancer 10.0.115.117 kontrolera nginx 89.68.23.33 80 / TCP, 443 / TCP 5m22s

Cluster-admission Controller ClusterIP 10.0.135.226 443 / TCP 5m22s

kubernetes ClusterIP 10.0.0.1 443 / TCP 44 godz

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


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

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

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

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

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

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

pinguj redminek8s.ddns.net


Następne kroki

Тепер, коли у нас є контролер входу та домен DNS, єдине, що залишилося, це Nawigacja HTTPS umożliwia dostęp do serwisu Redmine. Ми використовуватимемо PostgreSQL як нашу базу даних, ale ви побачите, наскільки легко налаштувати все за допомогою Hel m.

Залишайтеся на зв'язку для Redmine w Kubernetes Część 2: Instalowanie Redmine.

Ogłoszenie Redmine na Twojej stronie? Легко.

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

Pobierz Easy Redmine na 30-dniową wersję oprogramowania

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