Redmine in Kubernetes - Deel 2: installazione di Redmine in Kubernetes

6/30/2020
8 minuti
Lukáš Beňa.

Questo è il doppio affare della serie implementato da Redmine in Kubernetes. In questo articolo abbiamo istruzioni su come è possibile implementare un'installazione affidabile di Redmine.

Terugblik Deel 1

In questo momento è quasi lontano dall'installazione di Redmine su Kubernetes. Daarvoor ben je tenslotte hier, toch?

In Redmine in Kubernetes - Parte 1: Voorbereiden van de omgeving abbiamo installato il controller di ingresso, un componente per la connessione a Internet è un cluster per te, e abbiamo un dominio DNS, redminek8s.ddns.net, visualizzato. Adesso non abbiamo nemmeno configurato HTTPS e poi abbiamo chiesto di implementare Redmine.


HTTPS ha incontrato Cert-Manager

Tuttavia, Redmine può essere utilizzato come HTTP, è il protocollo HTTPS standard per i siti Web. Tieni presente che la maggior parte dei browser è compatibile con un problema di prestazioni quando HTTPS non viene utilizzato su un sito Web.

L'accesso a HTTPS è molto semplice, se è necessario acquistare un certificato e caricarlo sul sito, è necessario verificare il tempo in cui è stato notificato e il processo deve essere eseguito. Il gestore dei certificati automatizza tutto, inclusa la verifica del certificato, e genera certificati gratuiti. Je kunt meer informatie vinden op unno sito, ma non so tutto quello che devo fare.


Gestore certificati installatore

Il prossimo passo è quello di installare il certificato manager nel cluster:

helm repo aggiungi jetstack https://charts.jetstack.io && helm repo update

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

La prima volta che il repository è dove si trova il gestore dei certificati, l'installazione successiva è la nuova versione.


Collegamenti con l'autorità di certificazione

Non possiamo chiedere al cert-manager di istruirci su come effettuare un collegamento verbale con il nostro fornitore di certificati gekozen. Utilizziamo LetsEncrypt, un'autorità di certificazione gratuita. Maak eerst dit bestand aan (vergeet niet om vervangen door een echt e-mailadres) e noem het cluster-issuer.yaml

apiVersion: cert-manager.io/v1alpha2

tipo: ClusterIssuer

metadati:

  nome: letsencrypt

spec:

  acme:

    Server: https://acme-v02.api.letsencrypt.org/directory

    e-mail:

    PrivateKeySecretRef:

      nome: letsencrypt

    risolutori:

    -http01:

        ingresso:

          classe: nginx

Quello che stai per fare è uscire dal cluster che ho incontrato

kubectl applicare -f cluster-issuer.yaml

