Redmine in Kubernetes - Del 2: Installazione di Redmine in Kubernetes

6/30/2020
8 minutter
Lukáš Beňa -> Lukáš Beňa

Questa è la seconda parte della serie kommer distribuire Redmine i Kubernetes. I søgningen af ​​articolo, vil forniremo istruzioni komme distribuire un'installazione affidabile di Redmine.

Racconto Parte 1

Adesso devi essere ansioso per l'installazione di Redmine su Kubernetes. Dopotutto, è per questo che sei qui, giusto?

In Redmine in Kubernetes - Del 1: Preparazione dell'ambiente, installeret på Controller Ingress, en komponent til at rense det rigeste internet alt'interno del tuo cluster, og abbiamo oprette en dominio DNS, redminek8s.ddns.net. Eller du kan konfigurere HTTPS alene og pronti for distribution af Redmine.


HTTPS con cert-manager

Anche se potremmo mantenere il nostro Redmine come HTTP, HTTPS è diventato lo standard per siti web, tanto che la maggior parte dei browser ti avvisa di un problema di sicurezza quando un sito web non utilizza 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 deres websted, ma spiegherò tutto ciò che devi sapere di seguito.


Installer cert-manager

Esegui og seguenti passaggi per installation er cert-manager på din klynge:

roret repo tilføj jetstack https://charts.jetstack.io && roret repo-opdatering

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

Prima aggiungi il repository dove si trova cert-manager, quindi installa la sua ultima versione.


Connettersi all'autorità di certificazione

Ora dobbiamo istruire cert-manager og connettersi al provider di certificati che abbiamo scelto. Udnyttelsesremo LetsEncrypt, un'autorità di certificazione gratuita. Crea prima questo-fil (ricorda di sostituire con un indirizzo email reale) og chiamalo cluster-issuer.yaml

apiVersion: cert-manager.io/v1alpha2

slags: ClusterIssuer

metadata:

  navn: letsencrypt

spec:

  acme:

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

    e-mail:

    privateKeySecretRef:

      navn: letsencrypt

    løsere:

    - http01:

        indtrængning:

          klasse: nginx

Quindi applicalo al tuo cluster con

kubectl anvende -f klyngeudsteder.yaml

Tillykke! Il fil sopra è la prima configurazione di Kubernetes che scriviamo e applichiamo al cluster. Hvis du har noteret dig, når du bruger LetsEncrypt, kan du beskrive en controller-indgang, som er oprettet på del 1 (La classe: nginx alla fine). Questo tipo di configurazione har 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.

Ora il tuo cluster è abilitato per HTTPS. Ogni volta che installiamo un'applicazione, possiamo istruirla a funzionare con HTTPS e voilà! L'intero processo di ottenimento del certificato verrà eseguito automaticamente dietro le quinte.


Installation af Redmine

Questo è ciò che stavamo tutti aspettando. Mulighed for at installere Redmine i forskellige modi, gøre det nemt og bekvemt at bruge Helm. Kom abbiamo già fatto in precedenza, prima aggiungiamo il repository in cui si trova Redmine

roret repo tilføj bitnami https://charts.bitnami.com/bitnami && roret repo-opdatering

Hvis du vil installere installationen, oprettes en konfigurationsfil for at indikere alcuni comportamenti personalizzati che vogliamo che Redmine abbia.

Separiamo tutte le configurazioni nella loro sezione ma le mettiamo tutte nello stesso fil, una dopo l'altra. Chiamiamo il filen values.yaml.

Tutte le applicazioni Helm hanno un file values.yaml con tutte le possibili configurazioni che possono essere fatte per l'applicazione. 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

RedmineUsnavn: adminUser

RedminePassword:

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

Quando Redmine è installato, potrai accedervi con questo utile per configurare la tua new installazione.


Database PostgreSQL

Per impostazione predefinita, la nostra installazione di Helm richiederà la creazione di un database mariadb. Konfigurer installationen af ​​PostgreSQL. È necessario anche aggiungere almeno una password per accedere a questo database, come puoi vedere di seguito

database type: postgresql

mariadb:

  aktiveret: falsk

PostgreSQL:

  aktiveret: sandt

  postgresqlDatabase: Redmine

  postgresqlUsnavn: Redmine

  postgresqlPassword:

Dobbiamo esplicitamente indicare all nostra installazione che non vogliamo che MariaDB sia installato insieme alle configurazione per il database PostgreSQL.


Konfiguration af navn DNS

Konfigurationen af ​​sotto è il lato opposto della configurazione DNS che abbiamo fatto nella Parte 1. Come puoi vedere, abilitiamo TLS, il protocollo dietro HTTPS, e impostiamo il nome host che abbiamo usato quando abbiamo record creato DNS:il no

indtrængning:

  abilitato: sandt

  certManager: sandt

  værtsnavn: redminek8s.ddns.net

  tls: sandt

  kommentarer:

    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 creato in precedenza.

Ora possiamo distribuire Redmine con la nostra konfigurations personalizzata:

rorinstallere 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. Questo è il modo per personalizzare qualsiasi applicazione Helm.

Dobbiamo ancora avere un po' di pazienza, poiché la creazione dell'applicazione richiede del tempo. Puoi eseguire questo comando per verificare lo stato dei container dell'applicazione:

kubectl få pods - ur

Il comando restituirà qualcosa di simile a questo:

NOME PRONTO STATO RIACCESSIONI ETA'

. . .

redmine-999c68dd9-x7h2k 1/1 i gang 0 6m40s

redmine-postgresql-0 1/1 i sekuzion 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 all nostra nuova distributionzione:

Redmine è pronto


konklusion

Kubernetes è uno strumento complesso per distribuire applicazioni, ma abbiamo navigato attraverso questa complessità con l'aiuto di Helm (senza giochi di parole) og abbiamo distributionito un'installazione affidabile di Redmine.

Puoi trovare un riassunto di questo how-to nel seguente repository git: https://github.com/lcofre/redmine-on-k8s. Sentiti libero di confrontare i tuoi file se ti blocchi.

Abbiamo lasciato fuori alcuni concetti dalla diskussion perché erano complessi o la spiegazione æra 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. For din favorit kan du finde ud af, hvordan du er interesseret i din fremtid, hvordan du gør det.

L'aggiornamento definitivo di Redmine? Nemt.

Ottieni tutti gli strumenti potenti per una pianificazione, gestone and controllo del progetto perfetti in un unico software.

Prova Easy Redmine gratis per 30 giorni

Funzionalità complete, protetto da SSL, backup giornalieri, nella tua geocalizzazione