Redmine in Kubernetes - חלק 2: Installazione di Redmine in Kubernetes

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

Questa è la seconda parte della series יגיעו להפצת Redmine ב-Kubernetes. בחיפוש אחר, פורנימו אסטרוציוני יגיעו להפצת ביטול ההתקנה של Redmine.

רקונטו חלק 1

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

In Redmine in Kubernetes - חלק 1: Preparazione dell'ambiente, התקנת ה-Controller Ingress, רכיב עבור כל רשת האינטרנט עשירה, ו-abbiamo creato un dominio DNS, redminek8s.ddns.net. Ora dobbiamo solo configurare HTTPS e siamo pronti for distribuire Redmine.


HTTPS con cert-manager

Anche se potremmo mantenere il nostro Redmine come HTTP, HTTPS è diventato lo standard for i siti web, tanto che la maggior parte dei di avvisa di un problema di sicurezza quando un sito web non utilizza HTTPS.

טיפוסי, יכולת HTTPS לא è un compito banale, poiché è necessario acquistare un certificato e caricarlo sul tuo sito, rinnovarlo dopo un certo tempo e ripetere il processo. מנהל אישורים אוטומטיזה tutto questo, compreso il runnovo dei certificati e persino l'ottenimento di certificati gratuiti. Puoi vedere ulteriori informazioni sul האתר שלהם, ma spiegherò tutto ciò che devi sapere di seguito.


התקן את מנהל האישורים

התקנת מנהל האישורים והאשכול הבא:

הגה ריפו להוסיף https://charts.jetstack.io & עדכון ריפו על ההגה

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

פרימה אגיונגי il repository dove si trova cert-manager, quindi installa la sua ultima versione.


Connettersi all'autorità di certificazione

Ora dobbiamo istruire cert-manager a connettersi al ספק di certificati che abbiamo scelto. Utilizzeremo LetsEncrypt, un'autorità di certificazione gratuita. Crea prima questo file (ricorda di sostituire con un indirizzo email reale) e chiamalo cluster-issuer.yaml

apiVersion: cert-manager.io/v1alpha2

סוג: ClusterIssuer

מטא נתונים:

  שם: letsencrypt - -

מפרט:

  שִׂיא:

    שרת: https://acme-v02.api.letsencrypt.org/directory

    אימייל:

    privateKeySecretRef:

      שם: letsencrypt - -

    פתרונות:

    - http01:

        חודר:

          כיתה: nginx

Quindi applicalo al tuo cluster con

להחיל kubectl -f אשכול-מנפיק. yaml

מזל טוב! Il file sopra è la prima configurazione di Kubernetes che scriviamo e applichiamo al cluster. לאחר מכן, אפשר לתאר את ה-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.

אורא il tuo אשכול è abilitato עבור HTTPS. Ogni volta che installiamo un'applicazione, possiamo istruirla a funzionare con HTTPS e Voila! L'intero processo di ottenimento del certificato verrà eseguito automaticamente dietro le quinte.


Installazione di Redmine

Questo è ciò che stavamo tutti aspettando. Possiamo installare Redmine in diversi modi, ma di gran lunga il più נוחיות è utilizzare Helm. בוא אבביאמו ג'א פאטו בקדימה, פרימה אגיונגיאמו il מאגר ב-cui si trova Redmine

הגה ריפו להוסיף ביטנמי https://charts.bitnami.com/bitnami & עדכון ריפו על ההגה

אם אתה רוצה להתקין את ההתקנות, התקן את קובץ התצורה לפי אינדיקר אלקוני התאמה אישית che vogliamo che Redmine abbia.

Separiamo tutte le configurazioni nella loro sezione ma le mettiamo tutte nello stesso file, una dopo l'altra. Chiamiamo il file 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

RedmineUsername: adminUser

Redmine סיסמא:

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

Quando Redmine è installato, potrai accedervi con questo toolte for configurare la tua nuova installationazione.


מסד נתונים PostgreSQL

Per impostazione predefinita, la nostra installazione di Helm richiederà la creazione di un database mariadb. הגדר את ההתקנה של PostgreSQL. È necessario anche aggiungere almeno una סיסמא per accedere a questo database, come puoi vedere di seguito

מסד נתונים: postgresql

מריאדב:

  מופעל: שקר

postgresql:

  מופעל: נכון

  postgresql בסיס נתונים: Redmine

  postgresql שם משתמש: Redmine

  סיסמה:

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


תצורת DNS שם

La configurazione qui sotto è il lato opposto della configurazione DNS che abbiamo fatto nella Parte 1. בוא וראה, abilitiamo TLS, il protocollo dietro HTTPS, e impostiamo il nome host che abbiamo usato quando abbiamo record creato DNS: il

חודר:

  abilitato: נכון

  certManager: נכון

  שם מארח: redminek8s.ddns.net

  tls: נכון

  הערות:

    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:

ההגה התקן 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:

קבל תרמילים - שעון

Il comando restituirà qualcosa di simile a questo:

NOME PRONTO STATO RIACCESSIONI ETA'

. . .

redmine-999c68dd9-x7h2k 1/1 ברצף 0 6m40s

redmine-postgresql-0 1/1 ברצף 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.

אורה tutto è pronto per aprire il דפדפן e andare alla nostra nuova distribuzione:

Redmine è pronto


מסקנה

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

Puoi trovare un riassunto di questo איך לעשות 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 delle in arrivo e la scalabilità per gestre un carico maggiore. לפי העדפה, אפשר לראות איך סוטו ואיך לעשות את זה.

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