Felice! Il livello più alto è la prima configurazione di Kubernetes che scriviamo e passiamo al cluster. Mi sono accorto che è possibile stabilire un collegamento verbale con LetsEncrypt, ma è stata descritta anche la descrizione del controller di ingresso che abbiamo creato nel capitolo 1 (la classe: non c'è niente). Questo tipo di configurazione ha un numero limitato di regole con gli spazi per ottenere l'aiuto di alcune proprietà su altri. Houd die spaties zoals getoond om ervoor te zorgen dat het bestand corrette wordt gelezen en toegepast.

Ora il cluster HTTPS è inserito. Telken quando installiamo un'applicazione può darci istruzioni su come lavorare con HTTPS voilà! L'intero processo di verifica del certificato viene eseguito automaticamente dopo lo schermo.


Installazione di Redmine

Dit is waar we allemaal op hebben gewacht. Possiamo installare Redmine in diversi modi, ma la verità è che il modo più pratico è quello di utilizzare il comando. Zoals weerder al deden, voegen we eerst het repository toe waar Redmine zich bevindt.

helm repo aggiungi bitnami https://charts.bitnami.com/bitnami && helm repo update

Ma se ci impegniamo a installare direttamente una configurazione migliore per ottenere il risultato desiderato, vogliamo che Redmine venga visualizzato.

We zullen alle configurations in hun eigen sectie scheiden, maar ze allemaal in hetzelfde bestand plaatsen, één na de ander. Noem ha bestandvalues.yaml.

Tutti i passaggi del timone hanno un valore value.yaml-bestand con tutte le possibili configurazioni che consentono di accedere al passaggio del timone. Quando creiamo i nostri valori.yaml, definiamo le scelte che vogliamo. Elke waarde die we niet in ons bestand opnemen, blijft zoals het is in het standardbestand.

Tutte le norme standard si trovano anche nella pagina dei passaggi timone, https://hub.helm.sh/charts/bitnami/redmine. Scegli tutte le configurazioni na.


Eerste beheerdersgebruiker

Nome utente Redmine: adminUser

Parola di orologio Redmine:

Deze stap is net zo noodzakelijk als gemakkelijk te begrijpen. Questo è il primo utilizzo di Redmine, quindi dobbiamo utilizzarlo per il primo accesso.

Quando Redmine è stato installato, puoi utilizzarli per modificare tutta la configurazione della tua fantastica installazione.


Database PostgreSQL

L'installazione standard di Helm prevede che sia stato attivato un database mariadb. Possiamo configurare una volta l'installazione per utilizzare PostgreSQL. Devi anche avere dieci minuti per leggere una parola d'ordine per scrivere su questo database, ma puoi farlo da solo.

tipo di database: postgresql

MariaDB:

  abilitato: falso

PostgreSQL:

  abilitato: vero

  postgresql Database: Redmine

  postgresql Nome utente: Redmine

  password postgresql:

Dobbiamo esplicitare in una sola volta l'installazione che non vogliamo che MariaDB venga installata con la configurazione per il database PostgreSQL.


Configurazione nome DNS

La configurazione più semplice è l'altra cosa che possiamo fare della configurazione DNS che abbiamo fatto 1 volta. Potresti anche aver bisogno di TLS, del protocollo HTTPS e del nome host che abbiamo utilizzato per creare un record DNS:

ingresso:

  abilitato: vero

  certManager: vero

  nome host: redminek8s.ddns.net

  tls: vero

  annotazioni:

    kubernetes.io/ingress.class: nginx

    cert-manager.io/cluster-issuer:letsencrypt

Anche negli ultimi due moduli regolari abbiamo creato un'applicazione con il controller di ingresso e l'emittente del cluster che abbiamo creato.

Ora possiamo implementare Redmine con una configurazione incollata:

helm installa Redmine -f valori.yaml bitnami / redmine

Die regel is vergelijkbaar met andere helm installeregels die we eerder hebben gebruikt, maar deze keer leveren we een aangepastevalues.yaml. Questo è il modo per far passare l'applicazione Helm.

Abbiamo capito cosa c'è bisogno, perché l'applicazione non è ancora stata realizzata in tempo. Puoi eseguire il comando per controllare lo stato dei contenitori delle applicazioni:

kubectl get pod --watch

Il commando è stato molto gentile con quello che hai detto:

NOME PRONTO STATO RIAVVIA ETÀ

. . .

redmine-999c68dd9-x7h2k    1/1     Running   0          6m40s

redmine-postgresql-0 1/1 In esecuzione 0 6m40s

Devi controllare tutto lo stato di entrambi i contenitori In esecuzione è tutto chiaro con 1/1, che in totale dura 6 minuti.

Adesso è tutto chiaro per aprire il browser e ottenere una nuova implementazione:

Redmine è chiaro


completamento

Kubernetes è uno strumento complesso per implementare applicazioni, ma siamo riusciti a realizzare la complessità grazie all'aiuto di Helm (nessuna parola usata) e un'installazione intuitiva di Redmine implementata.

Puoi eseguire la stessa operazione di gestione dei dati nel successivo repository git: https://github.com/lcofre/redmine-on-k8s. Vergelijk gerust met uw bestanden als u vastloopt.

Abbiamo avuto alcuni concetti buiten de discussie gelaten a causa del complesso avvertimento delle specifiche specifiche per il cloud. Sotto la valle di Liveness e Readiness della tua applicazione, la configurazione delle e-mail in entrata e le opzioni per poter essere più affidabili. Laat ons hieronder weten waar u het meest in geïnteresseerd bent, zodat we het in een toekomstige handleiding kunnen bespreken.

L'ultimo aggiornamento di Redmine? Makkelijk.

Utilizza tutti gli strumenti necessari per una perfetta pianificazione del progetto, -beheer en -controle nel software één.

Probeer Easy Redmine 30 giorni gratis

Volledige functies, SSL-beveiligd, dagelijkse back-ups, in uw geografische location