Redmine in Kubernetes - חלק 1: Preparazione dell'Ambiente

6/22/2020
דקות 6
Lukáš Beňa -> Lukáš Beňa

בחיפוש אחר סדרה בבוא העת, התקן את Redmine ב-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 distribuzione di Redmine. אני לא מתעסק בעניין. Anche se sei nuovo a Kubernetes, sarà una spiegazione comprensibile.

Questa guida è stata scritta per essere ענן עצמאי, 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 come microk8s o minikube non sono considerati qui poiché richiedono una configurazione aggiuntiva che esula dallo scopo di questa guida. במיוחד, la nostra תצורת HTTPS richiede che il nostro cluster abbia un IP pubblico.


אוסיאמו הלם

Kubernetes è uno strumento complesso per l'מיכל תזמורת דיי. Ci sono molti concetti che dobbiamo imparare per iniziare. Fortunatamente c'è un progetto chiamato הגה 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 דוגמה להתקנה 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 ספק, è 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/. דווי già avere accesso al tuo אשכול dalla riga di comando che usi. אתה יכול לספק ענן.


התקן את הבקר Ingress

Questo è il primo componente che installmo nel nostro cluster ed è anche il primo concetto di Kubernetes che vedremo. Un controller Ingress si trova alla porta d'ingresso del tuo אשכול, riceve tutte le richieste web e le reindirizza al componente interno responsabile di rispondere alla richiesta. התחלה, ללא צורך בהתחלה, אפשר להתקין את Redmine. destinazione per le richieste.

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

הגה ריפו להוסיף ingress-nginx https://kubernetes.github.io/ingress-nginx & עדכון ריפו על ההגה

הגה התקנת ingress-controller ingress-nginx / ingress-nginx

אם יש לך את המאגר של יישומים דוב סי טרבה עם הבקר Ingress, אתה צריך להתקין את האשכול. Quando finito, il comando stamperà alcune informazioni per iniziare, inclusa la modalità per ottenere ה-IP Pubblico מחלק את הבקר:

שירותי קבלת kubectl - שעון

Il risultato sarà דומה לחיפוש:

NOME TIPO CLUSTER-IP יציאות IP חיצוניות ETA'

בקר nginx LoadBalancer 10.0.115.117 89.68.23.33 80 / TCP, 443 / TCP 5m22s

אשכול קבלת בקר אשכול 10.0.135.226 443 / TCP 5m22s

kubernetes ClusterIP 10.0.0.1 443 / TCP 44 שעות

Prendi not dell'EXTERNAL-IP poiché ne avremo bisogno nel passaggio successivo. Potrebbe accadere che invece di un IP il valore che ottieni sia . טמפו של הענן עבור ottenere un IP pubblico e assegnarlo al tuo אשכול. Aspetta solo qualche secondo in più e l'IP dovrebbe essere disponibile.


צור את הרשומה של 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". צור את ה-DNS הדומיננטי של ה-IP, sperando che sia più facile da ricordare di una lista di numeri e punti.

איך ליצור את האינטרנט בשליטה מלאה על Redmine dipende molto dal tuo ספק di dominio, ma in tutti i casi, finirai per creare un record DNS A che collega un nome di dominio al tuo IP. Vedi come riferimento la seguente schermata dal ספק DNS no-ip.com.

Creazione del nostro שיא DNS A

I dati da completare, come ci si potrebbe aspettare, sono שם 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:

פינג redminek8s.ddns.net


Passaggi successivi

Ora che abbiamo un ingress controller e un dominio DNS, l'unica cosa che resta è קבע את התצורה של HTTPS לכל אתר והתקנה של Redmine. שימוש ב-PostgreSQL ליצירת מסד נתונים, ניתן להגדיר את התצורה הפשוטה של ​​הלם.

Rimani sintonizzato per Redmine ב-Kubernetes חלק 2: Installazione di Redmine.

L'aggiornamento definitivo di Redmine? קליל.

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

Prova Easy Redmine חינם ל-30 יורני

Funzionalità complete, protetto da SSL, גיאורניירי גיבוי, nella tua geocalizzazione