Redmine Kubernetesissa - Osa 1: Ympäristön valmistelu

6/22/2020
6 minutes
Lukáš Beňa
Tässä kaksiosaisessa sarjassa asennamme Redminen Kubernetes-ympäristöön. Käytämme suositeltuja työkaluja ja käytäntöjä tavoitteena asentaa kestävä Redmine-instances HTTPS:n yli.

Jaoimme tämän ohjeen kahteen osaan keskittyäksemme ensin työkalujen ja komponenttien asentamiseen, joita Redmine-asennus käyttää. Mutta älä huoli monimutkaisuudesta. Vaikka et olisi perehtynyt Kubernetesiin, selitys on ymmärrettävä.

Tämä opas on kirjoitettu olemaan pilviagnostiikasta riippumaton, joten jätimme tarkoituksella pois kaikki maininnat käyttämästämme pilvestä. Jätä kommentti, jos arvaat käyttämämme pilven ja kerro meille, mikä yksityiskohta paljasti sen. Suosittelemme käyttämään pilvesi tarjoamaa Kubernetes-palvelua, koska se on hyvin integroitu muiden palveluiden kanssa, joita pilvesi tarjoaa.

Ympäristöjä kuten microk8s tai minikube ei käsitellä tässä, koska ne vaativat hieman enemmän konfigurointia, joka ei kuulu tämän oppaan piiriin. Erityisesti HTTPS-konfiguraatiomme edellyttää, että klusterillamme on julkinen IP-osoite.


Käytetään Helm:iä

Kubernetes on monimutkainen työkalu konttien orkestrointiin. Meidän täytyy oppia monia käsitteitä päästäksemme alkuun. Onneksi meillä on projekti nimeltä Helm, joka tarjoaa tarvittavan abstraktiotason. Heidän omien sanojensa mukaan "Jos teimme asiat oikein, käyttäjät voisivat asentaa Helmin ja sitten muutamassa minuutissa asentaa tuotantotasoisia valmiita komponentteja"

Jättäen syrjään syiden nimet (kaikki kertoo tarinaa metaforasta, Helm, Kubernetes ja kontit), helm yksinkertaistaa todella asennusta samalla antaen mahdollisuuden mukauttaa komponenttia tarpeidemme mukaan. Käytämme Helm 3:sta, heidän uusinta ja vieläkin yksinkertaisempaa versiota.

Jos käytät pilven komentokehystä pilvitoimittajaltasi, on todennäköistä, että Helm 3 on jo käytettävissä, mutta jos ei, voit asentaa sen seuraamalla Helmin dokumentaation tarjoamaa opasta, helm.sh/docs/intro/install/. Sinun täytyy jo olla pääsy klusteriisi käyttämästäsi komentoriviltä. Pilvitoimittajallasi on myös opas siitä, miten se tehdään.


Asenna Ingress Controller

Tämä on ensimmäinen komponentti, jonka asennamme klusteriin, ja se on myös ensimmäinen Kubernetes-konsepti, jonka näemme. Ingress-ohjain sijaitsee klusterin sisäänkäynnin luona, vastaanottaa kaikki verkkopyynnöt ja ohjaa ne sisäisen komponentin luo, joka vastaa pyyntöön. Aluksi kukaan ei ole valmis vastaamaan, mutta kun asennamme Redminen, se lisätään pyyntöjen kohteeksi.

Kubernetes tarjoaa NGINX Ingress Controllerin, jota käytämme. Heidän dokumentaatiossaan selitetään, miten se asennetaan käyttäen Helm:iä:

helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx && helm repo update

helm install ingress-controller ingress-nginx/ingress-nginx

Ensimmäinen komento lisää sovellusten repositoryn, jossa ingress-ohjain sijaitsee, kun taas toinen asentaa sen klusteriisi. Kun asennus on valmis, komento tulostaa joitain tietoja aloittamiseen, mukaan lukien julkisen IP-osoitteen, joka on määritetty ohjaimelle:

kubectl get services --watch

Tulos on jotain tällaista:

NAME                   TYPE           CLUSTER-IP     EXTERNAL-IP      PORT(S)          AGE

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

controller-admission   ClusterIP      10.0.135.226   <none>           443/TCP          5m22s

kubernetes             ClusterIP      10.0.0.1       <none>           443/TCP          44h

Ota huomioon EXTERNAL-IP, koska tarvitsemme sen seuraavassa vaiheessa. Saattaa tapahtua, että sen sijaan, että saat IP-osoitteen, saat arvon <pending>. Pilven kestää jonkin aikaa hankkia julkinen IP-osoite ja määrittää se klusteriisi. Odota muutama sekunti lisää, ja IP-osoite pitäisi olla saatavilla.


Luo DNS A -tietue

Nyt kun sinulla on IP-osoite, voit mennä selaimella ja nähdä, miten klusterisi vastaa sinulle. Tietysti, koska mitään sovellusta ei ole vielä asennettu, klusterisi vastaa "404 Not Found" -virheellä. Luomme DNS-verkkotunnuksen, joka voidaan liittää kyseiseen IP-osoitteeseen, toivottavasti helpompi muistaa kuin numerosarja.

Tapa luoda internet-verkkotunnus Redmine-ohjelmistollesi riippuu suuresti verkkotunnuksen tarjoajastasi, mutta kaikissa tapauksissa sinun on luotava DNS A -tietue, joka linkittää verkkotunnuksen nimen IP-osoitteeseesi. Katso seuraavaa kuvakaappausta no-ip.com DNS-palveluntarjoajalta.

DNS A -tietueen luominen

Täytettävät tiedot, kuten voit odottaa, ovat DNS-nimi ja IP-osoite. No-IP on juuri sitä mitä tarvitsemme verkkotunnuksen luomisen havainnollistamiseksi, mutta sinulla on todennäköisesti tai valitset erilaisen DNS-palveluntarjoajan. Prosessi on melko samanlainen kaikissa niissä.

Uuden tietueen leviäminen vie jonkin aikaa, joten voit käyttää pingiä tarkistaaksesi, milloin IP-osoite on ratkaistu oikein:

ping redminek8s.ddns.net


Seuraavat vaiheet

Nyt kun meillä on sisääntulon ohjain ja DNS-verkkotunnus, ainoa jäljellä oleva asia on määrittää HTTPS-suojaus sivustollemme ja asentaa Redmine. Käytämme tietokantana PostgreSQL:ää, mutta näet, kuinka helppoa kaiken konfigurointi on Helm-käyttöliittymän avulla.

Ole kuulolla Redmine Kubernetesissa Osa 2: Redminen asentaminen.

Redmine-päivitys, joka vie sinut uudelle tasolle? Helppoa.

Saat kaikki tehokkaat työkalut täydelliseen projektisuunnitteluun, hallintaan ja valvontaan yhdessä ohjelmistossa.

Kokeile Easy Redmine -ohjelmaa 30 päivän ilmaisella kokeilujaksolla

Täydet ominaisuudet, SSL-suojattu, päivittäiset varmuuskopiot, sijaintisi mukaan