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

6/22/2020
6 минути
Лукаш Беня.

В тази двойна серия разгорнахме Redmine в Kubernetes. Ние използваме препоръчани инструменти и практики за предоставяне на устойчивия екземпляр Redmine чрез HTTPS.

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

Това ръководство е написано с предоставена услуга независим от облаци, затова ми специално не бяха използвани нито една облака, която ми използваха. Залищете коментар, ако вгадите, който облак ми използваха, и разкажете ни, който детайл е подказало. Препоръчваме да използвате услугата Kubernetes, която предлага вашия облак, след което тя е добре интегрирана с други услуги, които също предоставят вашия облак.

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


Използваем Helm

Kubernetes - това е складов инструмент за оркестриране на контейнери. Има много концепции, които трябва да научите, за да започнете. За щастие, е проект под името Шлем, който дава ниво на абстракция, което ни потрибен. Според техните думи: «Във всичко, което правим правилно, потребителите могат да инсталират Helm и вече след няколко минути инсталират компонентите, готови за използване на производството».

Залишавайки осторонь на основата на техните имена (все це описва историята на метафори, Helm, Kubernetes и контейнерів), helm наистина се опитва инсталиране, позволявайки при този на различни компоненти под нашите нужди. Ние използваме Helm 3, тяхната последна и ще бъде по-проста версия.

Ако използвате своя облак

Установете контролер Ingress

Това е първият компонент, който инсталираме в нашия кластер, и също първото понятие Kubernetes, което виждаме. Контролерът Ingress се намира на входа на вашия кластер, получава всички уеб-запити и ги пренасочва към вътрешния компонент, отговарящ на отговора на запитването. Първоначално никой няма да даде готов отговор, но когато установим Redmine, той ще бъде добавен като определен за запитвания.

Kubernetes предлага контролер Ingress NGINX, който ми използваме. В тяхната документация се пояснява, като го инсталирате с помощта на Helm:

helm repo добавете ingress-nginx https://kubernetes.github.io/ingress-nginx && helm repo update

helm инсталирате входящ контролер ingress-nginx / ingress-nginx

Първата команда добавя репозитории добавки, които са контролер Ingress, а след това като друга го инсталират във вашия кластер. След завършване на командата се отпечатва известна информация за началната работа, включително тази, като се получи публичен IP адрес, предназначен за контролера:

kubectl получите услуги - гледайте

Резултатът ще бъде нещо подобно на това:

ИМЕ ТИП КЛАСТЪР-IP ВЪНШЕН-IP ПОРТ (И) ВЪЗРАСТ

nginx-контролер LoadBalancer 10.0.115.117 89.68.23.33 80 / TCP, 443 / TCP 5m22s

клъстер за прием на контролер IP 10.0.135.226 443 / TCP 5m22s

kubernetes ClusterIP 10.0.0.1 443 / TCP 44ч

Запишете EXTERNAL-IP, останали да знаем това в следващия кръг. Възможно, вместо IP значение, което вие използвате там, бъде . Това отнема известно време за облаци получи публичен IP и припиши своя кластер. Просто очаквайте още няколко секунди и IP ще бъде достъпен.


Създаване на DNS запис A

Сега, когато имате IP-адрес, можете да преминете към браузъра и да проверите дали вашият кластер отговаря. Разбира се, следната никоя програма не е инсталирана, вашият кластер ще отговаря на грешката "404 Not Found". Ние създаваме домен DNS, който можем да свързваме с този IP-адрес, надяваме се, що це бъде легше запам'ятати, списък отколкото чисел та крапок.

Спосиб създаване на интернет домейн за вашия Redmine значително зависи от вашия провайдер на домейни, но във всеки случай създайте DNS запис A, който свързва името на домейна с вашия IP. Прегледайте следния екранен екран от доставчика DNS no-ip.com като връзка на доводка.

Създаване на нашия запис DNS A

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

При създаването на нов запис се изисква време за разпознаване, за което можете да използвате ping, за да проверите дали IP-адресът е правилно разрешен:

ping redminek8s.ddns.net


Следващи кроки

Сега, когато у нас е контролер на входа и домейн DNS, единственото, което остана, това настройте HTTPS за нашия сайт и инсталирайте Redmine. Ние използваме PostgreSQL като нашата база данни, но вие виждате, че много лесно настройвате всичко с помощта на Helm.

Залишавайте се на връзката за Redmine в Kubernetes, част 2: Инсталиране на Redmine.

Оновление Redmine на по-високо ниво? Легко.

Разгледайте всички мощни инструменти за идеално планиране, управление и контрол на проекти в някоя от осигурените програми.

Изпробвайте Easy Redmine в 30-денна безплатна пробна версия

Пълнофункционален, защитен SSL, ежедневно резервно копиране, във вашите геолокации