Jenkins beállítása a Google Kubernetes Engine-ben a Helm segítségével

Utolsó blogom közzététele után – Jenkins a Google Compute Engine-en kaptam egy követelést, hogy ugyanazt a blogot írjam, de a Helmen keresztül a Google Kubernetes Engine-mel.

Ugyanezt tesszük a szervezetünkben, és a közelmúltban a szervezetem egyik projektjéhez készítettem, szóval itt van!

Ez a blog frissítve van a Helm v3-as verzióval, amelyben nincs szükségünk kormányrudra és a beállításra további konfigurációra.

Google Kubernetes Engine (GKE)

G KE tökéletes kombináció, vagy azt kellene mondanom, hogy az Iaas és a PaaS keveréke Kubernetes-ként szolgáltatásként vagy konténerként, mint szolgáltatásként szerepel, amelyet a Google 2003 óta használ belső hangszerelőként 2015-ig. amikor nyílt forráskódúvá válik a fürt automatikus skálázásának előnyeivel, a Stackdriver, a fluentd, a Prometheus, a VPN stb. integrációjával, a Kubernetes Engine lehetővé teszi az alkalmazások gyors fejlesztését és iterációját, megkönnyítve az alkalmazások és szolgáltatások telepítését, frissítését és kezelését a nincs szállítói zárolás, ami azt jelenti, hogy szabadon kiviheti alkalmazásait a Kubernetes Engine-ből, és futtathatja őket bárhol, ahol a Kubernetes támogatott, beleértve a saját helyszíni szervereit is.

A konténerekkel csak az alkalmazáskódot és annak függőségeit egyetlen egységbe csomagoljuk, amely bármilyen típusú infrastruktúrából kivonja az alkalmazásunkat. A konténerek úgy csomagolják az alkalmazásainkat, hogy bármilyen környezetben fussanak, amely lehet UAT, gyártás vagy stádium. A tárolóalapú megoldások lehetővé teszik az alkalmazások kezelését.

A Jenkins telepítése a Kubernetes Engine-re fontos előnyöket kínál, amelyeket a szokásos virtuális gép-alapú telepítés nem nyújt. Amikor építési folyamatunk konténereket használ, egy virtuális gazdagép több operációs rendszeren futtathat feladatokat. A Kubernetes Engine efemer build végrehajtókat biztosít – ezeket csak akkor használják, ha az építések aktívan futnak, ami erőforrásokat hagy más fürtfeladatokhoz, például kötegelt feldolgozási feladatokhoz. Az efemer verziók végrehajtóinak további előnye a sebesség – másodpercek alatt elindulnak.

Először ezzel kell létrehoznunk egy K8s fürtöt a GCP-ben, a futás létrehozásához:

A fürt létrehozása eltart egy ideig.

A fürtlista megtekintéséhez futtassa ezt a parancsot:

A kimenetének ehhez hasonlónak kell lennie:

Most szerezze be a fürt hitelesítő adatait:

Ezt a parancsot csak a Csatlakozás gombra kattintva kapja meg a GKE Console-ban.

A kimenetének ehhez hasonlónak kell lennie:

Most elkészültünk a K8s klaszterrel, itt az ideje a Helm telepítésének. Igen!

Helm

Nagyon egyszerű kifejezéssel – a Helm egy csomagkezelő, amely automatizálja az összetett Kubernetes-alkalmazások telepítésének, konfigurálásának, frissítésének és eltávolításának folyamatát. Ez az NPM a Nodejs, a Maven a Java, a Hombrew a Mac, a Chocolatey a Windows!

Nem olyan mély fogalmak!

A Kubernetes alkalmazásai általában legalább két erőforrástípusból állnak:

Az alkalmazás tartalmazhat ConfigMaps, Secrets és Ingress fájlokat is.

Bármely telepítéshez több Kubernetes parancsra ( kubectl ) van szükség az erőforrások létrehozásához és konfigurálásához. Alapvetően az egyes erőforrások manuális létrehozása külön-külön, ami fájdalmas. A Helm diagram több Kubernetes erőforrást halmazként határoz meg. A Helm megkönnyítheti és megismételhetővé teszi a telepítést, mert egy alkalmazás összes erőforrását egy parancs futtatásával telepítik.

A diagram egy Helm csomag. Ez tartalmazza az összes erőforrás-meghatározást, amely szükséges egy alkalmazás, eszköz vagy szolgáltatás futtatásához a Kubernetes-fürtön belül. A Helm használatával a konfigurációs beállításokat az values.yaml fájlban külön tárolják a jegyzék formátumától. Megváltoztathatja a konfigurációs értékeket az alkalmazás igényeinek megfelelően anélkül, hogy megérintené a jegyzék többi részét.

A Helm (v3) telepítéséhez a fürtbe futtassa a következőt:

A kívánt verzió letöltéséhez ellenőrizze a Helm kiadási oldalt

Ha magának szeretné megadni a fürt rendszergazdájának engedélyét a fürt RBAC-jában, futtassa:

Igen! elkészültünk a Helm telepítésével, most lépjünk előre a Jenkins

telepítésével

Jenkins

J az enkins az egyik legnépszerűbb, ingyenes, nyitott, Java kódolású CI / CD eszköz az iparban, amelyet néhány nagy MNC, például a Netflix, a LinkedIn, az eBay, a Nintendo stb. rugalmasan hangszerelje az építési, tesztelési és telepítési csővezetékeket. A Jenkins lehetővé teszi a fejlesztők számára, hogy gyorsan ismételjék meg a projekteket anélkül, hogy aggódnának a folyamatos szállításból eredő általános problémák miatt. Integráljuk Jenkins-jünket a forrás / verzió vezérlő rendszerrel, például a Github, a Gitlab, a Bitbucket, és végrehajthatjuk az Apache Ant, az Apache Maven és az sbt alapú projekteket, valamint tetszőleges shell parancsfájlokat és a Windows kötegelt parancsokat.

Futtassa a következő parancsot a Jenkins telepítéséhez a Kubernetes fürtbe a Helm Chart segítségével egy lövéssel:

Pár percbe telik a lépés végrehajtása

A futó hüvelyek ellenőrzéséhez futtassa:

A kimenete így néz ki:

Állítsa be a Jenkins szolgáltatásfiókot, hogy telepíthető legyen a fürtbe

Futtatásával szerezze be az „admin” felhasználói jelszavát:

Ilyen kimenet jelenik meg:

A szolgáltatás megtekintéséhez futtassa az alábbi parancsot:

A kimenete a következő lesz:

Másolja a External-IP: 8080 elemet, és illessze be a böngészőbe és a Voila! – kezdte Jenkins. A regisztrációs oldalon írja be az admin értéket a felhasználónév és jelszó alapján, amelyet a 2. utolsó lépéstől másolt.

Ez a típusú oldal megjelenik !!!

Így állította be a Jenkins-t a GKE-vel

Google Kubernetes Engine Docs

Kubernetes-dokumentumok

Jenkins Docs

Helm Docs

Helm diagramok

Adj neki tapsot, ha hasznosnak találod.

Kövessen minket a Twitteren a Twitteren / ? és a Facebookon ? és csatlakozzon a Facebook csoporthoz ?

Ha csatlakozni szeretne a Slack közösséghez ?️ és elolvassa a heti Faun témáinkat ?️, kattintson ide⬇

Ha ez a bejegyzés hasznos volt, kérjük, kattintson néhányszor az alábbi taps ? gombra, hogy támogassa a szerzőt! ⬇