{"id":83787,"date":"2020-06-03T07:42:26","date_gmt":"2020-06-03T05:42:26","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/devoxx-uk-kubernetes-v-prodakshene-blue-green-deployment-avtomasshtabirovanie-i-avtomatizacziya-razvertyvaniya-chast-2"},"modified":"2020-06-03T07:42:26","modified_gmt":"2020-06-03T05:42:26","slug":"devoxx-uk-kubernetes-v-prodakshene-blue-green-deployment-avtomasshtabirovanie-i-avtomatizacziya-razvertyvaniya-chast-2","status":"publish","type":"post","link":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/devoxx-uk-kubernetes-v-prodakshene-blue-green-deployment-avtomasshtabirovanie-i-avtomatizacziya-razvertyvaniya-chast-2","title":{"rendered":"DEVOXX UK. Kubernetes a gyakorlatban: Blue\/Green telep\u00edt\u00e9s, automatikus sk\u00e1l\u00e1z\u00e1s \u00e9s telep\u00edt\u00e9s automatiz\u00e1l\u00e1sa. 2. r\u00e9sz","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>A Kubernetes egy nagyszer\u0171 eszk\u00f6z a Docker-kont\u00e9nerek futtat\u00e1s\u00e1hoz klaszteriz\u00e1lt, termel\u00e9si k\u00f6rnyezetben. Azonban vannak olyan feladatok, amelyeket a Kubernetes nem tud megoldani. Gyakori telep\u00edt\u00e9sek eset\u00e9n teljesen automatiz\u00e1lt Blue\/Green telep\u00edt\u00e9sre van sz\u00fcks\u00e9g, hogy elker\u00fclj\u00fck a le\u00e1ll\u00e1sokat ebben a folyamatban, amely sor\u00e1n a k\u00fcls\u0151 HTTP-k\u00e9r\u00e9sek feldolgoz\u00e1sa \u00e9s az SSL kivezet\u00e9se is sz\u00fcks\u00e9ges. Ez integr\u00e1ci\u00f3t ig\u00e9nyel egy terhel\u00e9seloszt\u00f3val, mint p\u00e9ld\u00e1ul a ha-proxy. Egy m\u00e1sik feladat a Kubernetes klaszter f\u00e9lautomatikus m\u00e9retez\u00e9se felh\u0151alap\u00fa k\u00f6rnyezetben, p\u00e9ld\u00e1ul a klaszter r\u00e9szleges cs\u00f6kkent\u00e9se \u00e9jszaka.<\/p>\n<p>B\u00e1r a Kubernetes nem rendelkezik ezekkel a funkci\u00f3kkal k\u00f6zvetlen\u00fcl \"do-it-yourself\" verzi\u00f3ban, API-t biztos\u00edt, amelyeket felhaszn\u00e1lhatunk az ilyen feladatok megold\u00e1s\u00e1hoz. A Kubernetes klaszter automatiz\u00e1lt Blue\/Green telep\u00edt\u00e9s\u00e9re \u00e9s m\u00e9retez\u00e9s\u00e9re szolg\u00e1l\u00f3 eszk\u00f6z\u00f6ket a Cloud RTI projekt keretein bel\u00fcl fejlesztett\u00e9k ki, amely open-source alapokra \u00e9p\u00fclt.<\/p>\n<p>Ebben a cikkben, a vide\u00f3 dek\u00f3dol\u00e1s\u00e1ban, arr\u00f3l van sz\u00f3, hogyan \u00e1ll\u00edtsuk be a Kubernetes-t m\u00e1s ny\u00edlt forr\u00e1sk\u00f3d\u00fa komponensekkel egy\u00fctt, hogy egy k\u00e9sz termel\u00e9si k\u00f6rnyezetet kapjunk, amely kimarad\u00e1sok n\u00e9lk\u00fcl veszi \u00e1t a k\u00f3dot a git commit-b\u00f3l.<\/p>\n<p><img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes a gyakorlatban: Blue\/Green telep\u00edt\u00e9s, automatikus sk\u00e1l\u00e1z\u00e1s \u00e9s telep\u00edt\u00e9s automatiz\u00e1l\u00e1sa. 2. r\u00e9sz\" src=\"\/wp-content\/uploads\/2020\/06\/43a4ba56526a91b6f3d1fb16c159cc1b.jpg\" style=\"display:block;margin: 0 auto;\" \/><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/504666\/\">DEVOXX UK. Kubernetes a termel\u00e9sben: Blue\/Green telep\u00edt\u00e9s, automatikus m\u00e9retez\u00e9s \u00e9s telep\u00edt\u00e9sautomatiz\u00e1l\u00e1s. 1. r\u00e9sz<\/a><\/noindex><\/p>\n<p>Miut\u00e1n hozz\u00e1f\u00e9r\u00e9st kapott alkalmaz\u00e1saihoz a k\u00fcls\u0151 vil\u00e1g fel\u0151l, megkezdheti a teljes automatiz\u00e1l\u00e1s be\u00e1ll\u00edt\u00e1s\u00e1t, azaz eljutni arra a szintre, ahol a git commit v\u00e9grehajthat\u00f3, \u00e9s biztos lehet benne, hogy ez a git commit \u00e1tker\u00fcl a termel\u00e9si k\u00f6rnyezetbe. Term\u00e9szetesen, amikor ezeket a l\u00e9p\u00e9seket megval\u00f3s\u00edtjuk, a telep\u00edt\u00e9s sor\u00e1n szeretn\u00e9nk elker\u00fclni a le\u00e1ll\u00e1sokat. Teh\u00e1t minden automatiz\u00e1l\u00e1s a Kubernetes-ben az API-val kezd\u0151dik. <\/p>\n<p><img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes a gyakorlatban: Blue\/Green telep\u00edt\u00e9s, automatikus sk\u00e1l\u00e1z\u00e1s \u00e9s telep\u00edt\u00e9s automatiz\u00e1l\u00e1sa. 2. r\u00e9sz\" src=\"\/wp-content\/uploads\/2020\/06\/aa470c1562e49d98a164e0485196426e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nA Kubernetes nem az az eszk\u00f6z, amelyet produkt\u00edvan haszn\u00e1lhatunk \"do-it-yourself\" m\u00f3don. Term\u00e9szetesen haszn\u00e1lhatja a kubectl-t \u00e9s hasonl\u00f3kat, de az API az, ami a leg\u00e9rdekesebb \u00e9s leg\u00e9rt\u00e9kesebb ebben a platformban. Az API-t funkci\u00f3k k\u00e9szletek\u00e9nt haszn\u00e1lva gyakorlatilag hozz\u00e1f\u00e9rhet mindenhez, amit szeretne megtenni a Kubernetes-ben. Mag\u00e1ban a kubectl is haszn\u00e1lja a REST API-t. <\/p>\n<p>Ez egy REST API, \u00edgy b\u00e1rmilyen nyelvet \u00e9s eszk\u00f6zt haszn\u00e1lhat a m\u0171k\u00f6dtet\u00e9s\u00e9hez, de a felhaszn\u00e1l\u00f3i k\u00f6nyvt\u00e1rak jelent\u0151sen megk\u00f6nny\u00edtik az \u00e9let\u00e9t. Csapatom \u00edrt k\u00e9t ilyen k\u00f6nyvt\u00e1rat: egyet Java \/ OSGi-hoz \u00e9s egyet Go-hoz. A m\u00e1sodikat nem haszn\u00e1lj\u00e1k gyakran, de mindenesetre ezek az hasznos eszk\u00f6z\u00f6k a rendelkez\u00e9s\u00e9re \u00e1llnak. Ezek r\u00e9szben licencelt open-source projektek. Sz\u00e1mos ilyen k\u00f6nyvt\u00e1r l\u00e9tezik k\u00fcl\u00f6nb\u00f6z\u0151 nyelvekhez, \u00edgy v\u00e1laszthatja a legmegfelel\u0151bbet. <\/p>\n<p><img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes a gyakorlatban: Blue\/Green telep\u00edt\u00e9s, automatikus sk\u00e1l\u00e1z\u00e1s \u00e9s telep\u00edt\u00e9s automatiz\u00e1l\u00e1sa. 2. r\u00e9sz\" src=\"\/wp-content\/uploads\/2020\/06\/808865e4cda6023c6775ec9e581fc46e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTeh\u00e1t, miel\u0151tt nekil\u00e1tna a telep\u00edt\u00e9s automatiz\u00e1l\u00e1s\u00e1nak, gy\u0151z\u0151dj\u00f6n meg arr\u00f3l, hogy ez a folyamat nem szenved el k\u00e9s\u00e9seket. P\u00e9ld\u00e1ul csapatunk a legforgalmasabb id\u0151szakban, d\u00e9lben hajt v\u00e9gre termel\u00e9si telep\u00edt\u00e9st, amikor az emberek maxim\u00e1lisan haszn\u00e1lj\u00e1k az alkalmaz\u00e1sokat, ez\u00e9rt nagyon fontos, hogy elker\u00fclje a k\u00e9s\u00e9seket ebben a folyamatban. Az \u00e1ll\u00e1sid\u0151 elker\u00fcl\u00e9se \u00e9rdek\u00e9ben k\u00e9t m\u00f3dszert haszn\u00e1lnak: blue\/green telep\u00edt\u00e9s vagy folyamatos friss\u00edt\u00e9s (rolling update). Az ut\u00f3bbi eset\u00e9n, ha \u00f6t p\u00e9ld\u00e1ny fut az alkalmaz\u00e1sb\u00f3l, azokat egym\u00e1s ut\u00e1n friss\u00edtik. Ez a m\u00f3dszer remek\u00fcl m\u0171k\u00f6dik, de nem megfelel\u0151, ha a telep\u00edt\u00e9s folyam\u00e1n egyszerre k\u00fcl\u00f6nb\u00f6z\u0151 verzi\u00f3j\u00fa alkalmaz\u00e1sokat futtat. Ilyen esetben friss\u00edtheti a felhaszn\u00e1l\u00f3i fel\u00fcletet, m\u00edg a h\u00e1tt\u00e9r m\u0171k\u00f6dik a r\u00e9gi verzi\u00f3val, \u00e9s az alkalmaz\u00e1s m\u0171k\u00f6d\u00e9se le\u00e1ll. Ez\u00e9rt programoz\u00e1si szempontb\u00f3l el\u00e9gg\u00e9 neh\u00e9z ilyen k\u00f6r\u00fclm\u00e9nyek k\u00f6z\u00f6tt dolgozni. <\/p>\n<p>Ez egyik oka annak, hogy mi a blue\/green deployment-ot r\u00e9szes\u00edtj\u00fck el\u0151nyben az alkalmaz\u00e1saink telep\u00edt\u00e9s\u00e9nek automatiz\u00e1l\u00e1s\u00e1ban. E m\u00f3dszer alkalmaz\u00e1sa eset\u00e9n biztos\u00edtania kell, hogy egy adott pillanatban csak egy verzi\u00f3 legyen akt\u00edv az alkalmaz\u00e1sb\u00f3l. <\/p>\n<p>A blue\/green deployment mechanizmusa a k\u00f6vetkez\u0151k\u00e9ppen m\u0171k\u00f6dik. A forgalmat az alkalmaz\u00e1saink sz\u00e1m\u00e1ra a ha-proxy-n kereszt\u00fcl kapjuk, amely azonos verzi\u00f3j\u00fa fut\u00f3 p\u00e9ld\u00e1nyokra ir\u00e1ny\u00edtja azt. <\/p>\n<p>Amikor \u00faj telep\u00edt\u00e9st hajtunk v\u00e9gre, a Deployer-t haszn\u00e1ljuk, amely \u00faj komponenseket kap, \u00e9s ezzel v\u00e9grehajtja az \u00faj verzi\u00f3 telep\u00edt\u00e9s\u00e9t. Az alkalmaz\u00e1s \u00faj verzi\u00f3j\u00e1nak telep\u00edt\u00e9se azt jelenti, hogy \u201efel\u00e1ll\u00edtunk\u201d egy \u00faj replikasort, amelyeket k\u00fcl\u00f6n, \u00faj podban ind\u00edtunk el. Azonban a ha-proxy semmit sem tud r\u00f3luk, \u00e9s egyel\u0151re nem ir\u00e1ny\u00edt fel\u00e9j\u00fck munkaterhel\u00e9st.<\/p>\n<p>Ez\u00e9rt el\u0151sz\u00f6r is sz\u00fcks\u00e9ges ellen\u0151rizni az \u00faj verzi\u00f3k m\u0171k\u00f6d\u0151k\u00e9pess\u00e9g\u00e9t, hogy megbizonyosodjunk arr\u00f3l, hogy a replik\u00e1k k\u00e9szen \u00e1llnak a terhel\u00e9s kezel\u00e9s\u00e9re.<\/p>\n<p><img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes a gyakorlatban: Blue\/Green telep\u00edt\u00e9s, automatikus sk\u00e1l\u00e1z\u00e1s \u00e9s telep\u00edt\u00e9s automatiz\u00e1l\u00e1sa. 2. r\u00e9sz\" src=\"\/wp-content\/uploads\/2020\/06\/6134f89567ac3627197883b2f4c768d4.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMinden telep\u00edt\u00e9si komponensnek t\u00e1mogatnia kell valamilyen form\u00e1j\u00e1t az eg\u00e9szs\u00e9gellen\u0151rz\u00e9snek. Ez lehet egy nagyon egyszer\u0171 HTTP-k\u00e9r\u00e9sek \u00e1ltali ellen\u0151rz\u00e9s, amikor 200-as st\u00e1tuszk\u00f3dot kapunk, vagy egy m\u00e9lyebb ellen\u0151rz\u00e9s, amely sor\u00e1n az replik\u00e1k kapcsolat\u00e1t vizsg\u00e1ljuk az adatb\u00e1zissal \u00e9s m\u00e1s szolg\u00e1ltat\u00e1sokkal, a dinamikus k\u00f6rnyezet kapcsolati stabilit\u00e1s\u00e1t, valamint azt, hogy minden megfelel\u0151en indul-e el \u00e9s m\u0171k\u00f6dik-e. Ez a folyamat meglehet\u0151sen bonyolult lehet. <\/p>\n<p><img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes a gyakorlatban: Blue\/Green telep\u00edt\u00e9s, automatikus sk\u00e1l\u00e1z\u00e1s \u00e9s telep\u00edt\u00e9s automatiz\u00e1l\u00e1sa. 2. r\u00e9sz\" src=\"\/wp-content\/uploads\/2020\/06\/fdc537599187b32ab97bc00970283e1a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMiut\u00e1n a rendszer megbizonyosodott az \u00f6sszes friss\u00edtett replika m\u0171k\u00f6d\u0151k\u00e9pess\u00e9g\u00e9r\u0151l, a Deployer friss\u00edti a konfigur\u00e1ci\u00f3t \u00e9s \u00e1tadja a megfelel\u0151 confd-t, amely \u00e1t\u00e1ll\u00edtja a ha-proxy-t. <\/p>\n<p><img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes a gyakorlatban: Blue\/Green telep\u00edt\u00e9s, automatikus sk\u00e1l\u00e1z\u00e1s \u00e9s telep\u00edt\u00e9s automatiz\u00e1l\u00e1sa. 2. r\u00e9sz\" src=\"\/wp-content\/uploads\/2020\/06\/099240482096c2ac4aafe7e803409511.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nCsak ezut\u00e1n ir\u00e1ny\u00edtj\u00e1k a forgalmat az \u00faj verzi\u00f3val rendelkez\u0151 pod fel\u00e9, m\u00edg a r\u00e9gi pod elt\u0171nik. <\/p>\n<p><img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes a gyakorlatban: Blue\/Green telep\u00edt\u00e9s, automatikus sk\u00e1l\u00e1z\u00e1s \u00e9s telep\u00edt\u00e9s automatiz\u00e1l\u00e1sa. 2. r\u00e9sz\" src=\"\/wp-content\/uploads\/2020\/06\/f656b3a3adfc27e782e5d9785b8b615e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEz a mechanizmus nem Kubernetes saj\u00e1toss\u00e1g. A Blue\/green deployment koncepci\u00f3ja m\u00e1r r\u00e9g\u00f3ta l\u00e9tezik, \u00e9s mindig is terhel\u00e9seloszt\u00f3t haszn\u00e1lt. El\u0151sz\u00f6r az \u00f6sszes forgalmat a r\u00e9gi alkalmaz\u00e1sverzi\u00f3hoz ir\u00e1ny\u00edtod, majd a friss\u00edt\u00e9st k\u00f6vet\u0151en teljesen \u00e1t\u00fctemezed az \u00faj verzi\u00f3ra. Ezt az elvet nemcsak a Kubernetes haszn\u00e1lja.<\/p>\n<p>Most bemutatom az \u00faj telep\u00edt\u00e9si komponenst \u2013 a Deployer-t, amely eg\u00e9szs\u00e9gellen\u0151rz\u00e9st v\u00e9gez, \u00fajrakonfigur\u00e1lja a proxyt \u00e9s \u00edgy tov\u00e1bb. Ez egy koncepci\u00f3, amely nem kapcsol\u00f3dik a k\u00fcls\u0151 vil\u00e1ghoz, \u00e9s l\u00e9tezik a Kubernetes-en bel\u00fcl. Megmutatom, hogyan hozhatod l\u00e9tre a saj\u00e1t Deployer koncepci\u00f3dat open-source eszk\u00f6z\u00f6k seg\u00edts\u00e9g\u00e9vel. <\/p>\n<p>Teh\u00e1t az els\u0151 dolog, amit a Deployer tesz, hogy l\u00e9trehoz egy replik\u00e1ci\u00f3s kontroller (RC) alkalmaz\u00e1st a Kubernetes API haszn\u00e1lat\u00e1val. Ez az API l\u00e9trehozza a podokat \u00e9s szolg\u00e1ltat\u00e1sokat a telep\u00edt\u00e9s tov\u00e1bbi l\u00e9p\u00e9seihez, vagyis teljesen \u00faj klasztert hoz l\u00e9tre az alkalmaz\u00e1saink sz\u00e1m\u00e1ra. Amint az RC megbizonyosodik arr\u00f3l, hogy a replik\u00e1k elindultak, elv\u00e9gzi a m\u0171k\u00f6d\u0151k\u00e9pess\u00e9gi ellen\u0151rz\u00e9st (Health check). Ehhez a Deployer a GET \/health parancsot haszn\u00e1lja. Ez elind\u00edtja a megfelel\u0151 ellen\u0151rz\u0151 komponenseket, \u00e9s ellen\u0151rzi az \u00f6sszes elemet, amely biztos\u00edtja a klaszter m\u0171k\u00f6d\u00e9s\u00e9t. <\/p>\n<p><img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes a gyakorlatban: Blue\/Green telep\u00edt\u00e9s, automatikus sk\u00e1l\u00e1z\u00e1s \u00e9s telep\u00edt\u00e9s automatiz\u00e1l\u00e1sa. 2. r\u00e9sz\" src=\"\/wp-content\/uploads\/2020\/06\/f2ef0232e17bc69f0b70ea9eabc2f456.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMiut\u00e1n minden pod bejelentette a \"sz\u00fcks\u00e9ges eg\u00e9szs\u00e9g\u00fcgyi \u00e1llapot\u00e1t\", a Deployer l\u00e9trehoz egy \u00faj konfigur\u00e1ci\u00f3s elemet \u2013 egy elosztott t\u00e1rol\u00f3t (etcd), amely a Kubernetes bels\u0151 m\u0171k\u00f6d\u00e9s\u00e9hez sz\u00fcks\u00e9ges, bele\u00e9rtve a terhel\u00e9seloszt\u00f3 konfigur\u00e1ci\u00f3j\u00e1nak t\u00e1rol\u00e1s\u00e1t is. Az adatokat az etcd-be \u00edrjuk, \u00e9s egy kis eszk\u00f6z, a confd figyeli az etcd-t az \u00faj adatok megjelen\u00e9s\u00e9re. <\/p>\n<p>Ha \u00e9szlelte a kezdeti konfigur\u00e1ci\u00f3 b\u00e1rmilyen v\u00e1ltoz\u00e1s\u00e1t, akkor \u00faj be\u00e1ll\u00edt\u00e1si f\u00e1jlt gener\u00e1l, \u00e9s tov\u00e1bb\u00edtja azt a ha-proxy-nak. Ebben az esetben a ha-proxy \u00fajraindul kapcsolatok megszak\u00edt\u00e1sa n\u00e9lk\u00fcl, \u00e9s a terhel\u00e9st az \u00faj szolg\u00e1ltat\u00e1sokra ir\u00e1ny\u00edtja, amelyek az alkalmaz\u00e1saink \u00faj verzi\u00f3j\u00e1t biztos\u00edtj\u00e1k. <\/p>\n<p><img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes a gyakorlatban: Blue\/Green telep\u00edt\u00e9s, automatikus sk\u00e1l\u00e1z\u00e1s \u00e9s telep\u00edt\u00e9s automatiz\u00e1l\u00e1sa. 2. r\u00e9sz\" src=\"\/wp-content\/uploads\/2020\/06\/bef1536c2b8dee6b0da710fc6c6fda99.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAhogy l\u00e1that\u00f3, a sok komponens ellen\u00e9re itt nincs semmi bonyolult. Csak annyira kell figyelni az API-ra \u00e9s az etcd-re. Szeretn\u00e9m bemutatni az open-source deployert, amit mi magunk is haszn\u00e1lunk \u2013 ez az Amdatu Kubernetes Deployer.<\/p>\n<p><img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes a gyakorlatban: Blue\/Green telep\u00edt\u00e9s, automatikus sk\u00e1l\u00e1z\u00e1s \u00e9s telep\u00edt\u00e9s automatiz\u00e1l\u00e1sa. 2. r\u00e9sz\" src=\"\/wp-content\/uploads\/2020\/06\/34124e093d2e16fcbb80fd112c7d223f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEz egy Kubernetes telep\u00edt\u00e9sek kezel\u00e9s\u00e9re szolg\u00e1l\u00f3 eszk\u00f6z, amely a k\u00f6vetkez\u0151 funkci\u00f3kkal rendelkezik: <\/p>\n<ul>\n<li>K\u00e9k\/Z\u00f6ld telep\u00edt\u00e9s;<\/li>\n<li>K\u00fcls\u0151 terhel\u00e9seloszt\u00f3 be\u00e1ll\u00edt\u00e1sa;<\/li>\n<li>Telep\u00edt\u00e9si le\u00edr\u00f3k kezel\u00e9se;<\/li>\n<li>Val\u00f3di telep\u00edt\u00e9s kezel\u00e9se;<\/li>\n<li>M\u0171k\u00f6d\u0151k\u00e9pess\u00e9gi ellen\u0151rz\u00e9sek v\u00e9grehajt\u00e1sa telep\u00edt\u00e9s k\u00f6zben;<\/li>\n<li>K\u00f6rnyezeti v\u00e1ltoz\u00f3k beilleszt\u00e9se a podokba.<\/li>\n<\/ul>\n<p>\nEz a Deployer a Kubernetes API tetej\u00e9re \u00e9p\u00fclt, \u00e9s REST API-t biztos\u00edt a le\u00edr\u00f3k \u00e9s telep\u00edt\u00e9sek kezel\u00e9s\u00e9re, valamint Websocket API-t a telep\u00edt\u00e9si folyamat sor\u00e1n folyamatos napl\u00f3khoz.<\/p>\n<p>A terhel\u00e9seloszt\u00f3 konfigur\u00e1ci\u00f3s adatait az etcd-be helyezi, \u00edgy nem sz\u00fcks\u00e9ges a \"do-it-yourself\" ha-proxy haszn\u00e1lata, k\u00f6nnyed\u00e9n haszn\u00e1lhatja a saj\u00e1t terhel\u00e9seloszt\u00f3 konfigur\u00e1ci\u00f3s f\u00e1jlj\u00e1t. Az Amdatu Deployer Go nyelven \u00edr\u00f3dott, ak\u00e1rcsak maga a Kubernetes, \u00e9s Apache licenc alatt \u00e1ll.<\/p>\n<p>A telep\u00edt\u0151verzi\u00f3 haszn\u00e1lata el\u0151tt a k\u00f6vetkez\u0151 telep\u00edt\u00e9si le\u00edr\u00e1st haszn\u00e1ltam, amelyben a sz\u00e1momra sz\u00fcks\u00e9ges param\u00e9terek vannak megadva. <\/p>\n<p><img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes a gyakorlatban: Blue\/Green telep\u00edt\u00e9s, automatikus sk\u00e1l\u00e1z\u00e1s \u00e9s telep\u00edt\u00e9s automatiz\u00e1l\u00e1sa. 2. r\u00e9sz\" src=\"\/wp-content\/uploads\/2020\/06\/14e9ecca6ad772a43afcf95a4950fad8.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nA k\u00f3d egyik fontos param\u00e9tere a 'useHealthCheck' z\u00e1szl\u00f3 enged\u00e9lyez\u00e9se. Meg kell adni, hogy a telep\u00edt\u00e9s sor\u00e1n v\u00e9gezzen eg\u00e9szs\u00e9gellen\u0151rz\u00e9st. Ez a param\u00e9ter kikapcsolhat\u00f3, ha olyan harmadik f\u00e9l \u00e1ltal k\u00e9sz\u00edtett kont\u00e9nereket haszn\u00e1lunk a telep\u00edt\u00e9s sor\u00e1n, amelyeket nem sz\u00fcks\u00e9ges ellen\u0151rizni. E le\u00edr\u00e1sban szerepel a replik\u00e1k sz\u00e1ma \u00e9s a ha-proxy \u00e1ltal sz\u00fcks\u00e9ges frontend URL is. A v\u00e9g\u00e9n szerepel a 'podspec' pod specifik\u00e1ci\u00f3s z\u00e1szl\u00f3, amely a Kuberneteshez fordul a portokt\u00f3l, k\u00e9pekt\u0151l, stb. val\u00f3 konfigur\u00e1ci\u00f3s inform\u00e1ci\u00f3k\u00e9rt. Ez egy viszonylag egyszer\u0171 JSON-form\u00e1tum\u00fa le\u00edr\u00e1s. <\/p>\n<p>Egy m\u00e1sik eszk\u00f6z, amely r\u00e9sze az open-source Amdatu projektnek, a Deploymentctl. Ez egy felhaszn\u00e1l\u00f3i fel\u00fclet UI-t biztos\u00edt a telep\u00edt\u00e9s konfigur\u00e1l\u00e1s\u00e1hoz, t\u00e1rolja a telep\u00edt\u00e9si el\u0151zm\u00e9nyeket, \u00e9s webhooks-t tartalmaz harmadik f\u00e9l felhaszn\u00e1l\u00f3k \u00e9s fejleszt\u0151k visszah\u00edv\u00e1saira. Nem musz\u00e1j haszn\u00e1lnia az UI-t, mivel maga az Amdatu Deployer REST API, de ez a fel\u00fclet sokkal megk\u00f6nny\u00edtheti a telep\u00edt\u00e9st API ig\u00e9nybev\u00e9tel n\u00e9lk\u00fcl. A Deploymentctl OSGi\/Vertx \u00e9s Angular 2 felhaszn\u00e1l\u00e1s\u00e1val k\u00e9sz\u00fclt. <\/p>\n<p>Most bemutatom a fent eml\u00edtetteket a k\u00e9perny\u0151n, el\u0151re r\u00f6gz\u00edtett felv\u00e9tel seg\u00edts\u00e9g\u00e9vel, \u00edgy nem kell v\u00e1rnia. Egy egyszer\u0171 Go alkalmaz\u00e1st fogunk telep\u00edteni. Ne agg\u00f3djon, ha eddig nem tal\u00e1lkozott a Go-val, ez egy nagyon egyszer\u0171 alkalmaz\u00e1s, \u00edgy mindent k\u00f6nnyen \u00e9rthet\u0151nek kell lennie. <\/p>\n<p><img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes a gyakorlatban: Blue\/Green telep\u00edt\u00e9s, automatikus sk\u00e1l\u00e1z\u00e1s \u00e9s telep\u00edt\u00e9s automatiz\u00e1l\u00e1sa. 2. r\u00e9sz\" src=\"\/wp-content\/uploads\/2020\/06\/ab61ada396143e980d73a0bb8ff95076.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nItt egy HTTP szervert hozunk l\u00e9tre, amely csak a \/health-ra v\u00e1laszol, \u00edgy ez az alkalmaz\u00e1s csak az eg\u00e9szs\u00e9gellen\u0151rz\u00e9st ellen\u0151rzi, \u00e9s semmi m\u00e1st. Ha az ellen\u0151rz\u00e9s sikeres, akkor a lent l\u00e1that\u00f3 JSON-strukt\u00fara aktiv\u00e1l\u00f3dik. Ez tartalmazza a telep\u00edt\u0151 \u00e1ltal telep\u00edtend\u0151 alkalmaz\u00e1s verzi\u00f3j\u00e1t, a f\u00e1jl tetej\u00e9n l\u00e1that\u00f3 \u00fczenetet, \u00e9s egy logikai t\u00edpus\u00fa boolean \u00e9rt\u00e9ket \u2013 m\u0171k\u00f6dik-e az alkalmaz\u00e1sunk vagy sem.<\/p>\n<p>Az utols\u00f3 sorban kicsit \u00fcgyeskedtem, mert a f\u00e1jl elej\u00e9re egy r\u00f6gz\u00edtett boolean \u00e9rt\u00e9ket tettem, amely k\u00e9s\u0151bb seg\u00edt nekem abban, hogy m\u00e9g egy \"nem eg\u00e9szs\u00e9ges\" alkalmaz\u00e1st is telep\u00edthessek. K\u00e9s\u0151bb ezt is \u00e1tbesz\u00e9lj\u00fck. <\/p>\n<p>Teh\u00e1t kezdj\u00fck. El\u0151sz\u00f6r ellen\u0151rizz\u00fck, hogy vannak-e fut\u00f3 podok a ~ kubectl get pods paranccsal, \u00e9s a frontend URL hi\u00e1ny\u00e1ban biztosak lehet\u00fcnk benne, hogy jelenleg nincsenek telep\u00edt\u00e9sek. <\/p>\n<p><img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes a gyakorlatban: Blue\/Green telep\u00edt\u00e9s, automatikus sk\u00e1l\u00e1z\u00e1s \u00e9s telep\u00edt\u00e9s automatiz\u00e1l\u00e1sa. 2. r\u00e9sz\" src=\"\/wp-content\/uploads\/2020\/06\/4da1ae467993d6e60ec539ae5ff136ff.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nA k\u00f6vetkez\u0151 k\u00e9perny\u0151n l\u00e1tja az \u00e1ltalam eml\u00edtett Deploymentctl fel\u00fcletet, ahol a telep\u00edt\u00e9si param\u00e9tereket \u00e1ll\u00edtjuk be: n\u00e9vt\u00e9r, alkalmaz\u00e1s neve, telep\u00edt\u00e9si verzi\u00f3, p\u00e9ld\u00e1nyok sz\u00e1ma, frontend URL, kont\u00e9ner neve, k\u00e9p, er\u0151forr\u00e1s korl\u00e1tok, a health check port sz\u00e1ma stb. Az er\u0151forr\u00e1s korl\u00e1tok nagyon fontosak, mivel lehet\u0151v\u00e9 teszik a maxim\u00e1lisan el\u00e9rhet\u0151 \u201ehardver\u201d kihaszn\u00e1l\u00e1s\u00e1t. Itt megtekintheti a telep\u00edt\u00e9si napl\u00f3t is.<\/p>\n<p><img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes a gyakorlatban: Blue\/Green telep\u00edt\u00e9s, automatikus sk\u00e1l\u00e1z\u00e1s \u00e9s telep\u00edt\u00e9s automatiz\u00e1l\u00e1sa. 2. r\u00e9sz\" src=\"\/wp-content\/uploads\/2020\/06\/edf6a02b336f1abce61f0a323edeee9d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nHa most megism\u00e9telj\u00fck a ~ kubectl get pods parancsot, l\u00e1that\u00f3, hogy a rendszer \u201emeg\u00e1ll\u201d 20 m\u00e1sodpercre, amely id\u0151 alatt a ha-proxy \u00fajrakonfigur\u00e1l\u00e1sa t\u00f6rt\u00e9nik. Ezt k\u00f6vet\u0151en a pod elindul, \u00e9s a replik\u00e1nk a telep\u00edt\u00e9si napl\u00f3ban megjelenik. <\/p>\n<p><img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes a gyakorlatban: Blue\/Green telep\u00edt\u00e9s, automatikus sk\u00e1l\u00e1z\u00e1s \u00e9s telep\u00edt\u00e9s automatiz\u00e1l\u00e1sa. 2. r\u00e9sz\" src=\"\/wp-content\/uploads\/2020\/06\/c6c8f6335e00d3a9cfcf4d4792ecf795.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKiv\u00e1gtam a vide\u00f3b\u00f3l a 20 m\u00e1sodperces v\u00e1rakoz\u00e1st, \u00e9s most l\u00e1tja a k\u00e9perny\u0151n, hogy az alkalmaz\u00e1s els\u0151 verzi\u00f3ja telep\u00edtve van. Mindezt puszt\u00e1n a UI seg\u00edts\u00e9g\u00e9vel val\u00f3s\u00edtottuk meg. <\/p>\n<p><img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes a gyakorlatban: Blue\/Green telep\u00edt\u00e9s, automatikus sk\u00e1l\u00e1z\u00e1s \u00e9s telep\u00edt\u00e9s automatiz\u00e1l\u00e1sa. 2. r\u00e9sz\" src=\"\/wp-content\/uploads\/2020\/06\/d21fa9ad71e22b2bb9efdfc7bc9c8771.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMost pr\u00f3b\u00e1ljuk ki a m\u00e1sodik verzi\u00f3t. Ehhez m\u00f3dos\u00edtom az alkalmaz\u00e1s \u00fczenet\u00e9t a \u201eHello, Kubernetes!\u201d-r\u0151l \u201eHello, Deployer!\u201d-re, a rendszer l\u00e9trehozza ezt a k\u00e9pet \u00e9s elhelyezi a Docker registry-ben, majd egyszer\u0171en \u00fajra r\u00e1kattintunk a \u201eDeploy\u201d gombra a Deploymentctl ablakban. Ezzel automatikusan elindul a telep\u00edt\u00e9si napl\u00f3, ak\u00e1rcsak az els\u0151 verzi\u00f3 telep\u00edt\u00e9sekor. <\/p>\n<p><img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes a gyakorlatban: Blue\/Green telep\u00edt\u00e9s, automatikus sk\u00e1l\u00e1z\u00e1s \u00e9s telep\u00edt\u00e9s automatiz\u00e1l\u00e1sa. 2. r\u00e9sz\" src=\"\/wp-content\/uploads\/2020\/06\/e4ef784649fd18b1580d2562b318ac0f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nA ~ kubectl get pods parancs mutatja, hogy jelenleg 2 verzi\u00f3 fut az alkalmaz\u00e1sb\u00f3l, azonban a frontend azt mutatja, hogy m\u00e9g mindig az 1-es verzi\u00f3 m\u0171k\u00f6dik. <\/p>\n<p><img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes a gyakorlatban: Blue\/Green telep\u00edt\u00e9s, automatikus sk\u00e1l\u00e1z\u00e1s \u00e9s telep\u00edt\u00e9s automatiz\u00e1l\u00e1sa. 2. r\u00e9sz\" src=\"\/wp-content\/uploads\/2020\/06\/1d4a9c91f836007325a2a2c833da8eff.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nA terhel\u00e9seloszt\u00f3 v\u00e1r, am\u00edg a health check elv\u00e9gz\u00e9sre ker\u00fcl, majd \u00e1tir\u00e1ny\u00edtja a forgalmat az \u00faj verzi\u00f3ra. 20 m\u00e1sodperc m\u00falva \u00e1tv\u00e1ltunk a curl-re, \u00e9s l\u00e1tjuk, hogy most a 2-es verzi\u00f3 van telep\u00edtve, m\u00edg az els\u0151 m\u00e1r t\u00f6r\u00f6lve lett. <\/p>\n<p><img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes a gyakorlatban: Blue\/Green telep\u00edt\u00e9s, automatikus sk\u00e1l\u00e1z\u00e1s \u00e9s telep\u00edt\u00e9s automatiz\u00e1l\u00e1sa. 2. r\u00e9sz\" src=\"\/wp-content\/uploads\/2020\/06\/e123618251e9fcb1c14829772634b6e8.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEz egy \u201eeg\u00e9szs\u00e9ges\u201d - healthy - alkalmaz\u00e1s telep\u00edt\u00e9se volt. N\u00e9zz\u00fck meg, mi t\u00f6rt\u00e9nik, ha az \u00faj verzi\u00f3hoz a Healthy param\u00e9ter \u00e9rt\u00e9k\u00e9t true-r\u00f3l false-ra v\u00e1ltoztatom, teh\u00e1t megpr\u00f3b\u00e1lok egy unhealthy alkalmaz\u00e1st telep\u00edteni, amely nem teljes\u00edtette a m\u0171k\u00f6d\u00e9si tesztet. Ez akkor t\u00f6rt\u00e9nhet meg, ha a fejleszt\u00e9s sor\u00e1n az alkalmaz\u00e1sban valamilyen konfigur\u00e1ci\u00f3s hiba t\u00f6rt\u00e9nt, \u00e9s ebben a form\u00e1ban ker\u00fclt a termel\u00e9sbe. <\/p>\n<p>Ahogy l\u00e1tja, a telep\u00edt\u00e9s mind a fent eml\u00edtett l\u00e9p\u00e9seket teljes\u00edti, \u00e9s a ~ kubectl get pods mutatja, hogy mindk\u00e9t pod fut. De az el\u0151z\u0151 telep\u00edt\u00e9st\u0151l elt\u00e9r\u0151en a napl\u00f3 id\u0151t\u00fall\u00e9p\u00e9si \u00e1llapotot jelez. Teh\u00e1t mivel az eg\u00e9szs\u00e9gellen\u0151rz\u00e9s nem siker\u00fclt, az \u00faj verzi\u00f3t nem lehetett telep\u00edteni. Ennek eredm\u00e9nyek\u00e9nt l\u00e1tja, hogy a rendszer visszat\u00e9rt a r\u00e9gi verzi\u00f3 haszn\u00e1lat\u00e1ra, m\u00edg az \u00faj verzi\u00f3t egyszer\u0171en elt\u00e1vol\u00edtott\u00e1k. <\/p>\n<p><img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes a gyakorlatban: Blue\/Green telep\u00edt\u00e9s, automatikus sk\u00e1l\u00e1z\u00e1s \u00e9s telep\u00edt\u00e9s automatiz\u00e1l\u00e1sa. 2. r\u00e9sz\" src=\"\/wp-content\/uploads\/2020\/06\/4542761328603596704f21cef4c9d4a3.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAmi j\u00f3 ebben, hogy m\u00e9g ha rengeteg egyidej\u0171 k\u00e9r\u00e9s \u00e9rkezik is az alkalmaz\u00e1sba, a felhaszn\u00e1l\u00f3k nem is \u00e9szlelik a le\u00e1ll\u00e1st a telep\u00edt\u00e9si elj\u00e1r\u00e1s alatt. Ha ezt az alkalmaz\u00e1st a Gatling keretrendszer seg\u00edts\u00e9g\u00e9vel tesztelj\u00fck, amely a lehet\u0151 legnagyobb sz\u00e1m\u00fa k\u00e9r\u00e9st k\u00fcldi el, akkor egyetlen k\u00e9r\u00e9s sem fog elutas\u00edt\u00e1sra ker\u00fclni. Ez azt jelenti, hogy a felhaszn\u00e1l\u00f3k m\u00e9g az \u00faj verzi\u00f3k val\u00f3s idej\u0171 friss\u00edt\u00e9s\u00e9t sem vehetik \u00e9szre. Ha a friss\u00edt\u00e9s nem siker\u00fcl, a rendszer a r\u00e9gi verzi\u00f3n folytatja a m\u0171k\u00f6d\u00e9st, ha siker\u00fcl \u2013 a felhaszn\u00e1l\u00f3k az \u00faj verzi\u00f3ra v\u00e1ltanak. <\/p>\n<p>Csak egy dolog okozhat kudarcot \u2013 ha az eg\u00e9szs\u00e9gellen\u0151rz\u00e9s sikeres, de az alkalmaz\u00e1s \u00f6sszeomlik, amint terhel\u00e9st kap, a kollapszus csak a telep\u00edt\u00e9s befejez\u00e9se ut\u00e1n k\u00f6vetkezik be. Ebben az esetben manu\u00e1lisan vissza kell t\u00e9rnie a r\u00e9gi verzi\u00f3ra. Teh\u00e1t megvizsg\u00e1ltuk, hogyan haszn\u00e1lhatja a Kubernetest a sz\u00e1m\u00e1ra kialak\u00edtott ny\u00edlt forr\u00e1sk\u00f3d\u00fa eszk\u00f6z\u00f6kkel. A telep\u00edt\u00e9si elj\u00e1r\u00e1s sokkal z\u00f6kken\u0151mentesebb\u00e9 v\u00e1lik, ha ezeket az eszk\u00f6z\u00f6ket be\u00e9p\u00edti a Build\/Deploy pipeline-okba. A telep\u00edt\u00e9s elind\u00edt\u00e1s\u00e1hoz haszn\u00e1lhatja a felhaszn\u00e1l\u00f3i fel\u00fcletet, vagy teljesen automatiz\u00e1lhatja a folyamatot, p\u00e9ld\u00e1ul a commit to master alkalmaz\u00e1s\u00e1val. <\/p>\n<p><img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes a gyakorlatban: Blue\/Green telep\u00edt\u00e9s, automatikus sk\u00e1l\u00e1z\u00e1s \u00e9s telep\u00edt\u00e9s automatiz\u00e1l\u00e1sa. 2. r\u00e9sz\" src=\"\/wp-content\/uploads\/2020\/06\/43b638be9d334c6c4f8e9f4fc00ce2f9.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u00c9p\u00edt\u00e9si szerver\u00fcnk, a Build Server l\u00e9trehozza a Docker k\u00e9pet, felt\u00f6lti a Docker Hub-ra vagy b\u00e1rmely m\u00e1s haszn\u00e1lt registry-be. A Docker Hub webhookot t\u00e1mogat, \u00edgy a Deployer-en kereszt\u00fcl t\u00e1voli telep\u00edt\u00e9st ind\u00edthatunk az el\u0151bb bemutatott m\u00f3don. \u00cdgy az alkalmaz\u00e1s telep\u00edt\u00e9se teljesen automatiz\u00e1lhat\u00f3 a potenci\u00e1lis produkci\u00f3s k\u00f6rnyezetbe. <\/p>\n<p>Folytassuk a k\u00f6vetkez\u0151 t\u00e9ma, a Kubernetes klaszter sk\u00e1l\u00e1z\u00e1s\u00e1nak \u00e1ttekint\u00e9s\u00e9vel. Megjegyzem, hogy a kubectl parancs a sk\u00e1l\u00e1z\u00e1s parancsa. Ezen kereszt\u00fcl k\u00f6nnyed\u00e9n n\u00f6velhetj\u00fck a replik\u00e1k sz\u00e1m\u00e1t a megl\u00e9v\u0151 klaszter\u00fcnkben. A gyakorlatban azonban \u00e1ltal\u00e1ban a podok sz\u00e1m\u00e1nak n\u00f6vel\u00e9se helyett a node-ok sz\u00e1m\u00e1t szeretn\u00e9nk n\u00f6velni. <\/p>\n<p><img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes a gyakorlatban: Blue\/Green telep\u00edt\u00e9s, automatikus sk\u00e1l\u00e1z\u00e1s \u00e9s telep\u00edt\u00e9s automatiz\u00e1l\u00e1sa. 2. r\u00e9sz\" src=\"\/wp-content\/uploads\/2020\/06\/890f436b4bc52c81f5db5b35e64e7e18.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEz azt jelenti, hogy munkaid\u0151ben sz\u00fcks\u00e9g lehet a n\u00f6vel\u00e9sre, m\u00edg \u00e9jszaka, az Amazon k\u00f6lts\u00e9geinek cs\u00f6kkent\u00e9se \u00e9rdek\u00e9ben, az alkalmaz\u00e1s fut\u00f3 p\u00e9ld\u00e1nyainak sz\u00e1m\u00e1t cs\u00f6kkenteni kell. Ez nem jelenti azt, hogy elegend\u0151 csup\u00e1n a podok sz\u00e1m\u00e1t sk\u00e1l\u00e1zni, mert m\u00e9g ha egy node \u00fcresen \u00e1ll, akkor is fizetn\u00fcnk kell \u00e9rte az Amazonnak. Teh\u00e1t a podok sk\u00e1l\u00e1z\u00e1sa mellett a haszn\u00e1lt g\u00e9pek sz\u00e1m\u00e1t is sk\u00e1l\u00e1zni kell. <\/p>\n<p>Ez probl\u00e9m\u00e1kat okozhat, mert f\u00fcggetlen\u00fcl att\u00f3l, hogy az Amazont vagy egy m\u00e1sik felh\u0151szolg\u00e1ltat\u00f3t haszn\u00e1lunk, a Kubernetes nem tud a haszn\u00e1lt g\u00e9pek sz\u00e1m\u00e1r\u00f3l. Nincs eszk\u00f6z, amely lehet\u0151v\u00e9 tenn\u00e9 a rendszer sk\u00e1l\u00e1z\u00e1s\u00e1t a node-ok szintj\u00e9n. <\/p>\n<p><img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes a gyakorlatban: Blue\/Green telep\u00edt\u00e9s, automatikus sk\u00e1l\u00e1z\u00e1s \u00e9s telep\u00edt\u00e9s automatiz\u00e1l\u00e1sa. 2. r\u00e9sz\" src=\"\/wp-content\/uploads\/2020\/06\/2f00b19f1cb665d8e7bd896fa419554c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTeh\u00e1t gondoskodnunk kell a node-okr\u00f3l \u00e9s a podokr\u00f3l is. Az AWS API seg\u00edts\u00e9g\u00e9vel k\u00f6nnyen sk\u00e1l\u00e1zhatjuk \u00faj node-ok ind\u00edt\u00e1s\u00e1t, valamint a Kubernetes munkacsoport f\u0151csoportj\u00e1nak be\u00e1ll\u00edt\u00e1s\u00e1t a munk\u00e1scsom\u00f3pontok sz\u00e1m\u00e1nak konfigur\u00e1l\u00e1s\u00e1ra. A cloud-init vagy hasonl\u00f3 szkript is haszn\u00e1lhat\u00f3 a node-ok regisztr\u00e1l\u00e1s\u00e1ra a Kubernetes klaszter\u00e9ben. <\/p>\n<p>Az \u00faj g\u00e9p elindul a Scaling group-ban, csom\u00f3pontk\u00e9nt kezeli mag\u00e1t, bejegyz\u0151dik a mesterek nyilv\u00e1ntart\u00e1s\u00e1ba \u00e9s elkezdi a m\u0171k\u00f6d\u00e9st. Ezt k\u00f6vet\u0151en n\u00f6velhet\u0151 a replik\u00e1k sz\u00e1ma, hogy kihaszn\u00e1lj\u00e1k a kialakult csom\u00f3pontokat. A m\u00e9retez\u00e9s cs\u00f6kkent\u00e9se nagyobb er\u0151fesz\u00edt\u00e9st ig\u00e9nyel, mivel biztos\u00edtani kell, hogy ez a l\u00e9p\u00e9s ne vezessen a m\u00e1r m\u0171k\u00f6d\u0151 alkalmaz\u00e1sok megsz\u00fcntet\u00e9s\u00e9hez a \"felesleges\" g\u00e9pek kikapcsol\u00e1sa ut\u00e1n. Ennek a forgat\u00f3k\u00f6nyvnek a megel\u0151z\u00e9s\u00e9hez a csom\u00f3pontokat \"unschedulable\" st\u00e1tuszra kell \u00e1ll\u00edtani. Ez azt jelenti, hogy az alap\u00e9rtelmezett \u00fctemez\u0151 a DaemonSet podok \u00fctemez\u00e9sekor figyelmen k\u00edv\u00fcl hagyja ezeket a csom\u00f3pontokat. Az \u00fctemez\u0151 nem t\u00f6r\u00f6l semmit ezekr\u0151l a szerverekr\u0151l, de \u00faj kont\u00e9nereket sem ind\u00edt el ott. A k\u00f6vetkez\u0151 l\u00e9p\u00e9s a csom\u00f3pont ki\u00fcr\u00edt\u00e9se, vagyis a m\u0171k\u00f6d\u0151 podok \u00e1tkonfigur\u00e1l\u00e1sa egy m\u00e1sik g\u00e9pre, vagy m\u00e1s csom\u00f3pontokra, amelyek elegend\u0151 kapacit\u00e1ssal rendelkeznek ehhez. Miut\u00e1n megbizonyosodtunk arr\u00f3l, hogy ezeken a csom\u00f3pontokon t\u00f6bb\u00e9 nincs kont\u00e9ner, elt\u00e1vol\u00edthatjuk \u0151ket a Kubernetes-b\u0151l. Ezt k\u00f6vet\u0151en m\u00e1r csak nem l\u00e9teznek a Kubernetes sz\u00e1m\u00e1ra. A k\u00f6vetkez\u0151kben az AWS API-t kell haszn\u00e1lni a felesleges csom\u00f3pontok, vagy g\u00e9pek kikapcsol\u00e1s\u00e1hoz. <br \/>\nHaszn\u00e1lhatja az Amdatu Scalerd-et \u2013 egy m\u00e1sik open-source eszk\u00f6zt a sk\u00e1l\u00e1z\u00e1shoz, hasonl\u00f3an az AWS API-hoz. CLI-t biztos\u00edt a csom\u00f3pontok hozz\u00e1ad\u00e1s\u00e1hoz vagy elt\u00e1vol\u00edt\u00e1s\u00e1hoz a klaszterben. \u00c9rdekes jellemz\u0151je, hogy lehet\u0151s\u00e9get ad az \u00fctemez\u0151 konfigur\u00e1l\u00e1s\u00e1ra a k\u00f6vetkez\u0151 json-f\u00e1jl seg\u00edts\u00e9g\u00e9vel. <\/p>\n<p><img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes a gyakorlatban: Blue\/Green telep\u00edt\u00e9s, automatikus sk\u00e1l\u00e1z\u00e1s \u00e9s telep\u00edt\u00e9s automatiz\u00e1l\u00e1sa. 2. r\u00e9sz\" src=\"\/wp-content\/uploads\/2020\/06\/f70c7c722cacb4792c316e9f80a7500a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nA bemutatott k\u00f3d fel\u00e9re cs\u00f6kkenti a klaszter kapacit\u00e1s\u00e1t a nappali id\u0151szakban. Be van \u00e1ll\u00edtva mind a megl\u00e9v\u0151 replik\u00e1k sz\u00e1ma, mind az Amazon klaszter k\u00edv\u00e1nt kapacit\u00e1sa. Ennek az \u00fctemez\u0151nek a haszn\u00e1lata automatikusan cs\u00f6kkenti a csom\u00f3pontok sz\u00e1m\u00e1t \u00e9jszaka, \u00e9s reggel n\u00f6veli azokat, lehet\u0151v\u00e9 t\u00e9ve a k\u00f6lts\u00e9gek megtakar\u00edt\u00e1s\u00e1t egy ilyen felh\u0151szolg\u00e1ltat\u00e1s, mint az Amazon csom\u00f3pontjainak haszn\u00e1lat\u00e1ban. Ez a funkci\u00f3 nem be\u00e9p\u00edtett a Kubernetes-be, de a Scalerd haszn\u00e1lata lehet\u0151v\u00e9 teszi a platform tetsz\u00e9s szerinti sk\u00e1l\u00e1z\u00e1s\u00e1t. <\/p>\n<p>Szeretn\u00e9m felh\u00edvni a figyelmet arra, hogy sokan azt mondj\u00e1k nekem: \u201eMindez j\u00f3l hangzik, de mi a helyzet az \u00e9n adatb\u00e1zisommal, amely rendszerint statikus \u00e1llapotban van?\u201d Hogyan lehetne valami ilyesmit elind\u00edtani egy dinamikus k\u00f6rnyezetben, mint a Kubernetes? V\u00e9lem\u00e9nyem szerint ezt nem szabadna megpr\u00f3b\u00e1lni, nem szabadna adatb\u00e1zisokat futtatni a Kubernetes-ben. Technikailag lehets\u00e9ges, \u00e9s az interneten vannak \u00fatmutat\u00f3k erre vonatkoz\u00f3an, de ez komolyan megnehez\u00edti az \u00e9let\u00e9t. <\/p>\n<p>Igen, a Kubernetes-ben l\u00e9tezik a tart\u00f3s t\u00e1rol\u00f3k fogalma, \u00e9s megpr\u00f3b\u00e1lhatja futtatni az olyan adatb\u00e1zisokat, mint a Mongo vagy a MySQL, de ez el\u00e9g munkaig\u00e9nyes feladat. Ennek az az oka, hogy az adatb\u00e1zisok nem t\u00e1mogatj\u00e1k teljes m\u00e9rt\u00e9kben a dinamikus k\u00f6rnyezettel val\u00f3 interakci\u00f3t. A legt\u00f6bb adatb\u00e1zis jelent\u0151s be\u00e1ll\u00edt\u00e1st ig\u00e9nyel, bele\u00e9rtve a klaszter k\u00e9zi konfigur\u00e1l\u00e1s\u00e1t, \u00e9s nem kedvelik az automatikus sk\u00e1l\u00e1z\u00e1st \u00e9s hasonl\u00f3 dolgokat. <br \/>\nEz\u00e9rt ne bonyol\u00edtsa az \u00e9let\u00e9t azzal, hogy adatb\u00e1zist pr\u00f3b\u00e1l futtatni Kubernetes-ben. Szervezze meg a m\u0171k\u00f6d\u00e9s\u00fcket a hagyom\u00e1nyos m\u00f3don, a megszokott szolg\u00e1ltat\u00e1sok haszn\u00e1lat\u00e1val, \u00e9s egyszer\u0171en engedje, hogy a Kubernetes hozz\u00e1f\u00e9rjen hozz\u00e1juk.<\/p>\n<p><img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes a gyakorlatban: Blue\/Green telep\u00edt\u00e9s, automatikus sk\u00e1l\u00e1z\u00e1s \u00e9s telep\u00edt\u00e9s automatiz\u00e1l\u00e1sa. 2. r\u00e9sz\" src=\"\/wp-content\/uploads\/2020\/06\/129e8d403f42b7aa6fb022b386955e9e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nA t\u00e9ma v\u00e9g\u00e9n szeretn\u00e9m bemutatni a Kubernetes alap\u00fa Cloud RTI platformot, amelyen a csapatom dolgozik. Ez k\u00f6zpontos\u00edtott napl\u00f3z\u00e1st, alkalmaz\u00e1sok \u00e9s klaszterek monitoroz\u00e1s\u00e1t biztos\u00edt, \u00e9s sz\u00e1mos m\u00e1s hasznos funkci\u00f3val rendelkezik, amelyeket hasznosnak tal\u00e1lhat. K\u00fcl\u00f6nb\u00f6z\u0151 open-source eszk\u00f6z\u00f6ket haszn\u00e1l, mint p\u00e9ld\u00e1ul a Grafana a monitoroz\u00e1s megjelen\u00edt\u00e9s\u00e9re.<\/p>\n<p><img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes a gyakorlatban: Blue\/Green telep\u00edt\u00e9s, automatikus sk\u00e1l\u00e1z\u00e1s \u00e9s telep\u00edt\u00e9s automatiz\u00e1l\u00e1sa. 2. r\u00e9sz\" src=\"\/wp-content\/uploads\/2020\/06\/a0e79033dbc0a2683e3567934c9ba014.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"DEVOXX UK. Kubernetes a gyakorlatban: Blue\/Green telep\u00edt\u00e9s, automatikus sk\u00e1l\u00e1z\u00e1s \u00e9s telep\u00edt\u00e9s automatiz\u00e1l\u00e1sa. 2. r\u00e9sz\" src=\"\/wp-content\/uploads\/2020\/06\/2b1b7ba139053fc492c7ad25e96f362f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nFelmer\u00fclt a k\u00e9rd\u00e9s, mi\u00e9rt haszn\u00e1ljunk ha-proxy terhel\u00e9seloszt\u00f3t a Kubernetes-szel. J\u00f3 k\u00e9rd\u00e9s, mivel jelenleg k\u00e9t szint\u0171 terhel\u00e9seloszt\u00e1s l\u00e9tezik. A Kubernetes szolg\u00e1ltat\u00e1sok m\u00e9g mindig virtu\u00e1lis IP-c\u00edmeken alapulnak. Nem haszn\u00e1lhat\u00f3k k\u00fcls\u0151 g\u00e9pek portjaihoz, mivel ha az Amazon t\u00falterheli felh\u0151szerver\u00e9t, a c\u00edm megv\u00e1ltozik. Ez\u00e9rt helyezz\u00fck a ha-proxy-t a szolg\u00e1ltat\u00e1sok el\u00e9, hogy statikusabb strukt\u00far\u00e1t hozzunk l\u00e9tre a forgalom folyamatos interakci\u00f3j\u00e1hoz a Kubernetes-szel. <\/p>\n<p>Egy m\u00e1sik j\u00f3 k\u00e9rd\u00e9s \u2013 hogyan lehet gondoskodni az adatb\u00e1zis-s\u00e9ma m\u00f3dos\u00edt\u00e1s\u00e1r\u00f3l a blue\/green telep\u00edt\u00e9s sor\u00e1n? A helyzet az, hogy f\u00fcggetlen\u00fcl att\u00f3l, hogy Kubernetes-t haszn\u00e1l, az adatb\u00e1zis-s\u00e9ma m\u00f3dos\u00edt\u00e1sa bonyolult feladat. Gondoskodnia kell a r\u00e9gi \u00e9s az \u00faj s\u00e9ma kompatibilit\u00e1s\u00e1r\u00f3l, majd friss\u00edtheti az adatb\u00e1zist, \u00e9s ezut\u00e1n az alkalmaz\u00e1sokat. V\u00e9gezheti el az adatb\u00e1zis \u201eforr\u00f3 csere\u201d (hot swapping) folyamat\u00e1t, majd friss\u00edtheti az alkalmaz\u00e1sokat. Ismerek embereket, akik teljesen \u00faj adatb\u00e1zis-kiszerel\u0151t \u00e1ll\u00edtottak fel \u00faj s\u00e9m\u00e1val, ami opci\u00f3, ha van schemeless t\u00edpus\u00fa adatb\u00e1zisuk, mint p\u00e9ld\u00e1ul a Mongo, de mindenesetre nem k\u00f6nny\u0171 feladat. Ha nincs t\u00f6bb k\u00e9rd\u00e9s, k\u00f6sz\u00f6n\u00f6m a figyelmet!<\/p>\n<p><center><div class=\"youtube-placeholder\" data-id=\"-Ci4vd4rh4M\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/-Ci4vd4rh4M\/hqdefault.jpg\" alt=\"Vide\u00f3 lej\u00e1tsz\u00e1sa\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div><\/center><\/p>\n<h3>Egy kis rekl\u00e1m \ud83d\ude42<\/h3>\n<p>\nK\u00f6sz\u00f6nj\u00fck, hogy vel\u00fcnk maradt\u00e1l. Tetszenek a cikkeink? Szeretn\u00e9l t\u00f6bb \u00e9rdekes anyagot l\u00e1tni? T\u00e1mogass minket, \u00e9s rendel\u00e9s lead\u00e1s\u00e1val vagy ismer\u0151s\u00f6knek aj\u00e1nl\u00e1ssal seg\u00edts nek\u00fcnk. <noindex><a rel=\"nofollow\" href=\"https:\/\/ua-hosting.company\/cloudvps\/nl\">Felh\u0151alap\u00fa VPS fejleszt\u0151knek 4,99 doll\u00e1rt\u00f3l<\/a><\/noindex>, <b>Egyed\u00fcl\u00e1ll\u00f3 alternat\u00edv\u00e1ja az entry-level szervereknek, amelyet \u00d6nnek tal\u00e1ltunk ki:<\/b> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/ua-hosting\/blog\/347386\/\">Minden igazs\u00e1g a VPS (KVM) E5-2697 v3 (6 mag) 10GB DDR4 480GB SSD 1Gbps \u00e1ron 19 doll\u00e1rt\u00f3l, vagy hogyan oszd fel helyesen a szervert?<\/a><\/noindex> (el\u00e9rhet\u0151k RAID1 \u00e9s RAID10 opci\u00f3k, ak\u00e1r 24 magig \u00e9s 40GB DDR4-ig).<\/p>\n<p><b>Dell R730xd k\u00e9tszer olcs\u00f3bban a Tier IV Equinix adatk\u00f6zpontban Amszterdamban?<\/b> Csak n\u00e1lunk <b><noindex><a rel=\"nofollow\" href=\"https:\/\/ua-hosting.company\/serversnl\">2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TB 199 doll\u00e1rt\u00f3l<\/a><\/noindex> Hollandi\u00e1ban! <b>Dell R420 \u2014 2x E5-2430 2.2GHz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB \u2014 99 doll\u00e1rt\u00f3l!<\/b><\/b> Olvasd el ezt <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/ua-hosting\/blog\/329618\/\">Hogyan \u00e9p\u00edts\u00fcnk v\u00e1llalati szint\u0171 infrastrukt\u00far\u00e1t Dell R730xd E5-2650 v4 szerverekkel, amelyek k\u00f6lts\u00e9ge 9000 eur\u00f3ban van megszabva?<\/a><\/noindex><br \/>\n<br \/>Forr\u00e1s: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/504672\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>Kubernetes \u2014 \u044d\u0442\u043e \u043e\u0442\u043b\u0438\u0447\u043d\u044b\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 Docker \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0441\u0440\u0435\u0434\u0435. \u041e\u0434\u043d\u0430\u043a\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0437\u0430\u0434\u0430\u0447\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 Kubernetes \u0440\u0435\u0448\u0438\u0442\u044c \u043d\u0435 \u0432 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438. \u041f\u0440\u0438 \u0447\u0430\u0441\u0442\u043e\u043c \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0438 \u0432 \u0440\u0430\u0431\u043e\u0447\u0435\u0439 \u0441\u0440\u0435\u0434\u0435 \u043c\u044b \u043d\u0443\u0436\u0434\u0430\u0435\u043c\u0441\u044f \u0432 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c Blue\/Green deployment, \u0447\u0442\u043e\u0431\u044b \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u043e\u0435\u0432 \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435, \u043f\u0440\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0442\u0430\u043a\u0436\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0432\u043d\u0435\u0448\u043d\u0438\u0435 HTTP-\u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0432\u044b\u0433\u0440\u0443\u0437\u043a\u0443 SSL. \u042d\u0442\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":83788,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-83787","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=\"Kubernetes \u2014 \u044d\u0442\u043e \u043e\u0442\u043b\u0438\u0447\u043d\u044b\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 Docker \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0441\u0440\u0435\u0434\u0435. \u041e\u0434\u043d\u0430\u043a\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0437\u0430\u0434\u0430\u0447\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 Kubernetes \u0440\u0435\u0448\u0438\u0442\u044c \u043d\u0435 \u0432 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438.\" \/>\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\/devoxx-uk-kubernetes-v-prodakshene-blue-green-deployment-avtomasshtabirovanie-i-avtomatizacziya-razvertyvaniya-chast-2\" \/>\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\udd47DEVOXX UK. Kubernetes \u0432 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u0435\u043d\u0435: Blue\/Green deployment, \u0430\u0432\u0442\u043e\u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044f \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f. \u0427\u0430\u0441\u0442\u044c 2 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"Kubernetes \u2014 \u044d\u0442\u043e \u043e\u0442\u043b\u0438\u0447\u043d\u044b\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 Docker \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0441\u0440\u0435\u0434\u0435. \u041e\u0434\u043d\u0430\u043a\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0437\u0430\u0434\u0430\u0447\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 Kubernetes \u0440\u0435\u0448\u0438\u0442\u044c \u043d\u0435 \u0432 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/devoxx-uk-kubernetes-v-prodakshene-blue-green-deployment-avtomasshtabirovanie-i-avtomatizacziya-razvertyvaniya-chast-2\" \/>\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=\"2020-06-03T05:42:26+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-06-03T05:42:26+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\udd47DEVOXX UK. Kubernetes a gyakorlatban: Blue\/Green telep\u00edt\u00e9s, automatikus sk\u00e1l\u00e1z\u00e1s \u00e9s automatikus telep\u00edt\u00e9s. 2. r\u00e9sz | ProHoster","description":"A Kubernetes egy kit\u0171n\u0151 eszk\u00f6z a Docker kont\u00e9nerek futtat\u00e1s\u00e1ra klaszterezett, termel\u00e9si k\u00f6rnyezetben. Azonban vannak feladatok, amelyeket a Kubernetes nem k\u00e9pes megoldani.","canonical_url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/devoxx-uk-kubernetes-v-prodakshene-blue-green-deployment-avtomasshtabirovanie-i-avtomatizacziya-razvertyvaniya-chast-2","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\udd47DEVOXX UK. Kubernetes \u0432 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u0435\u043d\u0435: Blue\/Green deployment, \u0430\u0432\u0442\u043e\u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044f \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f. \u0427\u0430\u0441\u0442\u044c 2 | ProHoster","og:description":"Kubernetes \u2014 \u044d\u0442\u043e \u043e\u0442\u043b\u0438\u0447\u043d\u044b\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 Docker \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0441\u0440\u0435\u0434\u0435. \u041e\u0434\u043d\u0430\u043a\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0437\u0430\u0434\u0430\u0447\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 Kubernetes \u0440\u0435\u0448\u0438\u0442\u044c \u043d\u0435 \u0432 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438.","og:url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/devoxx-uk-kubernetes-v-prodakshene-blue-green-deployment-avtomasshtabirovanie-i-avtomatizacziya-razvertyvaniya-chast-2","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":"2020-06-03T05:42:26+00:00","article:modified_time":"2020-06-03T05:42:26+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"83787","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":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 15:11:01","updated":"2022-09-28 11:45:41","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\/83787","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=83787"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/83787\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media\/83788"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media?parent=83787"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/categories?post=83787"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/tags?post=83787"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}