{"id":82244,"date":"2020-05-20T13:42:45","date_gmt":"2020-05-20T11:42:45","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-sozdanie-nebolshih-kontejnerov"},"modified":"2020-05-20T13:42:45","modified_gmt":"2020-05-20T11:42:45","slug":"luchshie-praktiki-kubernetes-sozdanie-nebolshih-kontejnerov","status":"publish","type":"post","link":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-sozdanie-nebolshih-kontejnerov","title":{"rendered":"A Kubernetes legjobb gyakorlatai. Kis kont\u00e9nerek l\u00e9trehoz\u00e1sa","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"A Kubernetes legjobb gyakorlatai. Kis kont\u00e9nerek l\u00e9trehoz\u00e1sa\" src=\"\/wp-content\/uploads\/2020\/05\/21d8807ed791f0b9ff81494cf1a373c9.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAz els\u0151 l\u00e9p\u00e9s a Kubernetes telep\u00edt\u00e9s\u00e9ben az alkalmaz\u00e1sod kont\u00e9nerbe helyez\u00e9se. Ebben a sorozatban azt fogjuk megvizsg\u00e1lni, hogyan lehet l\u00e9trehozni egy kis \u00e9s biztons\u00e1gos kont\u00e9ner k\u00e9pet.<br \/>\nA Dockernek k\u00f6sz\u00f6nhet\u0151en a kont\u00e9ner k\u00e9pek l\u00e9trehoz\u00e1sa m\u00e9g soha nem volt ilyen egyszer\u0171. Add meg az alapk\u00e9pet, tedd hozz\u00e1 a m\u00f3dos\u00edt\u00e1saidat, \u00e9s hozz l\u00e9tre egy kont\u00e9nert.<\/p>\n<p><img decoding=\"async\" alt=\"A Kubernetes legjobb gyakorlatai. Kis kont\u00e9nerek l\u00e9trehoz\u00e1sa\" src=\"\/wp-content\/uploads\/2020\/05\/f144351cc82d46cf3f4a518c6e11faa3.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nB\u00e1r ez a m\u00f3dszer kiv\u00e1l\u00f3an alkalmas a kezd\u00e9shez, az alap\u00e9rtelmezett alapk\u00e9pek haszn\u00e1lata biztons\u00e1gi szempontb\u00f3l kock\u00e1zatos nagy k\u00e9pek eset\u00e9n, amelyek tele vannak sebezhet\u0151s\u00e9gekkel.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Ezenk\u00edv\u00fcl a Docker legt\u00f6bb k\u00e9pe a Debian vagy az Ubuntu alapk\u00e9pet haszn\u00e1lja, \u00e9s b\u00e1r ez remek kompatibilit\u00e1st \u00e9s k\u00f6nny\u0171 adapt\u00e1ci\u00f3t biztos\u00edt (a Docker f\u00e1jl mind\u00f6ssze k\u00e9t sor k\u00f3dot ig\u00e9nyel), az alapk\u00e9pek t\u00f6bb sz\u00e1z megab\u00e1jt plusz terhet adhatnak a kont\u00e9nerhez. P\u00e9ld\u00e1ul egy egyszer\u0171 node.js Go alkalmaz\u00e1s \"hello-world\" k\u00f6r\u00fclbel\u00fcl 700 megab\u00e1jtot foglal, mik\u00f6zben a saj\u00e1t alkalmaz\u00e1sod m\u00e9rete mind\u00f6ssze n\u00e9h\u00e1ny megab\u00e1jt.<\/p>\n<p><img decoding=\"async\" alt=\"A Kubernetes legjobb gyakorlatai. Kis kont\u00e9nerek l\u00e9trehoz\u00e1sa\" src=\"\/wp-content\/uploads\/2020\/05\/8093421f0f0f61b9daedf8e9530bbd3e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEz\u00e9rt az \u00f6sszes plusz teher f\u00f6l\u00f6sleges pazarl\u00e1s a digit\u00e1lis t\u00e9rben, \u00e9s remek rejtekhely a sebezhet\u0151s\u00e9gek \u00e9s biztons\u00e1gi hib\u00e1k sz\u00e1m\u00e1ra. Ez\u00e9rt n\u00e9zz\u00fck meg a kont\u00e9ner k\u00e9p\u00e9nek m\u00e9ret\u00e9nek cs\u00f6kkent\u00e9s\u00e9re szolg\u00e1l\u00f3 k\u00e9t m\u00f3dszert. <\/p>\n<p>Az els\u0151 a kis m\u00e9ret\u0171 alapk\u00e9pek haszn\u00e1lata, a m\u00e1sodik a Builder Pattern tervez\u00e9si minta alkalmaz\u00e1sa. A kisebb alapk\u00e9pek haszn\u00e1lata val\u00f3sz\u00edn\u0171leg a legk\u00f6nnyebb m\u00f3dja a kont\u00e9nered m\u00e9ret\u00e9nek cs\u00f6kkent\u00e9s\u00e9re. Val\u00f3sz\u00edn\u0171, hogy az \u00e1ltalad haszn\u00e1lt nyelv vagy technol\u00f3giai stack egy eredeti alkalmaz\u00e1s k\u00e9pet biztos\u00edt, amely l\u00e9nyegesen kisebb m\u00e9ret\u0171, mint az alap\u00e9rtelmezett k\u00e9p. N\u00e9zz\u00fck meg a node.js kont\u00e9ner\u00fcnket. <\/p>\n<p><img decoding=\"async\" alt=\"A Kubernetes legjobb gyakorlatai. Kis kont\u00e9nerek l\u00e9trehoz\u00e1sa\" src=\"\/wp-content\/uploads\/2020\/05\/df3f744a565465b56adcec6a1c32e501.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAlap\u00e9rtelmez\u00e9s szerint a Docker node:8 alapk\u00e9pe 670 MB, m\u00edg a node:8-alpine m\u00e9rete mind\u00f6ssze 65 MB, teh\u00e1t 10-szer kisebb. A kisebb Alpine alapk\u00e9pet haszn\u00e1lva jelent\u0151sen cs\u00f6kkentheti a kont\u00e9ner\u00e9nek m\u00e9ret\u00e9t. Az Alpine egy kicsi \u00e9s k\u00f6nny\u0171 Linux disztrib\u00faci\u00f3, amely nagyon n\u00e9pszer\u0171 a Docker felhaszn\u00e1l\u00f3k k\u00f6r\u00e9ben, mert kompatibilis sz\u00e1mos alkalmaz\u00e1ssal, mik\u00f6zben meg\u0151rzi a kont\u00e9nerek kis m\u00e9ret\u00e9t. A hivatalos Docker \u201enode\u201d k\u00e9phez k\u00e9pest a \u201enode:alpine\u201d sz\u00e1mos seg\u00e9dprogramot \u00e9s f\u00e1jlt elt\u00e1vol\u00edt, csak azokat hagyva meg, amelyek elegend\u0151ek az alkalmaz\u00e1s\u00e1nak futtat\u00e1s\u00e1hoz.<\/p>\n<p>A kisebb alapk\u00e9p haszn\u00e1lat\u00e1hoz friss\u00edtse a Dockerfile-t, hogy elinduljon az \u00faj alapk\u00e9ppel:<\/p>\n<p><img decoding=\"async\" alt=\"A Kubernetes legjobb gyakorlatai. Kis kont\u00e9nerek l\u00e9trehoz\u00e1sa\" src=\"\/wp-content\/uploads\/2020\/05\/55a3b8e403bd34896018f92a81a3f251.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMost, azzal, hogy elt\u00e9r\u00fcnk a r\u00e9gi onbuild k\u00e9pt\u0151l, sz\u00fcks\u00e9ges a k\u00f3dot a kont\u00e9nerbe m\u00e1solni \u00e9s telep\u00edteni a sz\u00fcks\u00e9ges f\u00fcgg\u0151s\u00e9geket. Az \u00faj Dockerfile-ban a kont\u00e9ner a node:alpine k\u00e9pb\u0151l indul, majd l\u00e9trehoz egy k\u00f6nyvt\u00e1rat a k\u00f3d sz\u00e1m\u00e1ra, telep\u00edti a f\u00fcgg\u0151s\u00e9geket az NPM csomagkezel\u0151 seg\u00edts\u00e9g\u00e9vel, v\u00e9g\u00fcl pedig elind\u00edtja a server.js-t.<\/p>\n<p><img decoding=\"async\" alt=\"A Kubernetes legjobb gyakorlatai. Kis kont\u00e9nerek l\u00e9trehoz\u00e1sa\" src=\"\/wp-content\/uploads\/2020\/05\/b41c36994fc18dc34fb970a38bc50c9a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEzzel a friss\u00edt\u00e9ssel 10-szer kisebb m\u00e9ret\u0171 kont\u00e9nert kapunk. Ha a programoz\u00e1si nyelve vagy stackje nem k\u00edn\u00e1l lehet\u0151s\u00e9get az alapk\u00e9p cs\u00f6kkent\u00e9s\u00e9re, haszn\u00e1lja az Alpine Linuxot. Ez teljes k\u00f6r\u0171 ir\u00e1ny\u00edt\u00e1st is biztos\u00edt a kont\u00e9ner tartalm\u00e1nak felett. A kis m\u00e9ret\u0171 alapk\u00e9pek haszn\u00e1lata nagyszer\u0171 m\u00f3dja a kis kont\u00e9nerek gyors l\u00e9trehoz\u00e1s\u00e1nak. De m\u00e9g nagyobb cs\u00f6kkent\u00e9s \u00e9rhet\u0151 el Builder Pattern alkalmaz\u00e1s\u00e1val.<\/p>\n<p><img decoding=\"async\" alt=\"A Kubernetes legjobb gyakorlatai. Kis kont\u00e9nerek l\u00e9trehoz\u00e1sa\" src=\"\/wp-content\/uploads\/2020\/05\/c9549f5879058d9734c174e8571b9069.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAz \u00e9rtelmezett nyelvekben a forr\u00e1sk\u00f3d el\u0151sz\u00f6r az interpreterhez ker\u00fcl, majd v\u00e9grehajt\u00e1sra ker\u00fcl. A ford\u00edtott nyelvekben a forr\u00e1sk\u00f3dot el\u0151sz\u00f6r leford\u00edtj\u00e1k g\u00e9pi k\u00f3dra. A ford\u00edt\u00e1s sor\u00e1n gyakran olyan eszk\u00f6z\u00f6ket haszn\u00e1lnak, amelyek tulajdonk\u00e9ppen nem sz\u00fcks\u00e9gesek a k\u00f3d futtat\u00e1s\u00e1hoz. Ez\u00e9rt ezeket az eszk\u00f6z\u00f6ket teljes m\u00e9rt\u00e9kben elt\u00e1vol\u00edthatja a v\u00e9gs\u0151 kont\u00e9nerb\u0151l. Erre a Builder Pattern haszn\u00e1lhat\u00f3.<\/p>\n<p><img decoding=\"async\" alt=\"A Kubernetes legjobb gyakorlatai. Kis kont\u00e9nerek l\u00e9trehoz\u00e1sa\" src=\"\/wp-content\/uploads\/2020\/05\/9af4d11134c54cbdbd2b020cdf270429.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nA k\u00f3d az els\u0151 kont\u00e9nerben j\u00f6n l\u00e9tre \u00e9s ford\u00edt\u00e1sra ker\u00fcl. Ezut\u00e1n a leford\u00edtott k\u00f3dot becsomagolj\u00e1k a v\u00e9gs\u0151 kont\u00e9nerbe an\u00e9lk\u00fcl, hogy a ford\u00edt\u00f3k \u00e9s a ford\u00edt\u00e1shoz sz\u00fcks\u00e9ges eszk\u00f6z\u00f6k jelen lenn\u00e9nek. N\u00e9zz\u00fck meg, hogyan n\u00e9z ki ez a folyamat a Go alkalmaz\u00e1ssal. El\u0151sz\u00f6r is \u00e1tt\u00e9r\u00fcnk az onbuild k\u00e9pr\u0151l az Alpine Linuxra.<\/p>\n<p><img decoding=\"async\" alt=\"A Kubernetes legjobb gyakorlatai. Kis kont\u00e9nerek l\u00e9trehoz\u00e1sa\" src=\"\/wp-content\/uploads\/2020\/05\/822b67eb28f94c50e7a40af1fe1bfea2.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAz \u00faj Docker f\u00e1jl a golang:alpine k\u00e9ppel kezd\u0151dik. Ezut\u00e1n l\u00e9trehoz egy k\u00f6nyvt\u00e1rat a k\u00f3d sz\u00e1m\u00e1ra, \u00e1tm\u00e1solja a forr\u00e1sk\u00f3dot, leford\u00edtja a forr\u00e1sk\u00f3dot, \u00e9s elind\u00edtja az alkalmaz\u00e1st. Ez a kont\u00e9ner jelent\u0151sen kisebb, mint az onbuild kont\u00e9ner, de m\u00e9g mindig tartalmazza a ford\u00edt\u00f3t \u00e9s m\u00e1s Go eszk\u00f6z\u00f6ket, amelyekre val\u00f3j\u00e1ban nincs sz\u00fcks\u00e9g\u00fcnk. Ez\u00e9rt csak kib\u0151v\u00edtj\u00fck a leford\u00edtott programot, \u00e9s elhelyezz\u00fck a saj\u00e1t kont\u00e9ner\u00fcnkbe.<\/p>\n<p><img decoding=\"async\" alt=\"A Kubernetes legjobb gyakorlatai. Kis kont\u00e9nerek l\u00e9trehoz\u00e1sa\" src=\"\/wp-content\/uploads\/2020\/05\/094ac74a24cd723f83ddc34bee64e884.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u00c9szrevehet valami furcs\u00e1t ebben a Docker f\u00e1jlban: k\u00e9t FROM sort tartalmaz. Az els\u0151, n\u00e9gy sorb\u00f3l \u00e1ll\u00f3 r\u00e9sz pontosan \u00fagy n\u00e9z ki, mint az el\u0151z\u0151 Docker f\u00e1jl, kiv\u00e9ve, hogy az AS kulcssz\u00f3t haszn\u00e1lja ennek a l\u00e9p\u00e9snek a nev\u00e9nek megad\u00e1s\u00e1hoz. A k\u00f6vetkez\u0151 szakaszban \u00faj FROM sor tal\u00e1lhat\u00f3, amely lehet\u0151v\u00e9 teszi egy \u00faj k\u00e9p ind\u00edt\u00e1s\u00e1t, ahol a golang:alpine helyett a Raw alpine k\u00e9p lesz az alapk\u00e9pk\u00e9nt haszn\u00e1lva.<\/p>\n<p>A Raw Alpine Linux nem tartalmaz telep\u00edtett SSL tan\u00fas\u00edtv\u00e1nyokat, ami a legt\u00f6bb HTTPS protokollon t\u00f6rt\u00e9n\u0151 API h\u00edv\u00e1s meghib\u00e1sod\u00e1s\u00e1t okozza, ez\u00e9rt telep\u00edts\u00fcnk n\u00e9h\u00e1ny gy\u00f6k\u00e9r CA tan\u00fas\u00edtv\u00e1nyt.<\/p>\n<p>Most j\u00f6n a leg\u00e9rdekesebb r\u00e9sz: a leford\u00edtott k\u00f3d \u00e1tm\u00e1sol\u00e1s\u00e1hoz az els\u0151 kont\u00e9nerb\u0151l a m\u00e1sodikba egyszer\u0171en haszn\u00e1lhatjuk a COPY parancsot, amely a m\u00e1sodik r\u00e9sz 5. sor\u00e1ban tal\u00e1lhat\u00f3. Ez csak egy alkalmaz\u00e1sf\u00e1jlt m\u00e1sol \u00e1t, an\u00e9lk\u00fcl hogy \u00e9rinten\u00e9 a Go seg\u00e9deszk\u00f6zeit. Az \u00faj, t\u00f6bbl\u00e9pcs\u0151s Docker f\u00e1jl mind\u00f6ssze 12 megabyte m\u00e9ret\u0171 kont\u00e9nerk\u00e9pet fog tartalmazni, m\u00edg az eredeti kont\u00e9ner k\u00e9p\u00e9nek m\u00e9rete 700 megabyte volt, ami hatalmas k\u00fcl\u00f6nbs\u00e9g!<br \/>\n\u00cdgy teh\u00e1t a kis alapk\u00e9pek haszn\u00e1lata \u00e9s a Builder Pattern kiv\u00e1l\u00f3 m\u00f3dja a sokkal kisebb m\u00e9ret\u0171 kont\u00e9nerek l\u00e9trehoz\u00e1s\u00e1nak an\u00e9lk\u00fcl, hogy nagy munka lenne vele.<br \/>\nLehets\u00e9ges, hogy az alkalmaz\u00e1s stackj\u00e9t\u0151l f\u00fcgg\u0151en tov\u00e1bbi m\u00f3dok is l\u00e9teznek a k\u00e9p \u00e9s a kont\u00e9ner m\u00e9ret\u00e9nek cs\u00f6kkent\u00e9s\u00e9re, de val\u00f3ban a kis kont\u00e9nerek rendelkeznek m\u00e9rhet\u0151 el\u0151ny\u00f6kkel? N\u00e9zz\u00fck meg a k\u00e9t szempontot, ahol a kis kont\u00e9nerek rendk\u00edv\u00fcl hat\u00e9konyak \u2013 ezek a teljes\u00edtm\u00e9ny \u00e9s a biztons\u00e1g.<\/p>\n<p>A teljes\u00edtm\u00e9ny n\u00f6veked\u00e9s\u00e9nek \u00e9rt\u00e9kel\u00e9s\u00e9hez n\u00e9zz\u00fck meg a kont\u00e9ner l\u00e9trehoz\u00e1s\u00e1nak, a regiszterbe val\u00f3 felt\u00f6lt\u00e9s\u00e9nek (push) \u00e9s az onnan val\u00f3 let\u00f6lt\u00e9s\u00e9nek (pull) id\u0151tartam\u00e1t. L\u00e1thatja, hogy a kisebb m\u00e9ret\u0171 kont\u00e9ner egy\u00e9rtelm\u0171 el\u0151nnyel b\u00edr a nagyobb m\u00e9ret\u0171 k\u00f6rnyezettel szemben.<\/p>\n<p><img decoding=\"async\" alt=\"A Kubernetes legjobb gyakorlatai. Kis kont\u00e9nerek l\u00e9trehoz\u00e1sa\" src=\"\/wp-content\/uploads\/2020\/05\/f48096cf875dbb34cb473f6296a2b601.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nA Docker cache-li a r\u00e9tegeket, \u00edgy a k\u00e9s\u0151bbi buildel\u00e9sek nagyon gyorsan v\u00e9gezhet\u0151k el. Sok CI rendszerben, amelyet a kont\u00e9nerek buildel\u00e9s\u00e9re \u00e9s tesztel\u00e9s\u00e9re haszn\u00e1lnak, a r\u00e9tegek nem cached-nek, ez\u00e9rt itt jelent\u0151s id\u0151megtakar\u00edt\u00e1s \u00e9rhet\u0151 el. A nagy m\u00e9ret\u0171 kont\u00e9ner \u00e9p\u00edt\u00e9si ideje, a g\u00e9pe teljes\u00edtm\u00e9ny\u00e9t\u0151l f\u00fcgg\u0151en, 34 \u00e9s 54 m\u00e1sodperc k\u00f6z\u00f6tt van, m\u00edg a Builder Pattern haszn\u00e1lat\u00e1val cs\u00f6kkentett kont\u00e9ner eset\u00e9n ez 23 \u00e9s 28 m\u00e1sodperc k\u00f6z\u00f6tt mozog. Az ilyen t\u00edpus\u00fa m\u0171veletekn\u00e9l a teljes\u00edtm\u00e9nyn\u00f6veked\u00e9s 40-50% k\u00f6z\u00f6tt mozog. Sz\u00f3val gondolja \u00e1t, h\u00e1nyszor \u00e9p\u00edti \u00e9s teszteli a k\u00f3dj\u00e1t.<\/p>\n<p>Miut\u00e1n a kont\u00e9ner elk\u00e9sz\u00fclt, sz\u00fcks\u00e9ge van a kont\u00e9ner k\u00e9p\u00e9nek (push container image) regiszterbe val\u00f3 felt\u00f6lt\u00e9s\u00e9re, hogy azt\u00e1n felhaszn\u00e1lhassa a Kubernetes klaszter\u00e9ben. Javaslom a Google kont\u00e9ner regiszter haszn\u00e1lat\u00e1t.<\/p>\n<p><img decoding=\"async\" alt=\"A Kubernetes legjobb gyakorlatai. Kis kont\u00e9nerek l\u00e9trehoz\u00e1sa\" src=\"\/wp-content\/uploads\/2020\/05\/4c5426248c1e1ec6b0a36579db56c725.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nA Google Container Registry (GCR) haszn\u00e1lat\u00e1val csak a \"nyers\" t\u00e1rol\u00f3\u00e9rt \u00e9s a h\u00e1l\u00f3zat\u00e9rt fizet, ez\u00e9rt a kont\u00e9nerek kezel\u00e9s\u00e9re nincs k\u00fcl\u00f6n d\u00edj. Ez diszkr\u00e9t, biztons\u00e1gos \u00e9s nagyon gyors. A GCR sz\u00e1mos tr\u00fckk\u00f6t alkalmaz a pull m\u0171velet felgyors\u00edt\u00e1s\u00e1ra. Mint l\u00e1that\u00f3, a Docker Container Image k\u00e9p\u00e9nek felt\u00f6lt\u00e9se go:onbuild haszn\u00e1lat\u00e1val a sz\u00e1m\u00edt\u00f3g\u00e9p teljes\u00edtm\u00e9ny\u00e9t\u0151l f\u00fcgg\u0151en 15-48 m\u00e1sodpercet vesz ig\u00e9nybe, m\u00edg a kisebb m\u00e9ret\u0171 kont\u00e9ner eset\u00e9n ez 14-16 m\u00e1sodperc k\u00f6z\u00f6tt mozog, \u00e9s a gyeng\u00e9bb teljes\u00edtm\u00e9ny\u0171 g\u00e9pek eset\u00e9n a sebess\u00e9gbeli el\u0151ny ak\u00e1r h\u00e1romszoros is lehet. Nagyobb g\u00e9pek eset\u00e9n az id\u0151 nagyj\u00e1b\u00f3l azonos, mivel a GCR glob\u00e1lis cache-t haszn\u00e1l a k\u00f6z\u00f6s k\u00e9pt\u00e1rhoz, \u00edgy val\u00f3j\u00e1ban egy\u00e1ltal\u00e1n nem kell azokat let\u00f6lteni. Alacsony teljes\u00edtm\u00e9ny\u0171 sz\u00e1m\u00edt\u00f3g\u00e9pekn\u00e9l a CPU a sz\u0171k keresztmetszet, ez\u00e9rt itt a kisebb kont\u00e9nerek haszn\u00e1lat\u00e1nak el\u0151nye sokkal \u00e9rezhet\u0151bb.<\/p>\n<p>Ha a GCR-t haszn\u00e1lja, mindenk\u00e9ppen javaslom a Google Container Builder (GCB) alkalmaz\u00e1s\u00e1t a build rendszer\u00e9nek r\u00e9szek\u00e9nt.<\/p>\n<p><img decoding=\"async\" alt=\"A Kubernetes legjobb gyakorlatai. Kis kont\u00e9nerek l\u00e9trehoz\u00e1sa\" src=\"\/wp-content\/uploads\/2020\/05\/cf97f8636dff16d5663225547bfb0701.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAhogy l\u00e1tja, a haszn\u00e1lata sokkal jobb eredm\u00e9nyeket \u00e9r el a Build+Push m\u0171velet id\u0151tartam\u00e1nak cs\u00f6kkent\u00e9s\u00e9ben, mint egy teljes\u00edtm\u00e9nyorient\u00e1lt g\u00e9p eset\u00e9ben \u2013 ebben az esetben a kont\u00e9nerek \u00e9p\u00edt\u00e9si \u00e9s k\u00fcld\u00e9si folyamata majdnem k\u00e9tszer gyorsabb\u00e1 v\u00e1lik. Ezenk\u00edv\u00fcl naponta 120 perc ingyenes \u00e9p\u00edt\u00e9st kap, ami a legt\u00f6bb esetben kiel\u00e9g\u00edti a kont\u00e9nerek l\u00e9trehoz\u00e1s\u00e1nak sz\u00fcks\u00e9gleteit. <\/p>\n<p>A k\u00f6vetkez\u0151 a legfontosabb teljes\u00edtm\u00e9nym\u00e9rt\u00e9k \u2013 a kont\u00e9nerek let\u00f6lt\u00e9s\u00e9nek, vagy pillanatnyilag t\u00f6rt\u00e9n\u0151 kivon\u00e1s\u00e1nak sebess\u00e9ge. \u00c9s ha nem k\u00fcl\u00f6n\u00f6sebben \u00e9rdekli a push m\u0171velet id\u0151tartama, a pull folyamat id\u0151tartama komolyan befoly\u00e1solja a rendszer teljes\u00edtm\u00e9ny\u00e9t. Tegy\u00fck fel, hogy van egy h\u00e1romcsom\u00f3pontos klasztere, \u00e9s az egyik csom\u00f3pont meghib\u00e1sodik. Ha p\u00e9ld\u00e1ul a Google Kubernetes Engine-t haszn\u00e1lja, automatikusan egy \u00faj, m\u0171k\u00f6d\u0151 csom\u00f3pontot \u00e1ll\u00edt be a nem m\u0171k\u00f6d\u0151 helyett. Azonban ez az \u00faj csom\u00f3pont teljesen \u00fcres lesz, \u00e9s az \u00f6sszes kont\u00e9nert \u00e1thelyeznie kell hozz\u00e1, hogy m\u0171k\u00f6dni kezdjen. Ha a pull m\u0171velet el\u00e9g hossz\u00fa ideig tart, akkor a klasztere az eg\u00e9sz id\u0151 alatt cs\u00f6kkentett teljes\u00edtm\u00e9nnyel dolgozik.<\/p>\n<p>Sz\u00e1mos olyan eset van, amikor ilyesmi el\u0151fordulhat: \u00faj csom\u00f3pont hozz\u00e1ad\u00e1sa a klaszterhez, a csom\u00f3pontok friss\u00edt\u00e9se vagy ak\u00e1r \u00faj kont\u00e9nerre v\u00e1lt\u00e1s a telep\u00edt\u00e9shez. \u00cdgy a pull kivon\u00e1si id\u0151 minimaliz\u00e1l\u00e1sa kulcsfontoss\u00e1g\u00fa t\u00e9nyez\u0151v\u00e9 v\u00e1lik. Vitathatatlan, hogy egy kicsi kont\u00e9ner let\u00f6lt\u00e9se sokkal gyorsabb, mint egy nagy\u00e9. Ha t\u00f6bb kont\u00e9nert haszn\u00e1l a Kubernetes klaszterben, az id\u0151megtakar\u00edt\u00e1s nagyon jelent\u0151s lehet.<\/p>\n<p><img decoding=\"async\" alt=\"A Kubernetes legjobb gyakorlatai. Kis kont\u00e9nerek l\u00e9trehoz\u00e1sa\" src=\"\/wp-content\/uploads\/2020\/05\/fb0dacb37e9732fe2954323ee171a723.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nN\u00e9zze meg a bemutatott \u00f6sszehasonl\u00edt\u00e1st: a pull m\u0171velet kisebb kont\u00e9nerek haszn\u00e1latakor 4-9-szer kevesebb id\u0151t vesz ig\u00e9nybe a g\u00e9p teljes\u00edtm\u00e9ny\u00e9t\u0151l f\u00fcgg\u0151en, mint ugyanaz a m\u0171velet a go:onbuild haszn\u00e1lata mellett. A kis m\u00e9ret\u0171 k\u00f6z\u00f6s alapkont\u00e9nerek haszn\u00e1lata jelent\u0151sen felgyors\u00edtja az \u00faj Kubernetes csom\u00f3pontok telep\u00edt\u00e9s\u00e9nek \u00e9s internetre kapcsol\u00f3d\u00e1s\u00e1nak idej\u00e9t \u00e9s sebess\u00e9g\u00e9t.<\/p>\n<p>N\u00e9zz\u00fck meg a biztons\u00e1g k\u00e9rd\u00e9s\u00e9t. Azt tartj\u00e1k, hogy a kisebb m\u00e9ret\u0171 t\u00e1rol\u00f3k sokkal biztons\u00e1gosabbak, mint a nagyok, mivel kisebb a t\u00e1mad\u00e1si fel\u00fclet\u00fck. Val\u00f3ban \u00edgy van? A Google Container Registry egyik leghasznosabb funkci\u00f3ja, hogy automatikusan \u00e1tvizsg\u00e1lja a t\u00e1rol\u00f3kat a sebezhet\u0151s\u00e9gek ut\u00e1n. N\u00e9h\u00e1ny h\u00f3nappal ezel\u0151tt l\u00e9trehoztam mind onbuild, mind t\u00f6bbl\u00e9pcs\u0151s t\u00e1rol\u00f3kat, \u00edgy n\u00e9zz\u00fck meg, van-e ott valamilyen sebezhet\u0151s\u00e9g. <\/p>\n<p><img decoding=\"async\" alt=\"A Kubernetes legjobb gyakorlatai. Kis kont\u00e9nerek l\u00e9trehoz\u00e1sa\" src=\"\/wp-content\/uploads\/2020\/05\/0ed3cd7bb8c8f5164e1115e9f1be39d6.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAz eredm\u00e9ny leny\u0171g\u00f6z\u0151: a kicsi t\u00e1rol\u00f3ban mind\u00f6ssze 3 k\u00f6zepes sebezhet\u0151s\u00e9get tal\u00e1ltak, m\u00edg a nagyban 16 kritikus \u00e9s 376 egy\u00e9b sebezhet\u0151s\u00e9g volt. Ha megn\u00e9zz\u00fck a nagy t\u00e1rol\u00f3 tartalm\u00e1t, l\u00e1that\u00f3, hogy a legt\u00f6bb biztons\u00e1gi probl\u00e9ma nem kapcsol\u00f3dik a mi alkalmaz\u00e1sunkhoz, hanem olyan programokhoz, amelyeket egy\u00e1ltal\u00e1n nem haszn\u00e1lunk. Ez\u00e9rt amikor az emberek a nagy t\u00e1mad\u00e1si fel\u00fcletr\u0151l besz\u00e9lnek, \u00e9ppen erre gondolnak. <\/p>\n<p><img decoding=\"async\" alt=\"A Kubernetes legjobb gyakorlatai. Kis kont\u00e9nerek l\u00e9trehoz\u00e1sa\" src=\"\/wp-content\/uploads\/2020\/05\/4a782f4a50153adc44042e9234357c02.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nA k\u00f6vetkeztet\u00e9s egy\u00e9rtelm\u0171: hozz l\u00e9tre kis t\u00e1rol\u00f3kat, mert ezek val\u00f3di el\u0151ny\u00f6ket biztos\u00edtanak a rendszered teljes\u00edtm\u00e9ny\u00e9ben \u00e9s biztons\u00e1g\u00e1ban. <\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502320\/\">A Kubernetes legjobb gyakorlatai. A Kubernetes szervez\u00e9se n\u00e9vsorral<\/a><\/noindex><\/p>\n<p><center><div class=\"youtube-placeholder\" data-id=\"wGz_cbtCiEA\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/wGz_cbtCiEA\/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\/502052\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0435\u0440\u0432\u044b\u0439 \u0448\u0430\u0433 \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u0432 Kubernetes \u2013 \u044d\u0442\u043e \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0432\u0430\u0448\u0435\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0435. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0435\u0440\u0438\u0438 \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043e\u0431\u0440\u0430\u0437 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430. \u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f Docker, \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043e\u0431\u0440\u0430\u0437\u043e\u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u0435\u0449\u0435 \u043d\u0435 \u0431\u044b\u043b\u043e \u043d\u0430\u0441\u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u043e\u0441\u0442\u044b\u043c. \u0423\u043a\u0430\u0436\u0438\u0442\u0435 \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u043e\u0431\u0440\u0430\u0437, \u0434\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u0441\u0432\u043e\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0438 \u0441\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440. \u041d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u0434\u0430\u043d\u043d\u044b\u0439 \u043f\u0440\u0438\u0435\u043c \u043e\u0442\u043b\u0438\u0447\u043d\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u0434\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":82245,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-82244","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=\"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\/luchshie-praktiki-kubernetes-sozdanie-nebolshih-kontejnerov\" \/>\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\u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes. \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 | ProHoster\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-sozdanie-nebolshih-kontejnerov\" \/>\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-05-20T11:42:45+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-05-20T11:42:45+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\udd47Kubernetes legjobb gyakorlatok. Kis t\u00e1rol\u00f3k k\u00e9sz\u00edt\u00e9se | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-sozdanie-nebolshih-kontejnerov","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\u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes. \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 | ProHoster","og:url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-sozdanie-nebolshih-kontejnerov","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-05-20T11:42:45+00:00","article:modified_time":"2020-05-20T11:42:45+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"82244","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:41:28","updated":"2022-09-28 11:52:01","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\/82244","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=82244"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/82244\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media\/82245"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media?parent=82244"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/categories?post=82244"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/tags?post=82244"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}