Redmine и Kubernetes – Дел 1: Запазени милиони

6/22/2020
6 минути
Лукаш Бена
Разбрах, че тази поредица ще ви разпространи Redmine до Kubernetes. Ние ще направим неизправни версии и практики с mål om å разпространение в надеждни моменти от Redmine през HTTPS.

Vi delte denne veiledningen i to deler for å først fokusere på инсталация на версия и компонент като внедряване на Redmine от bruke. Men ikke bekymre deg for kompleksiteten. Selv om du er ny på Kubernetes, vil det være en forståelig forklaring.

Denne veiledningen ble skrevet for å være небе-уавхенгиг, så vi utelot med vilje alle referanser til skyen vi brukte. Legg igjen en kommentar hvis du kan gjette hvilken sky vi brukte, og fortell oss hvilke detaljer som avslørte det. Vi anbefaler deg å bruke Kubernetes-tjenesten som skyen din tilbyr, da den er godt integrert med andre tjenester som skyen din også tilbyr.

Miljøer som microk8s или minikube er ikke inkludert her, da de krever litt mer konfigurasjon som er utenfor omfanget av denne veiledningen. Spesielt krever vår HTTPS конфигурация at klyngen vår har en offentlig IP-adresse.


La oss bruke Helm

Kubernetes е сложна версия за контейнерно управление. Det er mange begreper vi må lære for å komme i gang. Heldigvis er det et prosjekt som heter Шлем som gir det nivået av abstraksjon vi trenger. Med deres egne ord: „Hvis vi gjorde ting riktig, kunne brukere installere Helm og deretter innen minuteter installere komponenter av produksjonskvalitet rett fra hylla“.

Uten å gå inn på grunnene til navnene deres (det forteller hele historien om en metafor, Helm, Kubernetes og kontainere), gjør helm virkelig installasjonen enklere samtidig som det gir rom for tilpasning av komponentn etter våre behov. Ние използваме Helm 3, тази нова и последна версия.

Hvis du bruker skyens skall fra skytilbyderen din, er sjansene store for at Helm 3 allerede er tilgjengelig, men hvis ikke kan du installere det ved å følge veiledningen som Helm-dokumentasjonen gir, helm.sh/docs/intro/install/. Du må allerede ha tilgang til klyngen din fra kommandolinjen du bruker. Skytilbyderen din har også en veiledning om hvordan du gjør det.


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

Това е първият компонент, който ще инсталирате в клинен вариант, и ще имате първия Kubernetes-концепт. En Ingress-controller sitter ved inngangsdøren til klyngen din, mottar alle webforespørsler og omdirigerer dem til den interne komponentn som er ansvarlig for å svare på forespørselen. I begynnelsen vil det ikke være noen klar til å svare, men når vi installer Redmine, vil det bli lagt til som en destinasjon for forespørslene.

Kubernetes tilbyr NGINX входен контролер som vi vil bruke. Dokumentasjonen deres forklarer hvordan du installer den ved hjelp av Helm:

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

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

Първата команда се зарежда до хранилище на приложения на входния контролер, мъжът е друг инсталатор, когато го включите. Når den er ferdig, vil kommandoen skrive ut noen opplysninger for å komme i gang, inkludert hvordan du får den offentlige IP-adressen som er tildelt til kontrolleren:

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

Резултатът, който няма да видите този лигнен:

NAVN ТИП KLUSTER-IP EKSTERN-IP PORTER ALDER

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 44t

Merk deg EKSTERN-IP, da vi vil trenge den i neste trinn. Det kan hende at verdien du får der i stedet for en IP er . Det tar litt tid for skyen å skaffe en offentlig IP og tildele den til klyngen din. Bare vent noen få sekunder til, og IP-adressen skalk være tilgjengelig.


Opprett en DNS A-post

Nå som du har IP-adressen, kan du bare go til en nettleser og se hvordan klyngen din svarer. Собствено, ако не сте инсталирали приложението, можете да го направите с файл „404 Not Found“. Vi vil opprette et DNS-domene som vi kan knytte til den IP-adressen, forhåpentligvis lettere å huske enn en list med tall og punktum.

Måten å opprette et internett-domene за Redmine avhenger i stor grad av din domeneleverandør, men i alle tilfeller ender du opp med å opprette en DNS A-post som kobler et domainnavn til IP-adressen din. Следващата skjermbilde от DNS-leverandøren no-ip.com като препратка.

Изберете DNS A-post

Dataene du må fylle ut, som du kanskje forventer, er домейн и IP адреси. No-IP er kurat det vi trenger for å ilustrere opprettelsen av et domene, men du vil sannsynligvis velge en annen DNS-leverandør. Prosessen er ganske lik i alle sammen.

Det tar litt tid for den nye posten å spre seg, så du kan bruke ping for å sjekke når IP-adressen blir løst riktig:

ping redminek8s.ddns.net


Neste steg

Nå som vi har en ingress-kontroller og et DNS-domene, er det eneste som gjenstår å конфигуриране на HTTPS за мрежа и инсталиране на Redmine. Ако използваме PostgreSQL като база данни, ще ви помогнем да конфигурирате друго след помощ от Helm.

Følg med på Redmine в Kubernetes, част 2: Инсталиране на Redmine.

Последно надграждане на Redmine? Enkel.

Få alle kraftige verktøy for perfekt prosjektplanlegging, -styring og -kontroll i én programvare.

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

Пълна функционалност, SSL-защита, продължително сиккерхетско копие, и din geografiske plassering