Redmine Kubernetesban - 1. rész: Környezet előkészítése

6/22/2020
6 minutes
Lukáš Beňa -> Lukáš Beňa
Ebben a két részes sorozatban Redmine-t telepítünk a Kubernetes-be. Ajánlott eszközöket és gyakorlatokat használunk azzal a céllal, hogy egy ellenálló Redmine példányt telepítsünk HTTPS-en keresztül.

Ezt a how-to-t két részre osztottuk, hogy először a Redmine telepítéséhez használt eszközökre és komponensekre összpontosítsunk. De ne aggódj a bonyolultság miatt. Még ha új vagy a Kubernetes-hez, érthető magyarázat lesz.

Ez az útmutató felhőfüggetlen írás volt, ezért szándékosan kihagytuk az összes említést a használt felhőről. Hagyj egy megjegyzést, ha kitalálod, melyik felhőt használtuk, és mondd el nekünk, melyik részlet árulta el. Javasoljuk, hogy használd a felhő által kínált Kubernetes szolgáltatást, mivel jól integrálódik a felhő által nyújtott egyéb szolgáltatásokkal.

Olyan környezetek, mint a microk8s vagy a minikube, nem szerepelnek itt, mivel több konfigurációt igényelnek, ami túlmutat ennek az útmutatónak a hatáskörén. Különösen a HTTPS konfigurációnk miatt szükségünk van arra, hogy a klaszterünknek legyen nyilvános IP-címe.


Használjuk a Helm-et

A Kubernetes egy összetett eszköz a konténer-orchestrációhoz. Sok fogalmat kell megtanulnunk, hogy elkezdjük. Szerencsére van egy projekt, amely a szükséges absztrakciós szintet biztosítja, ez a Helm. A saját szavaik szerint "Ha jól csináltuk, a felhasználók telepíthetik a Helm-et, és néhány percen belül telepíthetnek gyártási minőségű, polcról leemelhető komponenseket".

Figyelmen kívül hagyva a nevük okait (minden a metafora, a Helm, a Kubernetes és a konténerek történetét meséli el), a Helm valóban egyszerűsíti a telepítést, miközben lehetőséget ad a komponens testreszabására az igényeink szerint. A Helm 3-at fogjuk használni, ami a legújabb és még egyszerűbb verzió.

Ha a felhőszolgáltató felhőkonzolját használod, akkor valószínűleg már elérhető a Helm 3, de ha nem, akkor kövesd a Helm dokumentáció által nyújtott útmutatót, a helm.sh/docs/intro/install/ címen. Már hozzáférésednek kell lennie a klaszteredhez a használt parancssorból. A felhőszolgáltatódnak is van útmutatója arra vonatkozóan, hogyan kell ezt megtenni.


Telepítse az Ingress Controller-t

Ez az első komponens, amelyet telepítünk a kluszterünkbe, és az első kubernetes fogalom, amit látni fogunk. Az Ingress controller az Ön kluszterének bejárati ajtajánál helyezkedik el, fogadja az összes webkérést, majd átirányítja azokat a belső komponenshez, amely felelős a kérés megválaszolásáért. Kezdetben senki sem lesz kész a válaszadásra, de amikor telepítjük a Redmine-t, hozzáadódik egy célállomásként a kérésekhez.

A Kubernetes biztosítja a NGINX Ingress Controller-t, amelyet használunk. A dokumentációjuk magyarázza, hogyan telepíthető a Helm segítségével:

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

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

Az első parancs hozzáadja az alkalmazások tárházát, ahol az Ingress controller található, míg a második telepíti azt a kluszterébe. Amikor befejeződött, a parancs néhány információt nyomtat ki a kezdéshez, beleértve, hogyan lehet megkapni a vezérlőhöz rendelt nyilvános IP-címet:

kubectl get services --watch

Az eredmény hasonló lesz ehhez:

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

Jegyezze fel az EXTERNAL-IP-t, mert szükségünk lesz rá a következő lépésben. Előfordulhat, hogy az IP helyett az érték <pending> lesz. Néhány másodpercig tart, amíg a felhő nyilvános IP-t szerez és hozzárendeli a kluszteréhez. Várjon néhány másodpercet, és az IP elérhetővé válik.


Létrehozás egy DNS A rekordot

Most, hogy megvan az IP-címed, csak meg kell nyitnod egy böngészőt, és megnézni, hogyan válaszol a klusztered. Természetesen, mivel még nincs telepítve alkalmazás, a klusztered egy "404 Not Found" hibával válaszol. Létrehozunk egy DNS domain-t, amelyet hozzárendelhetünk az IP-címhez, remélhetőleg könnyebben megjegyezhető, mint egy számok és pontok listája.

Az internetes domain létrehozásának módja a Redmine-hoz nagymértékben függ a domain-szolgáltatódtól, de minden esetben létrehozol egy DNS A rekordot, amely összekapcsol egy domain nevet az IP-címeddel. Lásd példaként a következő képernyőképet a no-ip.com DNS-szolgáltatótól.

DNS A rekordunk létrehozása

Az adatok, amelyeket meg kell adnod, ahogy azt várhatod, a DNS-név és az IP-cím. A No-IP pont azt mutatja be, amire szükségünk van egy domain létrehozásához, de valószínűleg más DNS-szolgáltatót választasz vagy választottál. A folyamat hasonló az összes többihez.

Egy kis időbe telik, amíg az új rekord elterjed, így a ping használatával ellenőrizheted, hogy az IP-cím helyesen van-e feloldva:

ping redminek8s.ddns.net


Következő lépések

Most, hogy van egy belépési vezérlőnk és egy DNS domain-unk, az egyetlen dolog, ami még hátra van, hogy konfiguráljuk a HTTPS-t a weboldalunkhoz és telepítsük a Redmine-t. PostgreSQL-t használunk adatbázisként, de látni fogod, milyen könnyű mindent beállítani a Helm segítségével.

Maradj velünk a Redmine Kubernetes-ban 2. részéért: Redmine telepítése.

Az utolsó Redmine frissítés? Egyszerű.

Szerezd meg az összes erőteljes eszközt a tökéletes projekttervezéshez, -kezeléshez és -irányításhoz egyetlen szoftverben.

Próbálja ki az Easy Redmine-t 30 napos ingyenes próbaverzióban

Minden funkció elérhető | SSL tanúsítvány | Napi mentések