Redmine и Kubernetes – Дел 1: Предава се на милион

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

Намерих да изтрия серия, която внедрява Redmine в Kubernetes. Ще се опитаме да използваме вериги и методи с този формуляр и да внедрим стабилни инстанции на Redmine през HTTPS.

Vi har delte denne vejledning i to dele for at focusere først på инсталация на værktøjer и компоненти, като внедряването на Redmine в града. Men bekymre dig ikke om kompleksiteten. Selvom du er ny til Kubernetes, vil det være en forståelig forklaring.

Denne vejledning blev skrevet for at være облачен агностик, så vi undlod bevidst alle omtaler af den sky, vi brugte. Efterlad en kommentar, hvis du kan gætte, hvilken sky vi brugte, og fortæl os, hvilken podrobnosti der afslørede det. Vi anbefaler dig at bruge Kubernetes-tjenesten, som din sky tilbyder, da den er godt integreret med andre tjenester, som din sky også tilbyder.

Miljøer som microk8s или minikube er ikke taget i betragtning her, da de kræver lidt simple konfiguration, som er uden for denne vejlednings omfang. Især kræver vores HTTPS-конфигурация, когато сте склонни да имате объркан IP адрес.


Lad os bruge Helm

Kubernetes е комплексен производител контейнер-оркестрация. Der er mange begreber, vi skal lære for at komme i gang. Heldigvis er der et projekt kaldet Шлем, som giver det abstractionniveau, vi har brug for. I deres egne ord „Hvis vi gjorde tingene rigtigt, kunne brugere installere Helm og inden for få minutter installere komponente af produktionskvalitet ud af hylden“

Uden at gå ind i årsagerne til deres navne (det hele fortæller historien om en metafor, Helm, Kubernetes og Containere) gør helm virkelig installationen enklere, samtidig med at der er plads til at tilpasse komponenten til vores behov. Ние използваме Helm 3, тази нова и последна версия.

Hvis du bruger skyens shell fra din skyudbyder, er der stor sandsynlighed for, at Helm 3 allerede er tilgængelig, men hvis ikke kan du installere det ved at følge vejledningen, som Helm-dokumentationen provider, helm.sh/docs/intro/install/. Ду скал allerede have adgang til din klynge fra den kommandolinje, du bruger. Din skyudbyder har også en vejledning om, hvordan du gør det.


Инсталатор Ingress Controller

Този е първият компонент, който ще инсталирате и ще го инсталирате, и ще имате първата концепция на Kubernetes. En Ingress-controller sidder ved indgangsdøren til din klynge, modtager alle webanmodninger og omdirigerer dem til den interne komponent, der er ansvarlig for and besvare anmodningen. Стартирам vil der ikke være nogen klar til at besvare, men når vi installer Redmine, vil det blive tilføjet som en дестинация за anmodningerne.

Лост на Kubernetes NGINX Contress Controller, som vi vil bruge. Друга документация, инсталираща програма с помощна помощ от Helm:

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

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

Първата команда е предназначена за хранилище за приложения, когато входният контролер е, мъжкият и инсталаторът на този файл. Når installationen er færdig, udskriver kommandoen nogle oplysninger for at komme i gang, herunder hvordan man får den offentlige IP, der er er tildelt controlleren:

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

Резултатът, който ще видите следното:

NAVN ТИП КЛУСТЕР-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, за да имате проблем за този и следващия трин. Det kan ske, at værdien, du får der, i stedet for en IP er . Det tager lidt tid for skyen at få en offentlig IP og tildele den til din klynge. Vent bare et par sekunder mere, og IP'en burde være tilgængelig.


Избор на DNS A-post

Ако имате IP адрес, не можете да отидете в браузъра и да го направите, да копаете клъстера. Самостоятелна проверка, ако последното не е инсталирано на ново приложение, този клъстер ще бъде запазен с файл „404 Not Found“. Вие ще изберете DNS-domæne, така че можете да се асоциирате с IP, forhåbentlig nemmere at huske end en list af tal og prikker.

Måden at oprette et internetdomæne за Redmine afhænger i høj grad af din domæneudbyder, men i alle tilfælde ender du med at oprette en DNS A-post, der forbinder et domænenavn med din IP. Вижте следното сканиране от DNS-udbyderen no-ip.com като препратка.

Изпратете отговор на DNS A-post

De data, der skal udfyldes, som du nok forventer, er DNS мрежа и IP адреси. No-IP er lige det, vi har brug for at illustrere oprettelsen af ​​et domæne, men du vil sandsynligvis vælge en anden DNS-udbyder. Processen er ret ens i dem alle.

Det tager lidt tid for den ny post at spread sig, så du kan bruge ping til at kontrollere, hvornår IP'en er is correct opløst:

ping redminek8s.ddns.net


Næste trin

Nu hvor vi har en ingress-controller og et DNS-domæne, er det eneste, der mangler, at конфигуриране на HTTPS за уеб сайтове и инсталиране на Redmine. Ще използваме PostgreSQL, като използваме база данни, ако искате да го направите, не можете да го конфигурирате с помощта на Helm.

Задръжте dig updateret på Redmine в Kubernetes, част 2: Инсталиране на Redmine.

Окончателно надграждане на Redmine? Nemt.

Få alle kraftfulde værktøjer til perfect projectplanlægning, -styring og -kontrol in enkelt software.

Проверете Easy Redmine в 30 дни безплатен период на прожекция

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