en
Език
  • en
  • de
  • fr
  • es
  • br
  • ru
  • jp
  • kr
AI превод
  • ae
  • cn
  • vn
  • id
  • eu
  • il
  • gr
  • no
  • fi
  • dk
  • se
  • tr
  • bg
  • nl
  • it
  • pl
  • hu
  • ro
  • ua
  • cs

Redmine в Kubernetes – Част 1: Подготовка на средата

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

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

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

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

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


Нека използваме Helm

Kubernetes е сложен инструмент за контейнерна оркестрация, Има много понятия, които трябва да се научим, за да започнем. За щастие за нас има проект, наречен Шлем което осигурява нивото на абстракция, от което се нуждаем. Със собствените си думи „Ако направихме нещата правилно, потребителите могат да инсталират Helm и след това за минути да инсталират висококачествени компоненти на рафта“

Оставяйки настрана причините за имената им (всичко това разказва историята на метафора, Шлем, Кубернети и Контейнери) кормило наистина опростява инсталацията като същевременно дава възможност за персонализиране на компонента според нашите нужди. Ще използваме Helm 3, последната им и още по-опростена версия.

Ако използвате облачната обвивка на вашия доставчик на облаци, има вероятност Helm 3 вече да е наличен, но ако не, можете да го инсталирате, следвайки ръководството, предоставено от Helm, helm.sh/docs/intro/install/, Необходимо е да влезете вече имате достъп до вашия клъстер от командния ред, който използвате. Вашият доставчик на облаци има ръководство как да направите това също.


Инсталирайте контролера на Ingress

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

Kubernetes предоставя NGINX Contress Controller ще използваме. Тяхната документация обяснява как да го инсталирате с помощта на Helm:

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

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

Първата команда добавя хранилището на приложения, където е входящият контролер, докато втората го инсталира във вашия клъстер. Когато приключите, командата ще отпечата някои данни, за да започнете, включително как да започнете публичния 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 запис

Сега, когато имате IP, можете просто да отидете в браузър и да видите как вашият клъстер отговаря на вас. Разбира се, тъй като все още не е инсталирано приложение, вашият клъстер ще отговори с грешка „404 не е намерен“. Ще създадем DNS домейн, който можем да свържем с този IP, надяваме се, по-лесно да се запомнят от списък с числа и точки.

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

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

Данните за попълване, както може би очаквате, са името на 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 защитени, ежедневни архиви, във вашето геолокация