Öt fontos dolog, amelyet kezdő Kubernetes fejlesztő

felhő-natív alkalmazásfejlesztésként ismeri, gyorsan az iparág normájává válik. A felhőalapú technológiákra egyre nagyobb mértékben támaszkodva az alkalmazásfejlesztés egy felhőalapúbb megközelítésre váltott. A konténerizálás élen jár a felhő-natív alkalmazások táplálásában, és a konténerizált alkalmazások felidézték a konténer-hangszerelés szükségességét.

A Kubernetes ebből a konténer -hangszerelés iránti igényből született, mint robusztus megoldás a konténerkezeléshez.

Ez a konténer-hangszerelés defacto szabványává vált, hatalmas szolgáltatáskészlettel, robusztus természetével és aktív közösségével, amely folyamatosan javítja a platformot. Ez a széles körben elterjedt felhasználás azonban a Kubernetes komplex megoldássá tette. Ez a bonyolultság viszonylag meredekebb tanulási görbét eredményezett mindenkinek, aki Kubernetes -en kezdődik. Tehát ebben a cikkben nézzük meg néhány kulcsfontosságú koncepciót és gyakorlatot, amelyeket a Kubernetes újonnan eljusson.

A hüvelyek nem azonosak a konténerekkel

Az első dolog, amit bárkinek tudnia kell, az a különbség a hüvely és a tartály között. A hüvelyek a K8S legkisebb telepíthető egységei. A hüvelyek nem analógok a tartályokkal, mivel egyetlen vagy több tartályból állhatnak, és egyetlen entitásként kezelhetők. A hüvely szorosan kapcsolt konténerek csoportjának tekinthető, amelyek megosztják az erőforrásokat. A hüvelyű konténerek egyszerűen csak olyan tartályoknak tekinthetők, amelyek egyetlen logikai gazdagépen belül futnak.

A címkék fontosságának figyelmen kívül hagyása

Lehet, hogy a címkék nem egyedi azonosítók, ám mechanizmust biztosítanak a felhasználók számára, hogy értelmes és azonosítható metaadatokat adhassanak a Kubernetes objektumokhoz. Ezek a kulcs-érték párok megvalósíthatók és módosíthatók a K8S objektum életciklusának bármely pontján. Az azonosítható információk megadása mellett a címkék döntő jelentőségűek a Kubernetes objektumok kiválasztásakor. A Kubernetes API címke szektorokat használ a szükséges K8S objektumok azonosítására és kiválasztására akár egyenlőség-alapú, akár SET-alapú választókon keresztül.

A címkéket az egész táblán használják a K8S objektumok kiválasztására, függetlenül attól, hogy létrehoz egy telepítést, repliksat, meghatároz egy hálózati szolgáltatást, vagy egyszerűen csak lekérdezi a hüvelyeket a Kubectl segítségével.

Mindig vegye figyelembe a hüvely végződési viselkedését

Alapvető fontosságú az alkalmazás megszüntetési viselkedésének mérlegelése a végfelhasználóra gyakorolt ​​hatás csökkentése és a gyors helyreállítás megkönnyítése érdekében. A Kubernetes Linux jeleket használ a megszüntetés jelzésére. A szokásos eljárás az, hogy egy SIGTERM jelet küldjön a tartályoknak egy hüvelyben, amely azt jelzi, hogy megszüntetik és várják meg a megadott megszüntetési türelmi idő (alapértelmezés szerint 30 másodperc) leállítását. Végül a Kubernetes elküldi a Sigkill jelet a hüvely eltávolításához és a Kubernetes objektumok tisztításához.

Ezért a konténereket be kell programozni, hogy megkapják ezeket a jeleket, és a megfelelő kecses felmondási folyamatokat be kell hajtani az alkalmazásában. A követelményektől függően a Prestop Hook vagy a „TerminationGraceperiod” zászlók felhasználhatók a lezárási viselkedés egyszerű megváltoztatására az alkalmazáskód módosítása nélkül. Ez a módszer nagyon hasznos, ha hibaelhárítási hibákat okoz a POD megszüntetésével kapcsolatban. Ezenkívül lehetővé teszi a felhasználók számára, hogy könnyen megértsék a mögöttes kérdéseket, ha követik a Sigkill útmutatóját, amelyet a 9. jelként ábrázolnak.

Az erőforrás -kérelmek vagy korlátok meghatározása

Mint minden alkalmazás esetében, az erőforrás -kezelésnek a Kubernetes klaszterkezelés alapvető részét kell képeznie. Ha nem adja meg a konténerek vagy a helytelen specifikációk kérését és korlátait, katasztrofális következményekhez vezethet, mint például a klaszter erőforrás-éhezése, a kezelt K8S klaszterek drasztikus költségnövekedése korlátlan erőforrásokat fogyasztó konténerek, vagy memórián kívüli és CPU-fojtószelepek miatt.

Ezért elengedhetetlen a konténerek kéréseinek és korlátozásainak megfelelő konfigurálása a teljesítményhangoláshoz és a K8S környezet hatékonyságának növelése érdekében. A kért összeg meghatározza az erőforrás összegét, amelyet a konténerek kérhetnek, míg a korlát meghatározza az erőforrások maximális korlátját, amelyet a tartály fogyaszthat. E korlátok beállítását az alkalmazás követelményeitől és a konkrét felhasználási esettől függően kell elvégezni. Sőt, mindig jó ötlet, hogy elegendő hely legyen a misszió-kritikus konténerekhez a váratlan munkaterhelések kezeléséhez.

A Kubernetes megfigyelés felhasználása

A monitorozás az alkalmazás megfelelő karbantartásának fontos szempontja az egész életciklus során. A Kubernetes Monitoring biztosítja a gerincét a K8S klaszterek proaktív kezeléséhez. A Kubernetes a metrikus szerverét felhasználja a klaszter minden egyes csomópontjáról történő összesítésére és összegyűjtésére. Néhány kulcsfontosságú mutató, amely a metrikus szerveren keresztül érhető el, a csomópont állapota, a hüvely elérhetősége, a CPU és a memória felhasználása, az API kérés késleltetése, a rendelkezésre álló tárolás stb.

Ezek a mutatók kulcsfontosságúak a teljes klaszter teljesítményének meghatározásához, valamint a hibák vagy téves konfigurációk azonosításához, amelyek rendelkezésre állást vagy teljesítményproblémákat okozhatnak a K8S objektumok és az infrastruktúra számára. A Metrics Server elengedhetetlen a DA biztosításáhoznull