{"id":33773,"date":"2019-10-31T21:54:36","date_gmt":"2019-10-31T18:54:36","guid":{"rendered":"https:\/\/prohoster.info\/blog\/rezervirovanie-v-kubernetes-ono-sushhestvuet\/"},"modified":"2019-10-31T21:54:36","modified_gmt":"2019-10-31T18:54:36","slug":"rezervirovanie-v-kubernetes-ono-sushhestvuet","status":"publish","type":"post","link":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/rezervirovanie-v-kubernetes-ono-sushhestvuet","title":{"rendered":"Biztons\u00e1gi ment\u00e9s a Kubernetesben: l\u00e9tezik","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>A nevem Szergej, az ITSumma c\u00e9gt\u0151l j\u00f6v\u00f6k, \u00e9s szeretn\u00e9m elmondani, hogyan k\u00f6zel\u00edt\u00fcnk a Kubernetes-ben t\u00f6rt\u00e9n\u0151 biztos\u00edt\u00e1shoz. Az ut\u00f3bbi id\u0151ben sokat foglalkozom tan\u00e1csad\u00e1ssal k\u00fcl\u00f6nb\u00f6z\u0151 devops megold\u00e1sok bevezet\u00e9s\u00e9ben k\u00fcl\u00f6nb\u00f6z\u0151 csapatok sz\u00e1m\u00e1ra, k\u00fcl\u00f6n\u00f6s figyelmet ford\u00edtva a K8s alapon m\u0171k\u00f6d\u0151 projektekre. Az Uptime Day 4 konferenci\u00e1n, amely a bonyolult architekt\u00far\u00e1k biztos\u00edt\u00e1s\u00e1nak volt szentelve, el\u0151ad\u00e1st tartottam a \u201ekocka\u201d biztos\u00edt\u00e1s\u00e1r\u00f3l, \u00e9s itt van a szabad \u00e1tirata. El\u0151re szeretn\u00e9m jelezni, hogy ez nem egy k\u00f6zvetlen cselekv\u00e9si \u00fatmutat\u00f3, hanem ink\u00e1bb a t\u00e9m\u00e1val kapcsolatos gondolatok \u00f6sszegz\u00e9se.<\/p>\n<p><img decoding=\"async\" alt=\"Biztons\u00e1gi ment\u00e9s a Kubernetesben: l\u00e9tezik\" src=\"\/wp-content\/uploads\/2019\/05\/4797b240a8e9fd4bbbce4370b9b44108.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAlapvet\u0151en a monitoroz\u00e1s \u00e9s a biztos\u00edt\u00e1s a k\u00e9t f\u0151 eszk\u00f6z, amely biztos\u00edtja b\u00e1rmely projekt megb\u00edzhat\u00f3s\u00e1g\u00e1t. De hiszen a kuber mindent automatikusan egyens\u00falyoz, mondhatod, minden automatikusan sk\u00e1l\u00e1z\u00f3dik, \u00e9s ha valami t\u00f6rt\u00e9nik - akkor az \u00f6nmaga felsz\u00ednre ker\u00fcl\u2026 Vagyis az els\u0151 fel\u00fcletes kutat\u00e1s alapj\u00e1n a k\u00e9rd\u00e9sre, hogy hogyan k\u00f6zel\u00edtenek m\u00e1sok a K8s biztos\u00edt\u00e1s\u00e1hoz, az internet azt v\u00e1laszolt, hogy \u201emi\u00e9rt?\u201d Sokan \u00fagy gondolj\u00e1k, hogy a kuber egy m\u00e1gikus dolog, amely megszabad\u00edt minden infrastruktur\u00e1lis probl\u00e9m\u00e1t\u00f3l, \u00e9s biztos\u00edtja, hogy a projekt soha ne omoljon \u00f6ssze. De\u2026 a vil\u00e1g nem az, aminek l\u00e1tszik.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nHogyan k\u00f6zel\u00edtett\u00fcnk kor\u00e1bban a biztos\u00edt\u00e1si folyamathoz? Azonos elhelyez\u00e9si helysz\u00edneink voltak - vagy virtu\u00e1lis g\u00e9pek, vagy fizikai szerverek, <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/hu\/server\/\"   title=\"szerverek\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1830\">szerverek<\/a>, amelyeken h\u00e1rom alapvet\u0151 gyakorlatot alkalmaztunk: <\/p>\n<ol>\n<li>a k\u00f3d \u00e9s a statika szinkroniz\u00e1l\u00e1sa<\/li>\n<li>a konfigur\u00e1ci\u00f3k szinkroniz\u00e1l\u00e1sa<\/li>\n<li>az adatb\u00e1zis replik\u00e1ci\u00f3ja<\/li>\n<\/ol>\n<p>\n\u00c9s \u00edme: b\u00e1rmikor \u00e1tkapcsolhatunk a tartal\u00e9k helysz\u00ednre, mindenki boldog, fel\u00e1llunk \u00e9s sz\u00e9tsz\u00e9led\u00fcnk. <\/p>\n<p><img decoding=\"async\" alt=\"Biztons\u00e1gi ment\u00e9s a Kubernetesben: l\u00e9tezik\" src=\"\/wp-content\/uploads\/2019\/05\/4c2164d4469efb7ebbfe9c02970d7ae9.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nMit aj\u00e1nlanak a Kubernetes-alkalmaz\u00e1sunk \u00e1lland\u00f3 rendelkez\u00e9sre \u00e1ll\u00e1s\u00e1nak n\u00f6vel\u00e9s\u00e9re? Els\u0151k\u00e9nt, amit az unofficial dokument\u00e1ci\u00f3 mond \u2014 sok g\u00e9pet kell telep\u00edteni, sok master-t kell l\u00e9trehozni \u2014 a sz\u00e1muknak meg kell felelnie a quorum el\u00e9r\u00e9s\u00e9hez sz\u00fcks\u00e9ges felt\u00e9teleknek a klaszter belsej\u00e9ben, \u00e9s minden master-en el kell ind\u00edtani az etcd-t, api-t, MC-t, \u00fctemez\u0151t... \u00c9s ezt \u00fagy t\u0171nik, hogy t\u00f6k\u00e9letesen m\u0171k\u00f6dik: amikor t\u00f6bb munkan\u00f3d vagy master megs\u00e9r\u00fcl, a klaszter \u00fajra kiegyens\u00falyoz\u00f3dik, \u00e9s az alkalmaz\u00e1s tov\u00e1bbra is m\u0171k\u00f6dik. \u00dagy t\u0171nik, mint a var\u00e1zslat! De gyakran a klaszter\u00fcnk egy adatk\u00f6zpont keretein bel\u00fcl tal\u00e1lhat\u00f3, ami bizonyos k\u00e9rd\u00e9seket vet fel. Mi t\u00f6rt\u00e9nik, ha egy rakod\u00f3g\u00e9p meg\u00e9rkezik \u00e9s meg\u00e1s egy k\u00e1belt, ha vill\u00e1mcsap\u00e1s t\u00f6rt\u00e9nik, vagy ha vil\u00e1gm\u00e9ret\u0171 \u00e1rv\u00edz t\u00f6rt\u00e9nik? Minden elment, a klaszter\u00fcnk t\u00f6bb\u00e9 nem l\u00e9tezik. Hogyan k\u00f6zel\u00edts\u00fcnk a biztons\u00e1gi ment\u00e9shez, figyelembe v\u00e9ve ezt a probl\u00e9m\u00e1t? <\/p>\n<p>Els\u0151sorban sz\u00fcks\u00e9ge van egy m\u00e1sik klaszterre meleg tartal\u00e9kban, ami azt jelenti, hogy egy klaszterre, amelyre b\u00e1rmikor \u00e1tv\u00e1lthat. Ezenk\u00edv\u00fcl a kubernetes szempontj\u00e1b\u00f3l az infrastrukt\u00far\u00e1knak teljesen azonosnak kell lennie. Teh\u00e1t, ha vannak olyan szokatlan pluginek a f\u00e1jlrendszer kezel\u00e9s\u00e9re, vagy egyedi megold\u00e1sok az ingress sz\u00e1m\u00e1ra, azoknak teljesen azonosnak kell lenni\u00fck a k\u00e9t (vagy h\u00e1rom, vagy t\u00edz, att\u00f3l f\u00fcgg, mennyi p\u00e9nz \u00e9s adminisztr\u00e1torok ereje van) klaszterben. K\u00e9t csoport alkalmaz\u00e1st (deployments, statefulsets, daemonsets, cronjobs stb.) kell vil\u00e1gosan meghat\u00e1rozni: melyek m\u0171k\u00f6dhetnek \u00e1lland\u00f3an a tartal\u00e9kban, \u00e9s melyeket nem \u00e9rdemes elind\u00edtani, am\u00edg a v\u00e1lt\u00e1s nem t\u00f6rt\u00e9nik meg. <\/p>\n<p>Teh\u00e1t a tartal\u00e9k klaszter\u00fcnknek teljesen azonosnak kell lennie a produkt\u00edv klaszter\u00fcnkkel? Nem. Kor\u00e1bban, monolitikus projektek \u00e9s hardverinfrastrukt\u00fara keretein bel\u00fcl, gyakorlatilag teljesen azonos k\u00f6rnyezetet tartottunk fenn, de a Kubernetes eset\u00e9ben ezt nem tartom sz\u00fcks\u00e9gesnek. N\u00e9zz\u00fck meg, mi\u00e9rt.<\/p>\n<p>P\u00e9ld\u00e1ul kezdj\u00fck a Kubernetes alapvet\u0151 entit\u00e1saival \u2013 a deployments-szel \u2013 ezeknek azonosaknak kell lenni\u00fck. Fut\u00f3 alkalmaz\u00e1sokat kell \u00fczemeltetni, amelyeket b\u00e1rmikor be lehet kapcsolni a forgalom kezel\u00e9s\u00e9re, lehet\u0151v\u00e9 t\u00e9ve, hogy a projekt\u00fcnk tov\u00e1bb \u00e9ljen. Ha a konfigur\u00e1ci\u00f3s f\u00e1jlokr\u00f3l besz\u00e9l\u00fcnk, akkor meg kell n\u00e9zni, hogy azonosaknak kell-e lenni\u00fck vagy sem. Teh\u00e1t, ha mi, okos emberek, nem haszn\u00e1lunk semmif\u00e9le tiltot anyagot, \u00e9s nem tartjuk az adatb\u00e1zist K8s-ben, akkor a configmap-ekben az \u00e9les adatb\u00e1zishoz val\u00f3 hozz\u00e1f\u00e9r\u00e9si be\u00e1ll\u00edt\u00e1soknak kell lenni\u00fck (amelynek biztons\u00e1gi m\u00e1solat\u00e1nak folyamata k\u00fcl\u00f6n van fel\u00e9p\u00edtve). \u00cdgy a biztons\u00e1gi m\u00e1solat el\u00e9r\u00e9s\u00e9hez k\u00fcl\u00f6n konfigur\u00e1ci\u00f3s f\u00e1jlra (configmap) van sz\u00fcks\u00e9g\u00fcnk. Ugyan\u00edgy j\u00e1runk el a secret-ekkel is: a jelszavak az adatb\u00e1zis el\u00e9r\u00e9s\u00e9hez, api-kulcsok; b\u00e1rmikor lehet akt\u00edv \u00e9les secret vagy biztons\u00e1gi m\u00e1solat. \u00d6sszesen m\u00e1r k\u00e9t Kubernetes entit\u00e1sunk van, amelyek biztons\u00e1gi m\u00e1solatai nem lehetnek azonosak az \u00e9les verzi\u00f3kkal. A k\u00f6vetkez\u0151 entit\u00e1s, amelyen \u00e9rdemes meg\u00e1llni, a cronjob. A biztons\u00e1gi m\u00e1solat cronjob-jainak semmik\u00e9ppen sem szabad azonosnak lennie a produkci\u00f3s klaszter cronjob-ainak! Ha elind\u00edtunk egy tartal\u00e9k klasztert, \u00e9s teljesen fel\u00e1ll\u00edtjuk az \u00f6sszes akt\u00edv cronjob-bal \u2013 p\u00e9ld\u00e1ul az emberek k\u00e9t e-mailt fognak kapni egyszerre egy helyett. Vagy valamilyen adat-szinkroniz\u00e1l\u00e1s k\u00fcls\u0151 forr\u00e1sokkal k\u00e9tszer fog lezajlani, \u00e9s ennek k\u00f6vetkezt\u00e9ben elkezd\u00fcnk szenvedni, s\u00edrni, kiab\u00e1lni \u00e9s veszekedni. <\/p>\n<p><img decoding=\"async\" alt=\"Biztons\u00e1gi ment\u00e9s a Kubernetesben: l\u00e9tezik\" src=\"\/wp-content\/uploads\/2019\/05\/38be6370f08d75e5c48bce7b4304e861.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nDe hogyan javasolj\u00e1k az emberek az interneten a tartal\u00e9k klaszter megszervez\u00e9s\u00e9t? A m\u00e1sodik legn\u00e9pszer\u0171bb v\u00e1lasz a \"mi\u00e9rt?\" ut\u00e1n \u2014 a Kubernetes Federation haszn\u00e1lata. <\/p>\n<p>Mi ez? Mondhatjuk, hogy ez egy nagy meta-klaszter. Ha elk\u00e9pzelj\u00fck a Kubernetes architekt\u00far\u00e1j\u00e1t \u2014 ahol van egy mester \u00e9s t\u00f6bb node \u2014 akkor a feder\u00e1ci\u00f3 szempontj\u00e1b\u00f3l is van egy mester\u00fcnk \u00e9s t\u00f6bb node, csak minden node egy k\u00fcl\u00f6n klaszter. Teh\u00e1t ugyanazokkal az entit\u00e1sokkal, ugyanazokkal az primit\u00edvekkel dolgozunk, mint egy egyedi Kubernetes eset\u00e9n, csak nem a fizikai g\u00e9peinket mozgathatjuk, hanem eg\u00e9sz klasztereket. A feder\u00e1ci\u00f3n bel\u00fcl teljes szinkroniz\u00e1ci\u00f3 zajlik a feder\u00e1ci\u00f3s er\u0151forr\u00e1sok k\u00f6z\u00f6tt a sz\u00fcl\u0151kt\u0151l a gyermekekig. P\u00e9ld\u00e1ul, ha elind\u00edtunk egy elt\u00e1vol\u00edt\u00e1st a feder\u00e1ci\u00f3n kereszt\u00fcl \u2014 az minden gyermek klasztereinkben telep\u00edtve lesz. Ha vesz\u00fcnk egy configmap-et vagy titkot, \u00e9s azt telep\u00edtj\u00fck a feder\u00e1ci\u00f3n \u2014 az eljut minden gyermek klaszter\u00fcnkh\u00f6z; emellett a feder\u00e1ci\u00f3 lehet\u0151v\u00e9 teszi, hogy testre szabjuk er\u0151forr\u00e1sainkat a gyermekekn\u00e9l. Teh\u00e1t fogtunk egy configmap-et, amelyet a feder\u00e1ci\u00f3n kereszt\u00fcl telep\u00edtett\u00fcnk, \u00e9s ha sz\u00fcks\u00e9g\u00fcnk van valamire, amit meg kell v\u00e1ltoztatnunk a konkr\u00e9t klasztereken, akkor elmegy\u00fcnk m\u00f3dos\u00edtani egy k\u00fcl\u00f6n klaszteren, \u00e9s ez a v\u00e1ltoz\u00e1s m\u00e1r nem lesz szinkroniz\u00e1lva. <\/p>\n<p>A Kubernetes Federation \u2014 \u0430 recently introduced tool, and it does not support the full range of resources that K8s itself provides: at the time of the first documentation release, it was stated that only config maps, deployments under replica sets, and ingress were supported. Secrets were not supported, and working with volumes was also not supported. It\u2019s a very limited set. Especially if we enjoy experimenting \u2014 for example, passing our custom resources to Kubernetes through a custom resource definition \u2014 we won\u2019t be able to push them into the federation. So, it\u2019s somewhat... a solution that resembles the truth, but occasionally makes us shoot ourselves in the foot. On the other hand, the federation allows for flexible management of our replicas. For instance, if we want 10 replicas of our application to be running, by default, the federation will distribute this number proportionally among the clusters. And all of this can be configured! This means we can indicate that there should be 6 replicas of our application in the production cluster, and for the backup cluster, either for resource savings or for our own entertainment \u2014 only 4 replicas of our application. That\u2019s also quite convenient. But with the federation, we have to utilize new solutions, deploy things on the fly, and force ourselves to think a little more... <\/p>\n<p>Lehet-e egyszer\u0171bben hozz\u00e1\u00e1llni a Kubernetes biztons\u00e1gi ment\u00e9s\u00e9hez? Milyen eszk\u00f6zeink vannak egy\u00e1ltal\u00e1n?<\/p>\n<p>El\u0151sz\u00f6r is, mindig van egy CI\/CD rendszer\u00fcnk, teh\u00e1t nem megy\u00fcnk manu\u00e1lisan, nem \u00edrunk a szervereken create\/apply parancsokat. A rendszer YAML f\u00e1jlokat gener\u00e1l a kont\u00e9nereinkhez. <\/p>\n<p>M\u00e1sodszor, t\u00f6bb klaszter\u00fcnk is lehet, van egy vagy t\u00f6bb (ha okosak vagyunk) registry, amit szint\u00e9n lefoglaltunk. \u00c9s van egy csod\u00e1s eszk\u00f6z, a kubectl, ami egyszerre t\u00f6bb klaszterrel is k\u00e9pes dolgozni. <\/p>\n<p><img decoding=\"async\" alt=\"Biztons\u00e1gi ment\u00e9s a Kubernetesben: l\u00e9tezik\" src=\"\/wp-content\/uploads\/2019\/05\/e4276c4d5bf4dfd9e3abe7210e345343.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nTeh\u00e1t: v\u00e9lem\u00e9nyem szerint a legegyszer\u0171bb \u00e9s legmegb\u00edzhat\u00f3bb megold\u00e1s a tartal\u00e9k klaszter fel\u00e9p\u00edt\u00e9s\u00e9re az primit\u00edv p\u00e1rhuzamos telep\u00edt\u00e9s. Van valamilyen pipeline a CI\/CD rendszerben; el\u0151sz\u00f6r fel\u00e9p\u00edtj\u00fck a kont\u00e9nereinket, tesztelj\u00fck \u00e9s telep\u00edtj\u00fck az alkalmaz\u00e1sokat kubectl-en kereszt\u00fcl t\u00f6bb f\u00fcggetlen klaszterre. Meg tudjuk val\u00f3s\u00edtani az egyidej\u0171 telep\u00edt\u00e9seket t\u00f6bb klaszterre. Ennek megfelel\u0151en a konfigur\u00e1ci\u00f3k \u00e1tad\u00e1s\u00e1t is ezen a szakaszon oldjuk meg. El\u0151re meghat\u00e1rozhatjuk a harci klaszter\u00fcnkh\u00f6z sz\u00fcks\u00e9ges konfigur\u00e1ci\u00f3kat, a tartal\u00e9k klaszterhez sz\u00fcks\u00e9ges konfigur\u00e1ci\u00f3kat, \u00e9s a CI\/CD rendszer szintj\u00e9n az \u00e9les k\u00f6rnyezetet a produkci\u00f3s klaszterre, a tartal\u00e9k k\u00f6rnyezetet pedig a tartal\u00e9k klaszterre telep\u00edthetj\u00fck. A f\u00f6der\u00e1ci\u00f3val ellent\u00e9tben nem sz\u00fcks\u00e9ges, hogy minden egyes le\u00e1ny klaszteren \u00e1tmenj\u00fcnk, \u00e9s valamit fel\u00fclb\u00edr\u00e1ljunk a f\u00f6der\u00e1lt er\u0151forr\u00e1s meghat\u00e1roz\u00e1sa ut\u00e1n. Ezt el\u0151re elv\u00e9gezt\u00fck. Micsoda \u00fcgyesek vagyunk.<\/p>\n<p>But... there are... I had written, there's the \"root of all evils,\" but there are actually two. First, the file system. There\u2019s some PV, or we\u2019re using external storage. If we store files within the cluster, then we need to act according to the old practices leftover from the days of physical infrastructures: for example, synchronize with lsync. Or whatever other preferred tool you personally favor. We deploy everything on other machines and continue living.<\/p>\n<p>M\u00e1sodszor, \u00e9s val\u00f3j\u00e1ban ez egy m\u00e9g fontosabb akad\u00e1ly \u2014 az adatb\u00e1zis. Ha okos emberek vagyunk, \u00e9s nem tartjuk az adatb\u00e1zist kubernetesben, akkor az adatok tartal\u00e9kba helyez\u00e9se a r\u00e9gi rendszer szerint t\u00f6rt\u00e9nik - master-slave replik\u00e1ci\u00f3, majd \u00e1tkapcsol\u00e1s, k\u00f6vetj\u00fck a replik\u00e1t, \u00e9s j\u00f3l \u00e9l\u00fcnk. De ha az adatb\u00e1zisunkat a klaszteren bel\u00fcl tartjuk, akkor alapvet\u0151en sok k\u00e9sz megold\u00e1s l\u00e9tezik a master-slave replik\u00e1k megszervez\u00e9s\u00e9re, sok megold\u00e1s a DB kubernetes-en bel\u00fcli l\u00e9trehoz\u00e1s\u00e1ra. <br \/>\n Az adatb\u00e1zisok tartal\u00e9kba helyez\u00e9s\u00e9r\u0151l m\u00e1r milli\u00e1rdnyi el\u0151ad\u00e1s \u00e9s milli\u00e1rd cikk \u00edr\u00f3dott, itt igaz\u00e1n semmi \u00faj nincs. Igaz\u00e1b\u00f3l k\u00f6vess\u00e9tek az \u00e1lmaitokat, \u00e9ljetek \u00fagy, ahogy akartok, tal\u00e1ljatok ki bonyolult megold\u00e1sokat is, de mindenk\u00e9pp gondolj\u00e1tok \u00e1t, hogyan fogj\u00e1tok ezeket tartal\u00e9kba helyezni.<\/p>\n<p>Most importantly, let's discuss how we will transition to a backup site in the event of a fire. Firstly, we deploy stateless applications in parallel. They do not affect the business logic of our applications or our project; we can continually maintain two sets of running applications that can begin to receive traffic. It is crucial during the transition to a backup site to check whether any configurations need to be redefined. For example, we have a production Kubernetes cluster, a backup Kubernetes cluster, an external master database, and a backup master database. There are four scenarios in which these applications in production may start to interact with each other. The database can switch, and it turns out that we need to redirect traffic in the production cluster to the new database, or the cluster may fail \u2014 and we move to the backup but continue working with the production database. Then there's the third scenario where both have failed, and we switch both applications, redefining our configurations so that the new applications work with the new database. <\/p>\n<p>So, what conclusions can we draw from all this? <\/p>\n<p><img decoding=\"async\" alt=\"Biztons\u00e1gi ment\u00e9s a Kubernetesben: l\u00e9tezik\" src=\"\/wp-content\/uploads\/2019\/05\/e055f1b4aaa99c5e70d735f4c9fe61e2.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nConclusion one: Having a backup is good. But it's expensive. Ideally, you should not rely on just one backup. Ideally, you should have multiple backups. Firstly, the backup should be located in at least one different data center, and secondly, preferably with a different host. This has often happened in my experience. Unfortunately, I cannot name the projects, just when there was a fire in the data center... I thought, let's switch to the backup! And the backup servers were in the same rack...<\/p>\n<p>Or imagine if Amazon was banned in Russia (which has happened). Then what good is it that our backup is in another Amazon? It is also unavailable. So I repeat: we must keep a backup at least in another data center, and preferably with a different host. <\/p>\n<p>The second conclusion: if your application in Kubernetes communicates with some external sources (which can be a database or some external API), make sure to define it as a service with an external endpoint, so that during switching, you don\u2019t have to redeploy 15 of your applications that are hitting the same database. Define the database as a separate service, connect to it as if it were inside your cluster: if your database crashes, you change the IP in one place and continue living happily. <\/p>\n<p>\u00c9s v\u00e9g\u00fcl: \u00e9n im\u00e1dom a \"kock\u00e1t\", ahogy azzal val\u00f3 k\u00eds\u00e9rletez\u00e9st is. \u00c9s szeretem megosztani e k\u00eds\u00e9rletek eredm\u00e9nyeit, valamint a saj\u00e1t tapasztalataimat. Ez\u00e9rt felvettem egy sor webin\u00e1riumot a K8s-r\u0151l, \u00fcdv\u00f6z\u00f6llek a <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=Qmac8MNlhmg&amp;list=PLVSuF-7tjVUgPSW-YAhrGjnShRsW9gA7_\">YouTube-csatorn\u00e1nkon<\/a><\/noindex> tov\u00e1bbi r\u00e9szletek\u00e9rt.<br \/>\n<br \/>Forr\u00e1s: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/itsumma\/blog\/452078\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0421\u0435\u0440\u0433\u0435\u0439, \u044f \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 ITSumma, \u0438 \u044f \u0445\u043e\u0447\u0443 \u0432\u0430\u043c \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u043a\u0430\u043a \u043c\u044b \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u043c \u043a \u0440\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u0432 Kubernetes. \u0412 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u044f \u043c\u043d\u043e\u0433\u043e \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c \u043a\u043e\u043d\u0441\u0443\u043b\u044c\u0442\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u043e\u0439 \u043f\u043e \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u044e \u0440\u0430\u0437\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u043d\u044b\u0445 devops-\u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u0434\u043b\u044f \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u043a\u043e\u043c\u0430\u043d\u0434, \u0438, \u0432 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438, \u043f\u043b\u043e\u0442\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u044e \u043f\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u043c \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c K8s. \u041d\u0430 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 Uptime day 4, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u044b\u043b\u0430 \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u0430 \u0440\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u0432 \u0441\u043b\u043e\u0436\u043d\u044b\u0445 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":25449,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-33773","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0421\u0435\u0440\u0433\u0435\u0439, \u044f \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 ITSumma, \u0438 \u044f \u0445\u043e\u0447\u0443 \u0432\u0430\u043c \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u043a\u0430\u043a \u043c\u044b \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u043c \u043a \u0440\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u0432 Kubernetes.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/rezervirovanie-v-kubernetes-ono-sushhestvuet\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"hu_HU\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0420\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 Kubernetes: \u043e\u043d\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0421\u0435\u0440\u0433\u0435\u0439, \u044f \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 ITSumma, \u0438 \u044f \u0445\u043e\u0447\u0443 \u0432\u0430\u043c \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u043a\u0430\u043a \u043c\u044b \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u043c \u043a \u0440\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u0432 Kubernetes.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/rezervirovanie-v-kubernetes-ono-sushhestvuet\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:54:36+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:54:36+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Reserv\u00e1l\u00e1s a Kubernetesben: l\u00e9tezik | ProHoster","description":"A nevem Szergej, az ITSumma c\u00e9gt\u0151l j\u00f6v\u00f6k, \u00e9s szeretn\u00e9m elmondani, hogyan k\u00f6zel\u00edtj\u00fck meg a Kubernetes rezerv\u00e1l\u00e1s\u00e1t.","canonical_url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/rezervirovanie-v-kubernetes-ono-sushhestvuet","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hu_HU","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0420\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 Kubernetes: \u043e\u043d\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 | ProHoster","og:description":"\u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0421\u0435\u0440\u0433\u0435\u0439, \u044f \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 ITSumma, \u0438 \u044f \u0445\u043e\u0447\u0443 \u0432\u0430\u043c \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u043a\u0430\u043a \u043c\u044b \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u043c \u043a \u0440\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u0432 Kubernetes.","og:url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/rezervirovanie-v-kubernetes-ono-sushhestvuet","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:54:36+00:00","article:modified_time":"2019-10-31T18:54:36+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"33773","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-02-09 17:03:20","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:33:25","updated":"2026-02-09 17:03:20","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/33773","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/comments?post=33773"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/33773\/revisions"}],"predecessor-version":[{"id":159074,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/33773\/revisions\/159074"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media\/25449"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media?parent=33773"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/categories?post=33773"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/tags?post=33773"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}