Redmine in Kubernetes - Del 1: Preparazione dell'Ambiente

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

I questa-serien skal du installere Redmine i Kubernetes. Utilizzeremo strumenti e pratiche consigliati con l'obiettivo di distribuire un'istanza resiliente di Redmine su HTTPS.

Abbiamo diviso questa guida in due parti per concentrarci prima sull'installazione degli strumenti e dei componenti che verranno utilizzati per la distribution di Redmine. Man er ikke bekymret for en komlessità. Anche se sei nuovo a Kubernetes, sarà una spiegazione comprensibile.

Questa guida è stata scritta per essere indipendente dal sky, quindi abbiamo intenzionalmente omesso tutte le menzioni del cloud che abbiamo utilizzato. Lascia un commento se riesci a indovinare il cloud che abbiamo utilizzato e dicci quale dettaglio lo ha rivelato. Ti consigliamo di utilizzare il servizio Kubernetes offerto dal tuo cloud, poiché è ben integrato con gli altri servizi che il tuo cloud fornisce.

Ambienti kommer microk8s eller minikube ikke sono considerati qui poiché richiedono una configurazione aggiuntiva che esula dallo scopo di questa guida. Især la nostra konfiguration af HTTPS richiede che il nostro cluster abbia un IP pubblico.


Usiamo Helm

Kubernetes è uno strumento complesso per l'orchestrazione dei container. Ci sono molti concetti che dobbiamo imparare per iniziare. Fortunatamente c'è un progetto chiamato Helm che fornisce il livello di astrazione di cui abbiamo bisogno. Con le loro parole "Se abbiamo fatto le cose giuste, gli utenti potrebbero installare Helm e poi, entro pochi minuti, installare componenti preconfezionati di qualità produttiva".

Tralasciando le ragioni dei loro nomi (tutto racconta la storia di una metafora, Helm, Kubernetes e Containers), Helm semplifica davvero l'installazione consentendo allo stesso tempo di personalizzare il componente alle nostre esigenze. Udnyttelse af Helm 3, den sidste version og en sempliceret version.

Se usi shell del cloud del tuo udbyder, è sandsynlig che Helm 3 sia già disponibile, ma se non lo è, puoi installarlo seguendo la guida fornita dalla documentazione di Helm, helm.sh/docs/intro/install/. Devi già avere accesso al tuo cluster dalla riga di comando che usi. Din udbyder af cloud har en guide til at komme billetprisen anche questo.


Installer controlleren Ingress

Questo è il primo componente che installeremo nel nostro cluster ed è anche il primo concetto di Kubernetes che vedremo. En controller Ingress er trova alle porta d'ingresso del tuo cluster, riceve tutte le richiest web og le reindirizza al komponente interno ansvarlige for rispondere alle richiesta. Inizialmente, non ci sarà nessuno pronto a rispondere, ma quando installeremo Redmine, verrà aggiunto come destinazione per le richieste.

Kubernetes fornisce il controller Ingress NGINX che useremo. La loro documentazione spiega come installarlo usando Helm:

roret repo tilføj ingress-nginx https://kubernetes.github.io/ingress-nginx && roret repo-opdatering

ror installer ingress-controller ingress-nginx / ingress-nginx

Det første commando aggiunge il repository delle applicazioni dove si trova il controller Ingress, mentre il secondo lo installa nel tuo cluster. Quando finito, il comando stamperà alcune informazioni per iniziare, inclusa la modalità per ottenere IP-publicering af controlleren:

kubectl få tjenester - ur

Il risultato sarà simile a questo:

NOME TIPO CLUSTER-IP EKSTERN-IP-PORT(E) ETA'

nginx-controller LoadBalancer 10.0.115.117 89.68.23.33 80 / TCP, 443 / TCP 5m22s

controller-adgang ClusterIP 10.0.135.226 443 / TCP 5m22s

kubernetes ClusterIP 10.0.0.1 443 / TCP 44h

Prendi not dell'EXTERNAL-IP poiché ne avremo bisogno nel passaggio successivo. Potrebbe accadere che invece di un IP il valore che otieni sia . Tempo i skyen per ottenere un IP pubblico e assegnarlo al tuo cluster. Aspetta solo qualche secondo in più e l'IP dovrebbe essere disponibile.


Opret DNS A

Ora che hai l'IP, puoi semplicemente andare su un browser e vedere come risponde il tuo cluster. Naturalmente, poiché non è ancora installata alcuna applicazione, il tuo cluster-risponderà con un errore "404 Not Found". Opret en dominerende DNS, som kan associeres med en quell'IP, sperando che sia più facile da ricordare di una liste di numeri e punti.

Du kan oprette en dominerende internetforbindelse til din Redmine dipende molto dal tuo udbyder di dominio, kan du bruge dit hjem, og du kan oprette en DNS-optagelse på et kollegium og en dominerende adresse på din IP. Vedi kommer riferimento la seguente schermata dal udbyder DNS no-ip.com.

Creazione del nostro record DNS A

I dati da completare, come ci si potrebbe aspettare, sono il navn DNS og l'IP. No-IP è proprio ciò di cui abbiamo bisogno per illustrare la creazione di un dominio, ma probabilmente hai o sceglierai un provider DNS diverso. Il processo è abbastanza simile in tutti loro.

Ci vuole del tempo perché il nuovo record si propaghi, quindi puoi bruger il ping per verificare quando l'IP viene risolto correttamente:

ping redminek8s.ddns.net


Passaggi successivi

Ora che abbiamo un ingress controller e un dominio DNS, l'unica cosa che resta è Konfigurer HTTPS på stedet og installer Redmine. Udnyttelse af PostgreSQL kommer til en database, der er nem at konfigurere med Helm.

Rimani sintonizzato pr Redmine i Kubernetes Del 2: Installazione di Redmine.

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