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

6/30/2020
8 минути
Лукаш Беня -> Лукаш Беня
Aceasta е част от серия от внедряване на Redmine в Kubernetes. В тази статия предлагаме инструкции за внедряване на инсталиране на Redmine.

Преизчисляване на част 1

Сега, за да сте сигурни, че сте сигурни, че не можете да инсталирате Redmine на Kubernetes. Acesta este motivul pentru care ai venit, nu-i așa?

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


HTTPS cu сертификат мениджър

Ако поставите страница Redmine-ul nostru ca HTTP, HTTPS е стандартен за сайтове в мрежата, ако многократно имате по-голям браузър или ще рекламирате с поверителността на проблема със сигурността, ако сайтът не използва HTTPS.

De obicei, activarea HTTPS nu este o sarcină trivială, deoarece trebuie să cumperi un certificat și să-l încarci pe site-ul tău, să-l reînnoiești după un anumit timep și să repeți procesul. Cert-manager automatizează toate acestea, inclusiv reînnoirea certificatelor și chiar obținerea de certificate gratuite. Poți vedea mai multe informații pe сайта им, dar îți voi explica tot ce trebuie să știi în continuare.


Инсталирайте cert-manager

Изпълнете урматорията, за да инсталирате cert-manager в клъстера:

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

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

Mai întâi adaugi depozitul unde se află cert-manager, apoi instalezi ultima sa versiune.


Conectare la Autoritatea de Certificare

Acum trebuie să instruim cert-manager să se conecteze la furnizorul de certificate pe care îl alegem. Vom folosi LetsEncrypt, oritate de sertifikat gratuită. Creează mai întâi acest fișier (nu uita să înlocuiești с реалния имейл адрес) и номерирайте-l cluster-issuer.yaml

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

вид: ClusterIssuer

метаданни:

  име: letsencrypt

спец:

  Acme:

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

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

    privateKeySecretRef:

      име: letsencrypt

    решават:

    - http01:

        проникване:

          клас: nginx

Aplică-l apoi în clusterul tău cu

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

Честито! Fișierul de mai sus este prima configurație Kubernetes pe care o scriem șo aplicăm în cluster. Можете да наблюдавате как работите, когато се свържете с LetsEncrypt, като опишете и Ingress Controller, ако се грижите, че съм създаден в Partea 1 (клас: nginx la sfârșit). Acest tip de configurație са câteva linii cu spații pentru a indica dependența unor proprietăți de altele. Păstrează aceste spații așa cum sunt prezentate pentru a te asigura că fișierul este citit și aplicat corect.

Този клъстер е активиран за HTTPS. Ori de câte ori instalăm o aplicație, or putem instrui să funcționeze cu HTTPS și готово! Întregul process de opținere a certificatului va fi realizat automat în spatele scenei.


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

Aceasta este ceea ce am asteptat cu totii. Пуснете инсталирането на Redmine в повече от няколко режима, така че всичко, което може да бъде събрано, е във филма Helm. Asa cum am facut deja, mai intai adaugam depozitul unde se afla Redmine

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

Dar de data aceasta, in loc sa instalati imediat, vom crea un fisier de configurare, pentru a indica un comportament personalizat pe care dorim sa-l aiba Redmine.

Vom separa toate configurarile in propria lor sectiune, dar le vom pune toate in acelasi fisier, unul dupa altul. Numele fisierului va fi values.yaml.

Toate aplicatiile Helm au un fisier values.yaml cu toate configurarile posibile care pot fi facute pentru aplicatie. Cand cream propriul values.yaml, definim modificarile pe care le dorim. Orice valoare pe care nu o includem in fisierul nostru va fi lasata asa cum este in fisierul implicit.

Toate valorile implicite pot fi gasite si pe pagina aplicatiei Helm, https://hub.helm.sh/charts/bitnami/redmine. Verificati toate configurarile.


Първичен оползотворител Админ

RedmineUsername: adminUser

Redmine Парола:

Acest pas este la fel de necesar ca si usor de inteles. Този първичен потребител на Redmine, трябва да се грижи за фолиото, което не се свързва с основните данни.

Можете да инсталирате Redmine, да получите достъп до приложението с този използващ инструмент за конфигуриране на инсталационната област на търсенето.


База данни на PostgreSQL

Implicit, instalarea noastra Helm va necesita crearea unei baza de date mariadb. В schimb можете да конфигурирате инсталационната област във следния PostgreSQL. Trebuie sa adaugati cel putin o parola pentru a accesa aceasta baza de date, asa cum puteti vedea mai jos

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

mariadb:

  активиран: false

PostgreSQL:

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

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

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

  postgresqlPassword:

Изисква се изрично инсталиране на изрични инсталации, ако не можете да направите MariaDB, за да инсталирате файла с конфигуриране за база данни на PostgreSQL.


Конфигуриране на DNS номера

Configurarea de mai jos este partea cealaltă a DNS configurării pe care am făcut-o în Partea 1. După cum puteți vedea, activăm TLS, protocolul din spatele HTTPS, и setăm numele gazdei pe care I-am folosit la crearea înregistrării noastre DNS:

проникване:

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

  certManager: вярно

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

  tls: вярно

  анотации:

    kubernetes.io/ingress.class: nginx

    cert-manager.io/cluster-issuer: letsencrypt

De asemenea, in the last două linii legăm aplicația noastră cu Controlerul Ingress și cu Emitentul Cluster pe care l-am creat anterior.

Всичко чрез прилагане на Redmine с персонализирана конфигурация:

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

Тази линия е подобна с други линии, helm install pe care le-am folosit anterior, dar de data aceasta furnizăm un values.yaml персонализиран. Това е модул за персонализирано или приложение Helm.

Mai avem nevoie de puțină răbdare, deoarece crearea aplicației durează ceva timp. Puteți executa această commandă pentru a verifica starea containerelor or aplicației:

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

Команда за връщане на нещо, подобно на това:

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

. . .

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

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

Trebuie să asteptați până când starea ambelor containere este Running și toate sunt pregătite 1/1, ceea ce în cazul meu a durat aproximativ 6 minute.

Acum totul este pregătit pentru a deschide browserul și a merge la noua noastră implementare:

Redmine este pregătit


Заключение

Kubernetes е неподходящ комплекс за внедряване на приложения, тъй като мога да навигирам с acea complexitate cu ajutorul lui Helm (fără joc de cuvinte) и съм внедрил за инсталиране fiabilă в Redmine.

Puteți găsi un rezumat al acestui ghid în următorul depozit git: https://github.com/lcofre/redmine-on-k8s. Nu ezitați să comparați cu fișierele dvs. dacă întâmpinați probleme.

Am lăsat unele concepte din discuție pentru că erau complexe sau explicația era specifică pentru cloud. Printre acestea se numără Liveness și Readiness a aplicației dvs., configurarea mesajelor primite și scalarea pentru a gestiona mai multe încărcări. Vă rugăm să ne spuneți mai jos ce vă interesează cel mai mult, astfel încât să putem discuta despre acestea într-un ghid viitor.

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

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

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

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