Redmine în Kubernetes - Del 1: Pregătirea mediului.

6/22/2020
6 minuter
Lukáš Beňa -> Lukáš Beňa
În această serie în două părți, vom implementa Redmine în Kubernetes. Vom folosi instrumente și practici recomandate cu scopul de a implementa or instanță rezistentă de Redmine peste HTTPS.

Am împărțit acest ghid în două părți pentru a ne concentra mai întâi pe instalarea instrumentelor și componentelor pe care le va folosi implementarea Redmine. Dar nu vă faceți griji cu privire la complexitate. Chiar dacă sunteți nou în Kubernetes, va fi o explicație ușor de înțeles.

Acest ghid a fost scris pentru a fi agnostiker la nor, așa că am lăsat intenționat toate mențiunile despre norul pe care l-am folosit. Lăsați un comentariu dacă puteți ghici norul pe care l-am folosit și spuneți-ne ce detaliu va dat de gol. Vă recomandăm să utilizați serviciul Kubernetes pe care îl oferă norul dvs., deoarece este bine integrat cu alte servicii pe care norul dvs. le oferă, dar nu sunt luate în considerare mediile precum microk8s sau minikube, deoarece necesită o configurare suplimentară care depășește domeniul de aplicare al acestui ghid. În special, configurarea noastră HTTPS necesită ca clusterul nostru să aibă o adresă IP publică.


Să folosim Helm

Kubernetes este o unealtă complexă pentru orchestrarea containerelor. Există multe concepte pe care trebuie să le învățăm pentru a începe. Din fericire, există un proiect numit Helm care oferă nivelul de abstractizare de care avem nevoie. I cuvintele lor "Dacă am făcut lucrurile corect, utilizatorii ar putea instala Helm și apoi în câteva minute să instaleze componente gata de producție".

Lăsând la o parte motivele pentru numele lor (toate spunnen povestea unei metafore, Helm, Kubernetes și containere), Helm förenklad installation permițând în același timp personalizarea componentei în funcție de nevoile noastre. Vom folosi Helm 3, ultima lor versiune și chiar mai simplă.

Dacă utilizați shell-ul norului furnizorului dvs. de nor, există șanse ca Helm 3 să fie deja disponibil, dar dacă nu, îl puteți instala urmând ghidul oferit de documentația Helm, helm.sh/docs/intro/install/. Trebuie să aveți acces la clusterul dvs. din linia de comandă pe care o utilizați. Furnizorul dvs. de nor är și un ghid despre cum să faceți asta.


Installera kontrollerul Ingress

Acesta este primul komponent pe care îl vom instala în clusterul nostru și este, de asemenea, primul koncept Kubernetes pe care îl vom vedea. Un controler Ingress se află la ușa de intrare a clusterului dvs., primește toate cererile web și le redirecționează către componenta internă responsabilă de răspunsul la cerere. Initial, nu va fi nimeni pregătit să răspundă, dar când instalăm Redmine, acesta va fi adăugat ca destinație pentru cereri.

Kubernetes oferă Kontroller för Ingress NGINX pe care îl vom folosi. Documentația lor explică cum să-l instalați folosind 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

Prima comandă adaugă depozitul de aplicații în care se află controlerul Ingress, în timp ce a doua îl instalează în clusterul dvs. Când ați terminat, comanda va afișa unele informații pentru a începe, inclusiv cum să obțineți adresa IP publică atribuită kontrollrului:

kubectl få tjänster - klocka

Rezultatul va fi ceva liknande cu acesta:

NAMN TYP CLUSTER-IP EXTERN-IP PORT (S) ÅLDER

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

Rețineți adresa IP EXTERN-IP deoarece o vom avea nevoie în următorul pas. S-ar putea să se întâmple ca în loc de o adresă IP, valoarea pe care o obțineți acolo să fie . Este nevoie de ceva timp pentru ca cloud-ul să obțină o adresă IP publică și să o atribuie clusterului dvs.. Așteptați câteva secunde în plus și adresa IP ar trebui să fie disponibilă.


Skapa och registrera DNS A

Acum că aveți adresa IP, puteți să mergeți till en webbläsare și să vedeți cum răspunde clusterul dumneavoastră. Desigur, deoarece încă nu este instalată nicio aplicație, clusterul dumneavoastră va răspunde cu o eroare "404 Not Found". Vom skapa un domeniu DNS pe care îl putem asocia acelei adress IP, sperăm că mai ușor de reținut decât o listă de numere și puncte.

Modalitatea de a crea un domeniu de internet pentru Redmine-ul dumneavoastră depinde foarte mult de furnizorul dumneavoastră de domenii, dar în toate cazurile, veți crea o înregistrare DNS A care league un nume de domeniu cu adresa IP. Uitați-vă la captura de ecran de mai jos de la furnizorul de DNS no-ip.com pentru referință.

Crearea înregistrării noastre DNS A

Datele de completat, așa cum v-ați aștepta, sunt numele DNS och adress IP. No-IP este exakt ceea ce avem nevoie pentru a illustra crearea unui domeniu, dar probabil că veți alege un furnizor DNS differentit. Procesul este destul de liknande în toate cazurile.

Durează ceva timp pentru ca noua înregistrare să se propage, astfel încât puteți utiliza comanda ping pentru a verifica când adresa IP este rezolvată korrekt:

ping redminek8s.ddns.net


Nästa steg

Acum că avem un controler de intrare și un domeniu DNS, singurul lucru rămas de făcut este konfigurera HTTPS för webbplatsen och installera Redmine. Om du använder PostgreSQL som basdatum för datum, kan du använda en konfigurationsfil för Helm.

Stați pe aproape pentru Redmine i Kubernetes Partea 2: Installera Redmine-ului.

Realizarea finală Redmine? Ușoară.

Obțineți toate instrumentele puternice pentru planificarea, gestionarea och controlul perfect al proiectelor într-un singur programvara.

Încercați Easy Redmine în 30 de zile de încercare gratuită

Funcții complete, protejat SSL, backup-uri zilnice, in geolocalizarea dvs.