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⬇