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

6/30/2020
8 minut
Лукъш Беня

Tento soubor je vytvořen na serveru Redmine v Kubernetes. В тази статия ще предоставим инструкции за разгръщане на надеждна инсталация на.

Преброяване Част 1

Pokud jde o to, kdo je jiný, je to možné na platformě Redmine v Kubernetes. Все пак, за това идвате, нали?

В Redmine v Kubernetes - Част 1: Подготовка на средата инсталирахме Ingress Controller, компонент, който пренасочва интернет заявките вътре във вашитерне клашихда клашитернет домейн, redminek8s.ddns.net. Je povoleno používat protokol HTTPS a není povoleno používat Redmine.


HTTPS s cert-manager

Въпреки че можем да запазим Redmine като HTTP, HTTPS стана стандарт за уебсайтове, толкобревачтолкова толкова предупреждават за проблем със сигурността, когато HTTPS не се използва от уебсайт.

Обикновено активирането на HTTPS не е лесна задача, тъй като трябва да закупачикт сертифите айта си, да го подновявате след определено време и да повтаряте процеса. Cert-manager автоматизира всичко това, включително подновяването на сертификати a дори полипелно подновяването на сертификати и дори полипелно ati. Можете да видите повече информация на тяхния сайт, но ще обясня всичко, което трябва да знаете по-долу.


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

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

kormidlo repo přidat jetstack https://charts.jetstack.io && Helm repo update

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

Първо добавете хранилището, където се намира cert-manager, a след това инсталирайте най-новата


Свързване с Certifikační autorita

Сега трябва да научим cert-manager да се свърже с Poskytovatel certifikátu на наш избор. Není povoleno LetsEncrypt, není nutné Certifikační autorita. Първо създайте този файл (není забравяйте да замените с реален имейл адрес) a го наименувайте cluster-issuer.yaml

apiVersion: cert-manager.io/v1alpha2

druh: ClusterIssuer

metadata:

  jméno: letsencrypt

spec:

  vrchol:

    server: https://acme-v02.api.letsencrypt.org/directory

    e-mailem:

    privateKeySecretRef:

      jméno: letsencrypt

    řešitelé:

    - http01:

        vstup:

          třída: nginx

След това го приложете към вашия кластер с

kubectl apply -f cluster-emiter.yaml

Поздравления! Файлът по-горе е първата конфигурация на Kubernetes, която пишем и прилагалст във ваъв ваяв Може да сте забелязали, че той показва как да се свържете с LetsEncrypt, но същотопоказва как да се свържете с Incrypt, но същотопоказов о здадохме в Част 1 (Клас: nginx в края) Този тип конфигурация има някои редове с инази исимост на някои свойства от други. Запазете тези интервали, както са показани, за да се гарантира, че файла ще пероденио равилно.

Сега вашият кластер е с активиран HTTPS. Всяка пътища, когато инсталираме приложение, можем да му кажем да работи с HTTPS a voilà! Целият процес на получаване на сертификата ще бъде извършен автоматично задиеку


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

Това е това, което всички чакахме. Можем да инсталираме Redmine na novém serveru, mimo jiné než na Helmovi. Както вече направихме преди, първо добавяме хранилището, където е Redmine

kormidlo repo přidat bitnami https://charts.bitnami.com/bitnami && Helm repo update

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

Ще разделим всички конфигурации в отделни секции, но ще ги сложим всичкид всичкид, единеда . Нека го наречем values.yaml.

Всички приложения на Helm имат файл values.yaml с всички възможни конфигурации, коитавенога za приложението. Когато създадем нашия собствен values.yaml, определяме промените, които искаме. Всяка стойност, която не включим в нашия файл, ще бъде оставена както е въвапопойност

Всички стойности по подразбиране могат да бъдат намерени и на страницата на периената на периелони https://hub.helm.sh/charts/bitnami/redmine. Отидете и проверете всички конфигурации.


Първи администраторски потребител

RedmineUživatelské jméno: adminUser

RedmineHeslo:

Този стъпка е толкова необходима, колкото лесна за разбиране. Това е нашият първи потребител v Redmine, който ще използваме за първи път заме влиме

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


База данни PostgreSQL

Pokud není kormidlo na Helmovi, je изисква да бъде създадена бази даннна. Вместо това ще конфигурираме нашата инсталация да използва PostgreSQL. Трябва да добавите поне една парола за достъп до тази база данни, кактоте мопоже

typ databáze: postgresql

mariadb:

  povoleno: false

postgresql:

  povoleno: true

  PostgresqlDatabase: Redmine

  postgresqlUživatelské jméno: Redmine

  postgresqlHeslo:

Трябва ясно да кажем на нашата инсталация, че не искаме да бъде инсталинафиЏноза MariaDB нуза nyní k dispozici PostgreSQL.


Конфигурация na DNS nebo jiné

Конфигурацията по-долу е другата страна на DNS конфигурацията, която направиахмет во1мажот воXNUMXЧеат видите, ние активираме TLS, протокола зад HTTPS, и задаваме името на хоста, който изаъолззаъолззаълемза na DNS server:

vstup:

  povoleno: true

  certManager: pravda

  název hostitele: redminek8s.ddns.net

  tls: pravda

  anotace:

    kubernetes.io/ingress.class: nginx

    cert-manager.io/cluster-issuer: letsencrypt

Също така в последните два реда свързваме нашето приложение с Ingress Controller a с Cluster Issuer, косреме tobě.

Сега можем да разгърнем Redmine s нашата персонализирана конфигурация:

helm install Redmine -f hodnoty.yaml bitnami / redmine

Този ред е подобен на други редове за инсталиране на Helm, които използвахме преотрепи, вяме персонализиран values.yaml. Това е начинът за персонализиране на всяко приложение на Helm.

Все още се нуждаем от малко търпение, тъй като създаването на приложението отнем Можете да изпълните тази команда, за да проверите статуса на контейнерите нто вашенте на ваше

kubectl get lusky - hodinky

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

STAV JMÉNA PŘIPRAVENO VĚC RESTARTUJE

. . .

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

redmine-postgresql-0 1/1 Běh 0 6m40s

Трябва да изчакате, докато статусът на двата контейнера е Běh и всички са готовие 1/1, 6/XNUMX, около XNUMX минути.

Сега всичко е готово да отворите браузъра a да отидете на нашето ново разгръщане:

Redmine je готов


Závěr

Kubernetes е сложен инструмент за разгръщане на приложения, но ние се справихме с тазиостотажнио слопом není to žádná hra na думи) a разгърнахме надеждна инсталация na Redmine.

Можете да намерите резюме на това ръководство v следния git repo: https://github.com/lcofre/redmine-on-k8s. Не се колебайте да сравните с вашите файлове, ако се застъпите.

Оставихме някои концепции извън дискусията, защото бяха сложни илиѱ обтяснипение но за облака. Сред тях са Živost a připravenost на вашето приложение, конфигурация на входящи писбмат и маеноабания овече товар. Моля, кажете ни по-долу какво ви интересува най-много, за да можем да бъдъесовова най-много дство.

Най-доброто ъпгрейд na Redmine? Лесно.

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

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

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