Redmine в Kubernetes – Част 2: Инсталиране на Redmine в Kubernetes
Това е поредица от поредици над изпълнението на 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 в друг софтуер.