Redmine в Kubernetes - Част 1: Средно прегръщане.

6/22/2020
6 минути
Лукаш Беня -> Лукаш Беня
В тази серия в две части, от внедряване на Redmine в Kubernetes. Vom folosi instrumente și practici recomandate cu scopul de a implementmento instanță resistentă de Redmine peste HTTPS.

Am împărțit acest ghid în două părți pentru a ne concentra mai întâi pe инсталиране на инструменти и компоненти погрижете се за прилагането на фолиото на Redmine. Dar nu vă faceți griji cu privire la complexitate. Chiar dacă sunteți nou în Kubernetes, va fi o explicație ușor de înțeles.

Acest ghid a fost scris pentru a fi агностик ла нор, așa că am lăsat intenționat toate mențiunile despre norul pe care l-am folosit. Lăsați un comentariu dacă puteți ghici norul pe care l-am folosit și spuneți-ne ce detaliu va dat de gol. Препоръчваме ви да използвате услугата Kubernetes за грижа или да предлагате norul dvs., ако искате да интегрирате други услуги pe care norul dvs. le oferă, dar nu sunt luate în considerare mediile precum microk8s sau minikube, deoarece necesită o configurare suplimentară care depășește domeniul de aplicare al acestui ghid. În special, configurarea noastră HTTPS necesită ca clusterul nostru să aibă o adresă IP publică.


Să folosim Helm

Kubernetes е или нестандартен комплекс за това orchestrarea containerelor. Există multe concepte pe care trebuie să le învățăm pentru a începe. Din fericire, există un proiect numit Шлем care oferă nivelul de abstractizare de care avem nevoie. În cuvintele lor „Dacă am făcut lucrurile corect, utilizatorii ar putea instala Helm și apoi în câteva minute să instaleze componente gata de producție“.

Lăsând la o parte motivele pentru numele lor (toate spun povestea unei metafore, Helm, Kubernetes și containere), Helm опростено с adevărat instalarea permițând în același timp personalizarea componentei în funcție de nevoile noastre. Vom folosi Helm 3, ultima lor versiune și chiar mai simple.

Dacă utilizați shell-ul norului furnizorului dvs. de nor, există șanse ca Helm 3 să fie deja disponibil, dar dacă nu, îl puteți instala urmând ghidul oferit de documentația Helm, helm.sh/docs/intro/install/. Trebuie să aveți достъп до clusterul dvs. din linia de comandă pe care o utilizați. Furnizorul dvs. нито са și un ghid despre cum să faceți asta.


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

Acesta este primarni компонент pe care îl vom instala în clusterul nostru și este, de asemenea, primal concept Kubernetes pe care îl vom vedea. Контролерът Ingress се придвижва към вътрешното пространство на clusterului dvs., преместете целия cererile web и пренасочете вътрешния компонент, отговорен за стартиране на това. Инициал, nu va fi imeni pregătit să răspundă, dar când instalăm Redmine, acesta va fi adăugat ca destinație pentru cereri.

Kubernetes оферта Контролен вход NGINX pe care îl vom folosi. Документация за обяснение с инсталация след Helm:

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

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

Prima comandă adaugă depozitul de aplicații în care se află controlerul Ingress, în timp ce a doua îl instalează în clusterul dvs. Când ați terminat, comanda va afișa unele informații pentru a începe, inclusiv cum să obțineți адрес IP publică atributită controlerului:

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ч

Rețineți адрес IP EXTERNAL-IP deoarece o vom avea nevoie în următorul pas. S-ar putea să se întâmple ca în loc de o adresă IP, valoarea pe care o obțineți acolo să fie . Este nevoie de ceva timp pentru ca cloud-ul să obțină o adresă public IP și să o atribuie clusterului dvs.. Așteptați câteva secunde în plus și адрес IP ar trebui să fie disponibilă.


Създайте и не регистрирайте DNS A

Ако имате IP адрес, обединете го в браузъра си и го въведете с разгръщане на клъстерна дъмнеавоастра. Дизайнът, ако не сте инсталирали новото приложение, клъстерът dumneavoastră се появява с грешка „404 Not Found“. Vom crea un domeniu DNS pe care îl by asocia acelei address IP, sperăm că mai ușor de reținut decat o listă de numere și puncte.

Modalitatea de a crea un domeniu de internet pentru Redmine-ul dumneavoastră depinde foarte mult de furnizorul dumneavoastră de domenii, dar în toate cazurile, veți crea o înregistrare DNS A care leagă un nume de domeniu cu address IP. Uitați-vă la captura de ecran de mai jos de la furnizorul de DNS no-ip.com pentru referencță.

Създаване на регистрационен номер на DNS A

Datele de completat, așa cum v-ați aștepta, sunt DNS номер и IP адрес. No-IP este exact ceea ce avem nevoie pentru a ilustra crearea unui domeniu, dar probabil că veți alege un furnizor DNS diferit. Procesul este destul de similar în toate cazurile.

Durează ceva timp pentru ca noua înregistrare să se propage, astfel încât puteți utilize команда ping pentru a verification când IP адрес е resolvată corect:

ping redminek8s.ddns.net


Следващи стъпки

Acum că avem un controler de intrare și un domeniu DNS, singurul lucru rămas de făcut este конфигурирайте HTTPS за страницата на сайта или инсталирайте Redmine. Ако използвате PostgreSQL за база данни за дата, можете да видите, че потребителят е в конфигурацията на целия файл Helm.

Stați pe aproape pentru Redmine в Kubernetes Част 2: Инсталирайте Redmine-ului.

Окончателно актуализиране на Redmine? Ușoară.

Получете всички инструменти за управление на планирането, управлението и перфектния контрол на софтуера за въвеждане на софтуер на проектант.

Изтеглете Easy Redmine за 30 дни безплатно изтегляне

Функциите са завършени, защитават SSL, резервни копия, архивиране, dvs геолокализация.