Redmine i Kubernetes – Del 1: Forbereder miljøet

6/22/2020
6 λεπτά
Λούκα Μπέγια
I denne todelte serien vil vi distribuere Redmine til Kubernetes. Βεβαιωθείτε ότι μπορείτε να χρησιμοποιήσετε το Redmine μέσω HTTPS.

Vi delte denne veiledningen i to deler for å først fokusere på installasjon av verktøy og komponenter som Redmine-implementeringen vil bruke. Άντρες ikke bekymre deg for kompleksiteten. Selv om du er ny på Kubernetes, vil det være en forståelig forklaring.

Denne veiledningen ble skrevet for å være ουρανός-ουαβενγκίγ, så vi utelot med vilje alle referanser til skyen vi brukte. Legg igjen en kommentar hvis du kan gjette hvilken sky vi brukte, og fortell oss hvilke detaljer som avslørte det. Vi anbefaler deg å bruke Kubernetes-tjenesten som skyen din tilbyr, da den er godt integrert med andre tjenester som skyen din også tilbyr.

Miljøer som microk8s eller minikube er ikke inkludert her, da de krever litt mer konfigurasjon som er utenfor omfanget av denne veiledningen. Spesielt krever vår HTTPS-διαμόρφωση στο klyngen vår har en offentlig διεύθυνση IP.


La oss bruke Helm

Kubernetes er et komplekst verktøy for kontainerorkestrering. Det er mange begreper vi må lære for å komme i gang. Heldigvis er det et prosjekt som heter Πηδάλιο som gir det nivået av abstraksjon vi trenger. Med deres egne ord: "Hvis vi gjorde ting riktig, kunne brukere installere Helm og deretter innen minutter installere komponenter av produksjonskvalitet rett fra hylla".

Uten å gå inn på grunnene til navnene deres (det forteller hele historien om en metafor, Helm, Kubernetes og kontainere), gjør helm virkelig installasjonen enklere samtidig som det gir rom for tilpasning av komponenten etter våre behov. Vi vil bruke Helm 3, deres nyeste og enda enklere versjon.

Hvis du bruker skyens skall fra skytilbyderen din, er sjansene store for at Helm 3 allerede er tilgjengelig, men hvis ikke kan du installere det ved å følge veiledningen som Helm-dokumentasjonen gir, helm.sh/docs/intro/install/. Du må αλλερέντε χα τιλγκάνγκ τιλ κλίνγκεν ντιν fra kommandolinjen du bruker. Skytilbyderen din har også en veiledning om hvordan du gjør det.


Εγκαταστάτης Ingress Controlleren

Dette er den første komponenten vi vil installere i klyngen vår, og er også det første Kubernetes-konseptet vi vil se. Engress-controller sitter ved inngangsdøren til klyngen din, mottar alle webforespørsler og omdirigerer dem til den interne komponenten som er ansvarlig for å svare på forespørselen. I begynnelsen vil det ikke være noen klar til å svare, men når vi installerer Redmine, vil det bli lagt til som en destinasjon για forespørslene.

Kubernetes tilbyr Ελεγκτής εισόδου NGINX som vi vil bruke. Dokumentasjonen deres forklarer hvordan du installerer den ved hjelp av Helm:

τιμόνι repo προσθέστε ingress-nginx https://kubernetes.github.io/ingress-nginx && helm repo ενημέρωση

τιμόνι εγκαθιστώστε το ingress-controller ingress-nginx / ingress-nginx

Για να δημιουργήσετε ένα σύστημα φόρτωσης για την εφαρμογή αποθετηρίου εισόδου-ελεγκτή, αλλά και για τον εγκαταστάτη και την εφαρμογή. Når den er ferdig, vil kommandoen skrive ut noen opplysninger for å komme i gang, inkludert hvordan du får den offentlige IP-addressen som er tildelt til kontrolleren:

kubectl get υπηρεσίες --watch

Αποτελέσματα vil være noe lignende dette:

NAVN                   ΤΥΠΟΣ           KLUSTER-IP     EKSTERN-IP      PORTER          ALDER

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

ClusterIP ελεγκτή-εισαγωγής 10.0.135.226 443 / TCP 5m22s

kubernetes             ClusterIP      10.0.0.1                  443/TCP          44t

Merk deg EKSTERN-IP, da vi vil trenge den i neste trinn. Μπορείτε να δείτε στο verdien du får der i stedet για ένα IP er . Det tar litt tid για το skyen å skaffe en offentlig IP og tildele den til klyngen din. Bare vent noen få sekunder til, og IP-addressen skal være tilgjengelig.


Opprett και DNS A-post

Nå som du har IP-addressen, kan du bare gå til en nettleser og se hvordan klyngen din svarer. Selvfølgelig, siden ingen applikasjon er installert ennå, vil klyngen svare med en "404 Not Found" feilmelding. Vi vil opprette et DNS-domene som vi kan knytte til den IP-addressen, forhåpentligvis lettere å huske enn en list med ψηλό και punktum.

Προσθέστε ένα καλό και internett-domene για το Redmine avhenger i stor grad av din domeneleverandør, men i alle tilfeller ender du opp med å opprette en DNS A-post som kobler et domenenavn til IP-addressen din. Πραγματοποιήστε αναζήτηση για το DNS-leverandøren no-ip.com για να ανατρέξετε.

Προτιμήστε το DNS A-post

Dataene du må fylle ut, som du kanskje forventer, er domenenavnet og IP-addressen. No-IP er akkurat det vi trenger για å illustrere opprettelsen av et domene, men du vil sannsynligvis velge en annen DNS-leverandør. Prosessen er ganske lik i alle sammen.

Det tar litt tid for den nye posten å spre seg, så du kan bruke ping for å sjekke når IP-addressen blir løst riktig:

ping redminek8s.ddns.net


Νέστε στεγ

Nå som vi har en ingress-controller og et DNS-domene, er det eneste som gjenstår å Ρυθμίστε το HTTPS για το δίκτυο και την εγκατάσταση του Redmine. Μπορείτε να δημιουργήσετε τη βάση δεδομένων PostgreSQL για τη βάση δεδομένων, να δημιουργήσετε μια αλλαγή και να δημιουργήσετε το Helm.

Følg med på Redmine στο Kubernetes Μέρος 2: Εγκατάσταση του Redmine.

Το απόλυτο Redmine-oppgraderingen; Ένκελ.

Få alle kraftige verktøy for perfekt prosjektplanlegging, -styring og -kontroll i én programvare.

Προβάλετε το Easy Redmine και 30-dagers δωρεάν σε πρώτη περίοδο

Full funksjonalitet, SSL-beskyttet, daglige sikkerhetskopier, i din geografiske plassering