Redmine in Kubernetes - Del 2: Installazione di Redmine in Kubernetes
Questa è la seconda parte della series kommer att distribueras Redmine i Kubernetes. I questo articolo, forniremo istruzioni su come 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, installerad på Controller Ingress, en komponent för att återställa det rikaste internet allt'interno del tuo kluster, och abbiamo skapa en dominio DNS, redminek8s.ddns.net. Ora dobbiamo solo-konfigurera HTTPS och pronti för distribution av Redmine.
HTTPS-koncerthanterare
Anche se potremmo mantenere il nostro Redmine come HTTP, HTTPS è diventato lo standard per i 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 deras webbplats, ma spiegherò tutto ciò che devi sapere di seguito.
Installera cert-manager
Esegui och seguenti passaggi per installationare cert-manager nel tuo kluster:
rodret repo lägg till jetstack https://charts.jetstack.io && helm repo-uppdatering
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 och connettersi al provider di certificati che abbiamo scelto. Utnyttja LetsEncrypt, un'autorità di certificazione gratuita. Crea prima questo-fil (ricorda di sostituire con un indirizzo email reale) e chiamalo cluster-issuer.yaml
Apiversion: cert-manager.io/v1alpha2
typ: ClusterIssuer
Metadata:
namn: letsencrypt
spec:
höjdpunkt:
server: https://acme-v02.api.letsencrypt.org/directory
e-post:
PrivateKeysCretref:
namn: letsencrypt
lösare:
- http01:
inträde:
klass: nginx
Quindi applicalo al tuo kluster con
kubectl applicera -f cluster-emittent.yaml
Grattis! Il fil sopra è la prima configurazione di Kubernetes che scriviamo e applichiamo al cluster. Potresti aver notato che mostra come connettersi a LetsEncrypt, ma beskriv anche il Controller Ingress che abbiamo creato nella Parte 1 (La classe: nginx alla fine). 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.
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 av Redmine
Questo è ciò che stavamo tutti aspettando. Possiamo installera Redmine i olika modi, ma di gran lunga il più bekväma è utilizzare Helm. Come abbiamo già fatto in precedenza, prima aggiungiamo il repository in cui si trova Redmine
helm repo lägg till bitnami https://charts.bitnami.com/bitnami && helm repo-uppdatering
Ma questa volta invece di installare subito, creeremo un file di configurazione per indicare 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 fil verrà lasciato kommer è nel fil 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
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 è installation, potrai accedervi con questo utente per configurare la tua nyinstallazione.
Databas PostgreSQL
Per impostazione predefinita, la nostra installazione di Helm richiederà la creazione di un databas mariadb. Konfigurera installera den nya PostgreSQL-användaren. È necessario anche aggiungere almeno una lösenord per accedere en questo databas, kom puoi vedere di seguito
DatabaseType: PostgreSQL
Mariadb:
aktiverad: falsk
PostgreSQL:
aktiverad: sant
postgresqlDatabas: Redmine
postgresql Användarnamn: Redmine
postgresqlPassword:
Dobbiamo esplicitamente indicare alla nostra installazione che non vogliamo che MariaDB sia installato insieme alla configurazione per il database PostgreSQL.
Konfiguration av namn DNS
La configurazione qui 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
inträde:
abilitato: sant
certManager: sant
värdnamn: redminek8s.ddns.net
tls: sant
anteckningar:
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 configurazione personalizzata:
helm installera Redmine -f Values.yaml bitnami / redmine
Questa riga è liknande 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å skidor - klocka
Il comando restituirà qualcosa di simile a questo:
NOME PRONTO STATO RIACCESSIONI ETA'
. . .
redmine-999c68dd9-x7h2k 1/1 På gång 0 6m40s
redmine-postgresql-0 1/1 I sekvens 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 distributionzione:
Redmine è pronto
slutsats
Kubernetes è uno strumento complesso per distribuire applicazioni, ma abbiamo navigato attraverso questa complessità con l'aiuto di Helm (senza giochi di parole) och abbiamo distribuito un'installazione affidabile di Redmine.
Puoi trovare un riassunto di questo hur man gör 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 discusse 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 favorit, facci sapere qui sotto cosa ti interessa di più in modo da poterlo discutere in un future how-to.
L'aggiornamento definitivo di Redmine? Enkel.
Ottieni tutti gli strumenti potenti per una pianificazione, gestion och controllo del progetto perfetti in un unico software.