Redmine в Kubernetes – Част 2: Инсталиране на Redmine в Kubernetes

6/30/2020
8 минути
Лукаш Беня.

Това е поредица от поредици над изпълнението на Redmine в Kubernetes. В тази статия ние даваме инструкции за инсталирането на Redmine, което трябва да бъде изпълнено.

Теругблик Дел 1

В този момент е голям достъп до инсталацията на Redmine на Kubernetes. Daarvoor ben je tenslotte hier, toch?

In Redmine в Kubernetes - Част 1: Предварителни изчисления за управление Ние инсталирахме Ingress Controller, един компонент от интернет версията е свързан с клъстер от вашия сайт, и ние сме DNS-домейн, redminek8s.ddns.net, aangemaakt. Нужно е, че всички HTTPS са конфигурирани, както и че сме внедрили Redmine.


Мениджър на сертификати за HTTPS

Hoewel we Redmine als HTTP kunnen houden, е HTTPS de standard geworden за уебсайтове. Zozeer zelfs dat de most browsers je waarschuwen voor een beveiligingsprobleem wanneer HTTPS niet wordt gebruikt door een website.

Het inschakelen van HTTPS is meestal geen eenvoudige taak, omdat je een certificaat moet kopen en het moet uploaden naar je site, het na een bepaalde tijd moet vernieuwen en het process moet herhalen. Cert-manager automatiseert dit alles, inclusief de vernieuwing van certificaten, en verkrijgt zelfs gratis certificaten. Je kunt meer informatie vinden op хун сайт, maar ik zal je alles uitleggen wat je moet weten.


Мениджър на сертификати за инсталиране

Следващото стартиране се използва от cert-manager в клъстера, който е инсталиран:

helm repo добави jetstack https://charts.jetstack.io && helm repo update

helm install cert-manager jetstack / cert-manager --set installCRDs = true

Първото място на хранилището е със сертификатен мениджър, който е инсталиран, и инсталирането е най-новата версия.


Вербинден се срещна със сертифициращия орган

Nu moeten we cert-manager instrueren om verbinding te maken met de door ons gekozen Certificate provider. Ние използваме LetsEncrypt, безплатна авторизация на сертификата. Maak eerst dit bestand aan (vergeet niet om te vervangen door een echt echtadres) en noem het cluster-issuer.yaml

apiВерсия: cert-manager.io/v1alpha2

вид: ClusterIssuer

метаданни:

  име: letsencrypt

спец:

  Acme:

    сървър: https://acme-v02.api.letsencrypt.org/directory

    електронна поща:

    privateKeySecretRef:

      име: letsencrypt

    решават:

    - http01:

        проникване:

          клас: nginx

Voer het vervolgens uit op je cluster met

kubectl прилагам -f cluster-issue.yaml

Gefeliciteerd! Het bovenstaande bestand е първата конфигурация на kubernetes, която сме записали в прехода към клъстера. Hebt misschien opgemerkt dat het laat zien hoe je verbinding kunt maken met LetsEncrypt, marar het beschrijft ook de Ingress Controller die we hebben gemaakt in Deel 1 (De class: nginx aan het einde). Dit type configuratie heeft enkele regels met spaties om de afhankelijkheid van sommige eigenschappen op andere aan te geven. Houd die spaties zoals getoond om ervoor te zorgen dat het bestand correct wordt gelezen en toegepast.

Клъстерът HTTPS не е включен. Telkens wanneer we een applicatie installeren, kunnen we deze instrueren om met HTTPS te werken en готово! Het hele process van het verkrijgen van het certificaat wordt automatisch achter de schermen uitgevoerd.


Инсталиране на Redmine

Това е waar we allemaal op hebben gewacht. We kunnen Redmine op verschillende manieren installeren, maar veruit de meest handige manier is om Helm te gebruiken. Zoals we eerder al deden, voegen we eerst het repository toe waar Redmine zich bevindt.

helm repo добавете битнами https://charts.bitnami.com/bitnami && helm repo update

Maar deze keer maken we in plaats van direct te installeren een configuratiebestand aan om aan te geven welk aangepast gedrag we willen dat Redmine vertoont.

We zullen alle configuraties in hun eigen sectie scheiden, maar ze allemaal in hetzelfde bestand plaatsen, één na de ander. Noem het bestand values.yaml.

