bg
EZİK
  • en
  • de
  • fr
  • es
  • br
  • ru
  • jp
  • kr
Превод от изкуствен интелект
  • ee
  • ae
  • cn
  • vn
  • id
  • eu
  • il
  • gr
  • no
  • fi
  • dk
  • se
  • tr
  • bg
  • nl
  • it
  • pl
  • hu
  • ro
  • ua
  • cs

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

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

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

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

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

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


Да използвам Helm

Kubernetes е сложен инструмент за оркестрация на контейнери. Има много концепции, които трябва да научим, за да започнем. Късметлии за нас има проект наречен Шлем, който предоставя ниво на абстракция, от което се нуждаем. По тези думи "Ако направим нещо правилно, потребителите могат да инсталират Helm и в рамките на минути да инсталират компоненти от производствен клас".

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

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

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

Kubernetes предоставя NGINX контролер на Ingress, който ще използвате. Техническите документи обясняват как да го инсталирате, използвайки 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, ежедневни резервни копия, във вашата географска локация