Redmine i Kubernetes - Del 1: Pregătirea mediului.

6/22/2020
6 minutter
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ă, der nu sunt luate în overvejer mediile precum microk8s eller minikube, deoarece necesită o konfigurere suplimentară pleje depășește domeniul de aplicare al acestui ghid. În speciel, configurarea noastră HTTPS necesită ca clusterul nostru să aibă o adresseă IP publică.


Să folosim Helm

Kubernetes este o unealtă complexă pentru orkesterområde containerelor. Eksisterer flere koncepter for at pleje 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 spundet povestea unei metafore, Helm, Kubernetes și containere), Helm simplifică cu adevărat instalarea 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 er și un ghid despre cum să faceți asta.


Installer kontrol for 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. Indledende, nu va fi nimeni pregătit să răspundă, der kan installeres Redmine, acesta va fi adăugat ca. destinație pentru cereri.

Kubernetes oferă Kontrol af Ingress NGINX pe care îl vom folosi. Dokumentation for eksplică cum să-l instalați folosind Helm:

roret repo tilføj ingress-nginx https://kubernetes.github.io/ingress-nginx && roret repo-opdatering

ror installer 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, inclusive cum să obțineți adresa IP publică atribuită kontrolrului:

kubectl få tjenester - ur

Rezultatul va fi ceva lignende cu acesta:

NAVN TYPE CLUSTER-IP EKSTERN-IP PORT (E) ALDER

nginx-controller LoadBalancer 10.0.115.117 89.68.23.33 80 / TCP, 443 / TCP 5m22s

controller-adgang ClusterIP 10.0.135.226 443 / TCP 5m22s

kubernetes ClusterIP 10.0.0.1 443 / TCP 44h

Rețineți-adressen IP EXTERNAL-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 adresseă IP publică și să o atribuie clusterului dvs.. Așteptați câteva secunde în plus și adresse IP ar trebui să fie disponibilă.


Opret og registrer DNS A

Acum că aveți adresser IP, puteți să mergeți til en browser ș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 crea un domeniu DNS pe care îl putem asocia acelei adresse 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 or înregistrare DNS A care leagă un nume de domeniu cu adressea IP. Udaț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 nummer DNS og IP-adresse. No-IP este eksakte ceea ce avem nevoie pentru a illustrator crearea unui domeniu, dar der sandsynligheden for at kunne levere en DNS-different. Proces este destul de lignende i toate cazurile.

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

ping redminek8s.ddns.net


Næste skridt

Acum că avem un controler de intrare și un domeniu DNS, singurul lucru rămas de făcut este konfigurere HTTPS til webstedet og installeret Redmine. Hvis du bruger PostgreSQL på datoen, kan du bruge den til at konfigurere Helm.

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

Aktualisere endelig Redmine? Ușoară.

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

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

Complete funktioner, beskyttet SSL, backup-uri zilnice, i geolokalisering dvs.