Всички Helm-toepassingen са били стойности.yaml-bestand с всички могъщи конфигурации, които са в състояние да прехвърлят думи, които са дадени. Wanneer we onze eigen values.yaml maken, definiëren we de wijzigingen die we willen. Elke waarde die we niet in ons bestand opnemen, blijft zoals het is in het standaardbestand.

Alle standaardwaarden zijn ook te vinden op de helm-toepassingspagina, https://hub.helm.sh/charts/bitnami/redmine. Възползвайте се от всички конфигурации.


Eerste beheerdersgebruiker

Redmine потребителско име: adminUser

Redmine-watchword:

Deze stap is net zo noodzakelijk als gemakkelijk te begrijpen. Това е един от най-големите потребители на Redmine, които ще ви помогнат да влезете в системата.

Wanneer Redmine е инсталиран, трябва да се запознаете с този конфигуриран крийген за цялата конфигурация на вашата безпроблемна инсталация.


PostgreSQL-база данни

Стандартно инсталираната инсталация на Helm е активирана в mariadb-база данни. Разбрахме, че инсталациите са конфигурирани за използване на PostgreSQL. U moet ook ten minste een wachtwoord toevoegen om toegang te krijgen tot deze database, zoals u hieronder kunt zien.

Тип на базата данни: postgresql

mariadb:

  активиран: false

PostgreSQL:

  активиран: вярно

  postgresql База данни: Redmine

  postgresqlИме на потребителя: Redmine

  postgresqlПарола:

Ние изрично уточняваме, че тази инсталация е променена, тъй като ние не искаме да използваме MariaDB същата конфигурация за PostgreSQL-база данни, която е инсталирана.


DNS конфигурация на името

Поддържаната конфигурация е другата страна на DNS конфигурацията, която сме в раздел 1 на този етап. Zoals u kunt zien, cchakelen we TLS in, het protocol achter HTTPS, en stellen we de hostnaam in die we hebben gebruikt bij het maken van onze DNS-record:

проникване:

  активиран: вярно

  certManager: вярно

  име на хост: redminek8s.ddns.net

  tls: вярно

  анотации:

    kubernetes.io/ingress.class: nginx

    cert-manager.io/cluster-issuer: letsencrypt

Ook in de laatste twee regels koppelen we onze applicatie met de Ingress Controller en met de Cluster Issuer die we eerder hebben gemaakt.

Сега, когато внедрихме Redmine, се срещнахме с конфигурация за поставяне:

кормило инсталирайте Redmine -f values.yaml bitnami / redmine

Die regel is vergelijkbaar met andere helm installatieregels die we eerder hebben gebruikt, maar deze keer leveren we een aangepaste values.yaml. Това е de manier om elke Helm-applicatie aan te passen.

We hebben nog wat geduld nodig, omdat het maken van de applicatie enige tijd in beslag neemt. U kunt dit commando uitvoeren om de status van uw applicatiecontainers te controleren:

kubectl вземете шушулки - гледайте

Het commando geeft iets soortgelijks terug als dit:

ИМЕ ГОТОВ СТАТУТ РЕСТАРТИРА ВЪЗРАСТ

. . .

redmine-999c68dd9-x7h2k    1/1     Running   0          6m40s

redmine-postgresql-0 1/1 Работи 0 6m40s

U moet wachten tot de status voor beide containers Running is en allemaal klaar zijn met 1/1, wat in mijn geval ongeveer 6 minute duurde.

Всичко, което отваряте в браузъра, е отворено след ново внедряване:

Redmine е добър


завършване

Kubernetes е сложен инструмент за приложения, които се внедряват, след като сме направили сложни задачи, създадени с помощта на Хелм (без използване на текст) и внедряване на инсталация от Redmine.

U kunt een samenvatting van deze handleiding vinden in de novo git-repo: https://github.com/lcofre/redmine-on-k8s. Vergelijk gerust met uw bestanden als u vastloopt.

We hebben sommige concepten buiten de discussie gelaten omdat ze complex waren of de uitleg specifiek voor de cloud was. Hieronder vallen de Liveness en Readiness van uw applicatie, de configuratie van inkomende e-mails en het opschalen om meer belasting aan te kunnen. Laat ons hieronder weten waar u het meest in geïnteresseerd bent, zodat we het in een toekomstige handleiding kunnen bespreken.

Последен ъпгрейд на Redmine? Makkelijk.

Съберете всички крахтидж инструменти за перфектно планиране на проекти, -beheer en -control в друг софтуер.

Probeer Easy Redmine 30 дни безплатно

Разнообразни функции, SSL-обслужване, актуални резервни копия, във вашето географско местоположение