Redmine in Kubernetes - Parte 2: Installazione di Redmine in Kubernetes

6/30/2020
8 λεπτά
Lukáš Beňa -> Lukáš Beňa

Questa è la seconda parte della serie su come distribuire Redmine in Kubernetes. Σε αυτό το άρθρο, μπορείτε να διανείμετε την εγκατάσταση της affidabile του Redmine.

Racconto Parte 1

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

In Redmine στο Kubernetes - Parte 1: Preparazione dell'ambiente, abbiamo installato il Controller Ingress, un componente per reindirizzare le richieste internet all'interno del tuo cluster, και abbiamo creato un dominio DNS, redminek8s.ddns.net. Για να ρυθμίσετε μόνοι σας το HTTPS και να ρυθμίσετε τις παραμέτρους ανά διανομή Redmine.


Υπεύθυνος πιστοποιητικών HTTPS

Ανεξάρτητα από το Redmine έρχονται HTTP, HTTPS è αποδεικνύεται στάνταρ για την τοποθεσία web, tanto che la maggior parte dei browser ti avvisa un problema di sicurezza quando un sito web non utilizza HTTPS.

Tipicamente, δεν έχει πρόσβαση στο HTTPS που δεν είναι σύμφωνο με το κοινό, είναι απαραίτητο να αποκτήσει πιστοποιητικό και caricarlo sul tuo sito, rinnovarlo dopo un certo tempo e ripetere il processo. Cert-manager automatizza tutto questo, compreso il rinnovo dei certificati and persino l'ottenimento di certificati gratuiti. Puoi vedere ulteriori informazioni sul το site τους, ma spiegherò tutto ciò che devi sapere di seguito.


Εγκαταστήστε τον διαχειριστή πιστοποίησης

Esegui και seguenti passaggi per installare Cert-manager nel tuo cluster:

τιμόνι repo προσθέστε jetstack https://charts.jetstack.io && helm repo ενημέρωση

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.


Συνδέσεις όλων των αυτονομιών για την πιστοποίηση

Ora dobbiamo isstruire cert-manager και συνδεόμενος πάροχος πιστοποιητικών che abbiamo scelto. Χρησιμοποιήστε το LetsEncrypt, χωρίς αυτόματη πιστοποίηση δωρεάν. Το αρχείο Crea prima questo (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 apply -f cluster -issuer.yaml

Συγχαρητήρια! Il file sopra è la prima configurazione di Kubernetes che scriviamo e applichiamo al cluster. Potresti aver notato che mostra come connettersi a LetsEncrypt, ma descrive 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 quente.


Εγκατάσταση στο Redmine

Questo è ciò che stavamo tutti aspettando. Μπορείτε να εγκαταστήσετε το Redmine σε διαφοροποιημένες λειτουργίες, να χρησιμοποιήσετε το τιμόνι. Come abbiamo già fatto in precedenza, prima aggiungiamo il repository in cui si trova Redmine

helm repo προσθέστε bitnami https://charts.bitnami.com/bitnami && helm repo ενημέρωση

Αν θέλετε να εγκαταστήσετε υποβάλετε, δημιουργήστε ένα αρχείο για τη διαμόρφωση σύμφωνα με την ενδεικτική αλκουνική συμπλήρωση εξατομικευμένης πρόσβασης στο Redmine Abbia.

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

RedminePassword:

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 utente per configurare la tua nuova installazione.


Βάση δεδομένων PostgreSQL

Σύμφωνα με την προκαθορισμένη εφαρμογή, la nostra installazione di Helm richiederà la creazione di un database mariadb. Ρυθμίστε τις παραμέτρους για να πραγματοποιήσετε την εγκατάσταση για τη χρήση του PostgreSQL. È necessario anche aggiungere almeno una password per accedere a questo database, come puoi vedere di seguito

Τύπος βάσης δεδομένων: postgresql

mariadb:

  ενεργοποιημένο: false

postgresql:

  ενεργοποιημένο: true

  postgresql Βάση δεδομένων: Redmine

  postgresql Όνομα χρήστη: Redmine

  postgresql Κωδικός πρόσβασης:

Προσαρμόστε την περιγραφή όλων των μηνυμάτων εγκατάστασης και μη φωνητικής εγκατάστασης της MariaDB για την εγκατάσταση όλων των ρυθμίσεων ανά βάση δεδομένων PostgreSQL.


Διαμόρφωση του ονόματος 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.

είσοδος:

  abilitato: αληθινός

  certManager: αλήθεια

  όνομα κεντρικού υπολογιστή: redminek8s.ddns.net

  tls: αλήθεια

  annotazioni:

    kubernetes.io/ingress.class: nginx

    cert-manager.io/cluster-issuer: letsencrypt

Anche nelle ulttime due righe collegiamo la nostra applicazione con il Controller Ingress e con il Cluster Issuer che abbiamo creato in precedenza.

Για να διανείμετε το Redmine για τη διαμόρφωση της προσωπικής διαμόρφωσης:

helm εγκαταστήστε Redmine -f Values.yaml bitnami / redmine

Questa riga è simile ad altre righe di installazione di τιμόνι 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 πάρτε λοβό - ρολόι

Il Comando restituirà qualcosa di simile a questo:

NOME PRONTO STATO RIACCESSIONI ETA'

. . .

redmine-999c68dd9-x7h2k 1/1 In esecuzione 0 6m40s

redmine-postgresql-0 1/1 In esecuzione 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 and are alla nostra nuova διανομή:

Redmine è pronto


συμπέρασμα

Kubernetes è uno strumento complesso ανά εφαρμογή διανομής, ma abbiamo navigato attraverso questa complessità con l'aiuto di Helm (senza giochi di parole) και abbiamo διανομή για την κατάργηση εγκατάστασης affidabile του Redmine.

Puoi trovare un riassunto di questo how-to 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 talke 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. Με την προτίμηση, facci sapere qui sotto cosa ti interessa di più in modo da poterlo discutere in un futuro πώς-να.

L'aggiornamento definitivo di Redmine; Εύκολος.

Πραγματοποιήστε όλες τις δυνατές δυνατότητες για την εφαρμογή, gestione and controllo del progetto perfetti σε un unico λογισμικό.

Prova Easy Redmine δωρεάν ανά 30 Giorni

Funzionalità πλήρες, πρωτόκολλο SSL, backup giornalieri, nella tua geolocalizzazione