Redmine Kubernetes-ben - 2. rész: Redmine telepítése
Ez a második része a Redmine telepítéséről Kubernetes-be szóló sorozatnak. Ebben a cikkben utasításokat adunk arra, hogyan telepítsük megbízhatóan Redmine-t.
Elbeszélés rész 1
Már biztosan várja, hogy telepítse a Redmine-t a Kubernetes-re. Végül is erre jött, ugye?
A Redmine a Kubernetes-en - 1. rész: Környezet előkészítése cikkünkben telepítjük az Ingress Controller-t, egy olyan összetevőt, amely az internetes kéréseket a klaszteren belülre irányítja, és létrehozza a DNS domain-t, a redminek8s.ddns.net-et. Most már csak be kell állítanunk a HTTPS-t, és készen állunk a Redmine telepítésére.
HTTPS a cert-manager segítségével
Bár a Redmine-t HTTP-ként is használhatnánk, a HTTPS a weboldalak szabványossá vált, annyira, hogy a legtöbb figyelmeztetést ad ki, ha egy weboldal nem használ HTTPS-t.
Az HTTPS engedélyezése általában nem triviális feladat, mivel tanúsítványt kell vásárolni és feltölteni az oldalra, majd bizonyos idő után meg kell újítani, majd megismételni a folyamatot. A cert-manager mindezt automatizálja, beleértve a tanúsítványok megújítását, és még ingyenes tanúsítványokat is szerezhet. További információkat találhat a kampányükön, de az alábbiakban mindent elmagyarázok, amire szüksége van.
A cert-manager telepítése
Végrehajtja a következőt: a cert-manager telepítéséhez a klaszterben
kormányrepo add jetstack https://charts.jetstack.io && helm repo frissítés
sisak telepítése cert-manager jetstack / cert-manager - set installCRDs = true
hozzáadja a cert-manager helyét, majd telepíti a legfrissebb verzióját.
Kapcsolódás a tanúsítványkibocsátóhoz
Most azt kell utasítanunk a cert-managernek, hogy csatlakozzon a választott tanúsítvány-szolgáltatóhoz. Az ingyenes tanúsítványbocsátó, a LetsEncrypt használatára fogunk kibocsátani. először hozza létre ezt a fájlt (ne felejtse el a helyére valódi e-mail címet írni), és nevezze el cluster-issuer.yaml-nak:
apiVerzió: cert-manager.io/v1alpha2
fajta: ClusterIssuer
metaadatok:
név: letsencrypt
specifikáció:
csúcspont:
szerver: https://acme-v02.api.letsencrypt.org/directory
email:
privateKeySecretRef:
név: letsencrypt
megoldó:
- http01:
behatolását:
osztály: nginx
alkalmazza a klaszterre a következő paranccsal:
kubectl apply -f cluster-emiter.yaml
Gratulálok! Az előbbi fájl az első kubernetes telepítés, amelyet írunk és alkalmazunk a klaszterre. Észreveheti, hogy bemutatja, hogyan kell csatlakozni a LetsEncrypt-hez, de leírja az első részben más Ingress Controller-t is (A class: nginx végén). Ez a típus néhány sorral rendelkezik szóközökkel, hogy a tulajdonságok függőségét másoktól jelezze. Tartsa meg ezeket a szóközöket, ahogy azok meg vannak mutatva, hogy biztosítsa a fájl helyes olvasását és alkalmazását.
Most már az Ön klasztere HTTPS-képes. Amikor telepítünk egy alkalmazást, utasíthatjuk, hogy HTTPS-ként működjön, és voilà! Az egész tanúsítvány megszerzési folyamatban lezajlik a háttérben.
Redmine telepítése
Ez az, amire mindannyian vártunk. A Redmine telepítésének többféle módja van, de messze a legkényelmesebb a Helm használata. Ahogy korábban már tettük, először hozzáadjuk a repository-t, ahol a Redmine található
sisak repo hozzá bitnami https://charts.bitnami.com/bitnami && helm repo frissítés
De végre nem azonnal telepítjük, hanem programozzuk fájlt hozunk létre, hogy megadja a Redmine-nek a kívánt testreszabott viselkedést.
Az összes beállítást saját szakaszukba szétválasztjuk, de ugyanabba a fájlba helyezzük őket, egymás után. A fájlt nevezze el értékeket.yaml-nak.
Minden Helm alkalmazásnak van egy value.yaml fájlja, amely tartalmazza az alkalmazáshoz lehetséges összes beállítást. Amikor saját értékeket.yaml fájlt hozunk létre, meghatározzuk a kívánt változtatásokat. Az összes olyan érték, amely nem tartalmaz egy fájlunkban, az alapértelmezett fájlban marad.
Az összes telepített érték megtalálható a helm alkalmazás oldalán, https://hub.helm.sh/charts/bitnami/redmine. Menjen előre és az összes beállítást.
Első adminisztrátori felhasználó
Redmine felhasználónév: adminUser
Redmine jelszó:
Ez a lépés annyira szükséges, mint könnyen érthető. Ez az első felhasználónk a Redmine-ban, amelyet az első bejelentkezéshez fogunk használni.
Amikor a Redmine telepítve van, ezzel a felhasználóval hozzáférhet hozzá, hogy konfigurálja az új telepítést.
PostgreSQL adatbázis
Alapértelmezés szerint a Helm telepítésünknek létre kell hoznia egy mariadb adatbázist. Ehelyett konfiguráljuk a telepítésünket a PostgreSQL használatára. Legalább egy jelszót is kell adni az adatbázis eléréséhez, ahogy az alább látható
adatbázis típusa: postgresql
MariaDB:
engedélyezve: hamis
PostgreSQL:
engedélyezve: igaz
postgresql adatbázis: Redmine
postgresql felhasználónév: Redmine
postgresql jelszó:
Kifejezetten meg kell mondani a telepítésünknek, hogy nem akarjuk, hogy a MariaDB telepítve legyen a PostgreSQL adatbázis telepítésével együtt.
DNS névátvitel
Az alábbi vezérlő a DNS-rendszer másik oldala, amit az 1. részben csináltunk. Ahogy látható, engedélyezzük a TLS-t, ami az HTTPS mögötti protokollt, és beállítjuk a hosztnevet, amit használtunk a DNS rekord létrehozásában:
behatolását:
engedélyezve: igaz
certManager: igaz
gazdagépnév: redminek8s.ddns.net
tls: igaz
jelöléseket:
kubernetes.io/ingress.class: nginx
cert-manager.io/cluster-issuer: letecrypt
Az utolsó két sorban összekapcsoljuk az alkalmazásunkat az Ingress Controllerrel és a korábban korábban Cluster Issuerrel.
Most telepíthetjük a Redmine-t a saját vezérlőnkkal:
sisak telepítése Redmine -f értékek.yaml bitnami / redmine
Ez a sor hasonló a korábban helm install sorokhoz, de használt egyéni értékeket.yaml-t adunk meg. Ez a módja annak, hogy testreszabjunk bármilyen Helm alkalmazást.
Még türelemre van szükségünk, mivel az alkalmazás létrehozása néhány időt vesz igénybe. Ezt a parancsot futtathatjuk, hogy ellenőrizzük a konténereinek állapotát:
kubectl kap hüvelyeket --watch
A parancs hasonlót fog visszaadni, mint ez:
NÉV KÉSZ ÁLLAPOT ÚJRA KEZDIK
. . .
redmine-999c68dd9-x7h2k 1/1 Running 0 6m40s
redmine-postgresql-0 1/1 Futás 0 6m40s
Várni kell, mindkét konténer állapota Running és mindkét készen áll 1/1, ami az én esetemben kb. 6 percet vett igénybe.
Most minden készen áll arra, hogy megnyissuk a böngészőt és elérjük az új telepítésünket:
A Redmine készen áll
Összefoglalás
A Kubernetes egy összetett eszköz az alkalmazások telepítéséhez, de a Helm (nem szó szerint) segítségével navigáltunk ebben a bonyolultságban és megbízhatóságban hajtottunk végre a Redmine számára.
Az ebben a how-to-ban összefoglaltak megtalálja a következő git repo-ban: https://github.com/lcofre/redmine-on-k8s. Ha elakad, szabadon összehasonlíthatja a saját fájljaival.
Azért hagytunk ki néhány fogalmat a vitából, mert bonyolultak voltak vagy a magyarázatspecifikus volt. Köztük szerepelnek az alkalmazásban Liveness és Readiness-je, a bejövő levelek beállításja és a skálán a nagyobb terhelés kezelésére. Kérje, jelezze nekünk az oldalt, hogy mi érdekli a legjobban, hogy a jövőben megvitassuk.
Az utolsó Redmine frissítés? Egyszerű.
Szerezd meg az összes megfelelő eszközt a tökéletes projekttervezéshez, -kezeléshez és -irányításhoz egyetlen szoftverben.