Redmine in Kubernetes - Del 1: Preparazione dell'Ambiente

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

Installera Redmine i Kubernetes i questa-serien. 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 distribuzione di Redmine. Man är inte orolig för en komlessità. Anche se sei nuovo a Kubernetes, sarà una spiegazione comprensibile.

Questa guida è stata scritta per essere indipendente dal moln, 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 moln, poiché è ben integrato con gli altri servizi che il tuo moln fornisce.

Ambienti come microk8s o minikube non sono considerati qui poiché richiedono una configurazione aggiuntiva che esula dallo scopo di questa guida. I synnerhet, la nostra konfigurera HTTPS richiede che il nostro kluster 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. Utilizzeremo Helm 3, la loro ultima e ancora più semplice versione.

Se usi la shell del cloud del tuo provider, è probabile 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 kluster dalla riga di comando che usi. Din leverantör moln har en guida su come fare anche questo.


Installera styrenheten Ingress

Questo è il primo componente che installmon nel nostro cluster ed è anche il primo concetto di Kubernetes che vedremo. Un controller Ingress si trova alla porta d'ingresso del tuo kluster, riceve tutte le richieste web e le reindirizza al componente interno responsabile di rispondere alla richiesta. Initialmente, non ci sarà nessuno pronto a respondere, ma quando installeramo Redmine, verrà aggiunto come destinazione per le richieste.

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

helm repo lägg till ingress-nginx https://kubernetes.github.io/ingress-nginx && helm repo-uppdatering

helm installera ingress-controller ingress-nginx / ingress-nginx

Il primo comando 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-publicerad kontrollenhet:

kubectl få tjänster - klocka

Il risultato sarà liknar en fråga:

NOME TIPO CLUSTER-IP EXTERNAL-IP-PORT(AR) ETA'

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

controller-tillträde 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 . Ci vuole del tempo per il cloud per ottenere un IP pubblico e assegnarlo al tuo kluster. Aspetta solo qualche secondo in più e l'IP dovrebbe essere disponibile.


Skapa en 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". Skapa en dominerande DNS som kan kopplas till en IP-adress, sperando che sia più facile da ricordare di una lista di numeri e punti.

Il modo di creare un dominio internet per il tuo Redmine dipende molto dal tuo provider di dominio, ma in tutti i casi, finirai per creare un record DNS A che collega un nome di dominio al tuo IP. Vidi come riferimento la seguente schermata dal provider DNS no-ip.com.

Creazione del nostro record DNS A

I dati da completare, come ci si potrebbe aspettare, sono il nome DNS e 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 usare 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 è konfigurera HTTPS per il nostro sito och installation av Redmine. Använd PostgreSQL-kommandodatabas, gör det enkelt att konfigurera allt från Helm.

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

L'aggiornamento definitivo di Redmine? Enkel.

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

Prova Easy Redmine gratuitamente per 30 giorni

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