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

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

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

Racconto Част 1

Adesso devi essere ansioso за инсталация на Redmine в Kubernetes. Dopotutto, è per questo che sei qui, giusto?

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


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

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

Tipicamente, abilitare HTTPS non è un compito banale, poiché è necessario acquistare un certificato e caricarlo sul tuo sito, rinnovarlo dopo un certo tempo e ripetere il processo. Cert-manager automatizza tutto questo, compreso il rinnovo dei certificati e persino l'ottenimento di certificati gratuiti. Puoi vedere ulteriori informazioni sul техния сайт, ma spiegherò tutto ciò che devi sapere di seguito.


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

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

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

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

Първото добавяне на хранилището, което търсите cert-manager, трябва да инсталирате своята последна версия.


Connettersi all'autorità di certificazione

Ora dobbiamo istruire cert-manager a connettersi al provider di certificati che abbiamo scelto. Използване на LetsEncrypt за безплатна авторизация на сертификата. Създайте първо този файл (ricorda di sostituire con un undirizzo email reale) и chiamalo cluster-issuer.yaml

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

вид: ClusterIssuer

метаданни:

  име: letsencrypt

спец:

  Acme:

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

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

    privateKeySecretRef:

      име: letsencrypt

    решават:

    - http01:

        проникване:

          клас: nginx

Те са приложени във вашия клъстер

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

Честито! Файлът е основната конфигурация на Kubernetes, която се записва и се прилага в клъстера. Потърсете бележката, че най-често се свързва с LetsEncrypt, за да опишете Controller Ingress, за да създадете част 1 (Класът: nginx е добре). Questo tipo di configurazione ha alcune righe con spazi per indicare la dipendenza di alcune proprietà da altre. Mantieni quegli spazi come mostrato per garantire che il file venga letto e applicato correttamente.

Вашият клъстер е активиран за HTTPS. Ogni volta che installiamo un'applicazione, possiamo istruirla a funzionare con HTTPS e готово! L'intero processo di ottenimento del certificato verrà eseguito automaticamente dietro le quinte.


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

Questo è ciò che stavamo tutti aspettando. Можем да инсталираме Redmine в разнообразни режими, за да можем да направим най-удобно и да използваме Helm. Come abbiamo già fatto in precedenza, prima aggiungiamo il repository in cui si trova Redmine

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

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

Separiamo tutte le configurazioni nella loro sezione ma le mettiamo tutte nello stesso file, una dopo l'altra. Избираме файла values.yaml.

Всички приложения Helm hanno un file values.yaml с всички възможни конфигурации, които могат да бъдат пълни за приложението. Quando creiamo il nostro values.yaml definiamo le modifiche che vogliamo. Qualsiasi valore che non includiamo nel nostro file verrà lasciato come è nel file predefinito.

Tutti i valori predefiniti possono essere trovati anche sulla pagina dell'applicazione Helm, https://hub.helm.sh/charts/bitnami/redmine. Vai avanti e controlla tutte le configurazioni.


Primo utente amministratore

RedmineUsername: adminUser

Redmine Парола:

Questo passaggio è tanto necessario quanto facile da capire. È il nostro primo utente su Redmine, quello che useremo per accedere per la prima volta.

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


База данни PostgreSQL

За предварително зададено инсталиране, нашата инсталация на Helm е създадена за създаване на база данни mariadb. Конфигурирайте инсталацията на нашата инсталация за използване на PostgreSQL. È necessario anche aggiungere almeno una password per accedere a questo database, come puoi vedere di seguito

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

mariadb:

  активиран: false

PostgreSQL:

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

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

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

  postgresqlPassword:

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


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

Конфигурацията, която е същата, е тази, която се противопоставя на конфигурацията на DNS, която се използва от част 1. Можете да използвате TLS, поддържате TLS, диетичен протокол HTTPS, и използвате името на хоста, което трябва да използвате, ако не създадете собствен DNS запис:

проникване:

  способност: вярно

  certManager: вярно

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

  tls: вярно

  аннотации:

    kubernetes.io/ingress.class: nginx

    cert-manager.io/cluster-issuer: letsencrypt

Anche nelle ultime due righe collegiamo la nostra applicazione con il Controller Ingress e con il Cluster Issuer che abbiamo create in precedenza.

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

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

Questa riga è simile ad altre righe di installazione di helm che abbiamo usato in precedenza, ma questa volta forniamo un values.yaml personalizzato. Това е режим за персонализиране на качествено приложение Helm.

Dobbiamo ancora avere un po' di pazienza, poiché la creazione dell'applicazione richiede del tempo. Можете да изпълните тази команда за проверка на състоянието на контейнера на приложението:

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

Il comando restituirà qualcosa di simile a questo:

NOME PRONTO STATO RIACCESSIONI ETA'

. . .

redmine-999c68dd9-x7h2k 1/1 In esecuzione 0 6m40s

redmine-postgresql-0 1/1 In esecuzione 0 6m40s

Devi aspettare finché lo stato di entrambi i container non diventa In esecuzione e tutti sono pronti 1/1, che nel mio caso ha richiesto circa 6 minuti.

Ora tutto è pronto per aprire il browser e andare alla nostra nuova distribuzione:

Redmine е незабавно


заключение

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

Можете да намерите информация за това как да в следващото хранилище git: https://github.com/lcofre/redmine-on-k8s. Sentiti libero di confrontare i tuoi file se ti blocchi.

Abbiamo lasciato fuori alcuni concetti dalla discussione perché erano complessi o la spiegazione era specifica del cloud. Tra di essi ci sono la Liveness e la Readiness della tua applicazione, la configurazione delle email in arrivo e la scalabilità per gestire un carico maggiore. Per favore, facci sapere qui sotto cosa ti interessa di più in modo da poterlo discutere in un futuro how-to.

L'aggiornamento definitivo di Redmine? Лесно.

Ottieni tutti gli instrumenti potenti per una pianificazione, gestione e controllo del progetto perfetti in un unico software.

Prova Easy Redmine безплатно за 30 giorni

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