{"id":39016,"date":"2019-10-31T22:27:21","date_gmt":"2019-10-31T19:27:21","guid":{"rendered":"https:\/\/prohoster.info\/blog\/7-luchshih-praktik-po-ekspluatatsii-kontejnerov-po-versii-google\/"},"modified":"2019-10-31T22:27:21","modified_gmt":"2019-10-31T19:27:21","slug":"7-luchshih-praktik-po-ekspluatatsii-kontejnerov-po-versii-google","status":"publish","type":"post","link":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/7-luchshih-praktik-po-ekspluatatsii-kontejnerov-po-versii-google","title":{"rendered":"7 legjobb kont\u00e9nerhaszn\u00e1lati gyakorlat a Google szerint","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><i><b>Megjegyz\u00e9s ford\u00edt\u00e1s.<\/b>: Az eredeti cikk szerz\u0151je Th\u00e9o Chamley, a Google felh\u0151architektusa. E blogbejegyz\u00e9sben a Google Cloud sz\u00e1m\u00e1ra r\u00f6vid \u00f6sszefoglal\u00f3t mutat be c\u00e9g\u00e9nek r\u00e9szletesebb \u00fatmutat\u00f3j\u00e1b\u00f3l, amelyet \u201e<noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/solutions\/best-practices-for-operating-containers\">A kont\u00e9nerek \u00fczemeltet\u00e9s\u00e9nek legjobb gyakorlatai<\/a><\/noindex>\u201d. Ebben a Google szak\u00e9rt\u0151i \u00f6sszegy\u0171jt\u00f6tt\u00e9k a kont\u00e9nerek \u00fczemeltet\u00e9s\u00e9nek legjobb gyakorlatait a Google Kubernetes Engine haszn\u00e1lat\u00e1nak kontextus\u00e1ban, \u00e9s ezeken t\u00fal is, sz\u00e9les t\u00e9ma spektrumot fel\u00f6lelve: a biztons\u00e1gt\u00f3l a napl\u00f3z\u00e1sig \u00e9s monitoroz\u00e1sig. Teh\u00e1t melyek a legfontosabb gyakorlatok a Google szerint a kont\u00e9nerekkel val\u00f3 munka sor\u00e1n?<\/i><\/p>\n<p><img decoding=\"async\" alt=\"7 legjobb kont\u00e9nerhaszn\u00e1lati gyakorlat a Google szerint\" src=\"\/wp-content\/uploads\/2019\/10\/43aaa13a0fae1564ffc7f0a1fe0020b7.jpg\" style=\"display:block;margin: 0 auto;\" \/><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/kubernetes-engine\/\">Kubernetes Engine<\/a><\/noindex> <i>(A Kubernetes alap\u00fa szolg\u00e1ltat\u00e1s a kont\u00e9neriz\u00e1lt alkalmaz\u00e1sok futtat\u00e1s\u00e1ra a Google Cloudban \u2014 <b>megjegyz\u00e9s<\/b>)<\/i> \u2014 az egyik legjobb m\u00f3dja a sk\u00e1l\u00e1z\u00f3d\u00e1st ig\u00e9nyl\u0151 munkaterhel\u00e9sek futtat\u00e1s\u00e1nak. <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/kubernetes\/\">Kubernetes<\/a><\/noindex> Biztos\u00edtja a legt\u00f6bb alkalmaz\u00e1s z\u00f6kken\u0151mentes m\u0171k\u00f6d\u00e9s\u00e9t, ha kont\u00e9neriz\u00e1ltak. De ha azt szeretn\u00e9d, hogy az alkalmaz\u00e1s k\u00f6nnyen kezelhet\u0151 legyen, \u00e9s szeretn\u00e9d kihaszn\u00e1lni a Kubernetes \u00f6sszes el\u0151ny\u00e9t, akkor a legjobb gyakorlatokat kell k\u00f6vetned. Ezek megk\u00f6nny\u00edtik az alkalmaz\u00e1s \u00fczemeltet\u00e9s\u00e9t, monitoroz\u00e1s\u00e1t \u00e9s hibakeres\u00e9s\u00e9t, valamint n\u00f6velik a biztons\u00e1got.<\/p>\n<p>Ebben a cikkben v\u00e9gigmegy\u00fcnk azon, amit tudni \u00e9s tenni \u00e9rdemes a kont\u00e9nerek hat\u00e9kony m\u0171k\u00f6d\u00e9s\u00e9hez a Kubernetesben. Azoknak, akik szeretn\u00e9k r\u00e9szletesebben tanulm\u00e1nyozni, \u00e9rdemes elolvasniuk a <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/solutions\/best-practices-for-operating-containers\">A kont\u00e9nerek \u00fczemeltet\u00e9s\u00e9nek legjobb gyakorlatai<\/a><\/noindex>, \u00e9s figyelni\u00fck kor\u00e1bbi bejegyz\u00e9s\u00fcnkre <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/blog\/products\/gcp\/7-best-practices-for-building-containers\">a kont\u00e9ner-\u00e9p\u00edt\u00e9sr\u0151l.<\/a><\/noindex> 1. Haszn\u00e1lj\u00e1tok a kont\u00e9nerek nat\u00edv napl\u00f3z\u00e1si mechanizmusait<\/p>\n<h2>Ha az alkalmaz\u00e1s egy Kubernetes klaszterben fut, nem sz\u00fcks\u00e9ges sok a napl\u00f3ikhoz. A haszn\u00e1lt klaszterbe val\u00f3sz\u00edn\u0171leg m\u00e1r be van \u00e9p\u00edtve egy k\u00f6zpontos\u00edtott napl\u00f3z\u00e1si rendszer. Ha a Kubernetes Engine-t haszn\u00e1lod, ezt a<\/h2>\n<p>\nStackdriver Logging <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/logging\/\">fel\u00fcgyeli: Ha saj\u00e1t Kubernetes telep\u00edt\u00e9st haszn\u00e1lsz, \u00e9rdemes megvizsg\u00e1lni a ny\u00edlt forr\u00e1sk\u00f3d\u00fa megold\u00e1sunkat \u2014<\/a><\/noindex>. <i>(<b>Megjegyz\u00e9s ford\u00edt\u00e1s.<\/b>Ne bonyol\u00edtsd az \u00e9leted, \u00e9s haszn\u00e1ld a kont\u00e9nerek nat\u00edv napl\u00f3z\u00e1si mechanizmusait. \u00cdrj napl\u00f3kat az stdout-ba \u00e9s stderr-be \u2014 ezek automatikusan r\u00f6gz\u00edt\u00e9sre ker\u00fclnek, meg\u0151rz\u00e9sre \u00e9s indexel\u00e9sre. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/flant\/loghouse\">loghouse<\/a><\/noindex>.)<\/i> Ig\u00e9ny szerint a napl\u00f3kat a<\/p>\n<p>is \u00edrhatsz. Ez a megk\u00f6zel\u00edt\u00e9s lehet\u0151v\u00e9 teszi, hogy k\u00f6nnyen hozz\u00e1adj metainform\u00e1ci\u00f3kat. A Stackdriver Loggingban \u00edgy lehet\u0151s\u00e9g ny\u00edlik a napl\u00f3kban a metainform\u00e1ci\u00f3k alapj\u00e1n val\u00f3 keres\u00e9sre. <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/logging\/docs\/structured-logging\">JSON form\u00e1tumban vannak.<\/a><\/noindex>2. Gy\u0151z\u0151dj meg r\u00f3la, hogy a kont\u00e9nerek stateless \u00e9s immutable-k<\/p>\n<h2>2. Gy\u0151z\u0151dj\u00f6n meg r\u00f3la, hogy a tart\u00e1lyok stateless \u00e9s immutable \u00e1llapot\u00faak.<\/h2>\n<p>\nA Kubernetes cluster's containers must be stateless and immutable for proper functioning. When these conditions are met, Kubernetes will be able to perform its tasks by creating and destroying application entities whenever and wherever necessary.<\/p>\n<p><i>Stateless<\/i> means that any state (persistent data of any kind) is stored outside the container. For this, depending on need, various types of external storage may be utilized: <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/storage\/docs\">Cloud Storage<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/kubernetes-engine\/docs\/how-to\/stateful-apps\">Persistent Disks<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/memorystore\/docs\/redis\/\">Redis<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/sql\/docs\/\">Amikor bel\u00e9p\u00fcnk a Cloud SQL-be, \u00fajra v\u00e1lasztanunk kell:<\/a><\/noindex> or other managed databases. <i>(<b>Megjegyz\u00e9s ford\u00edt\u00e1s.<\/b>: You can read more about this in our article \u201c<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/326414\/\">Oper\u00e1torok a Kubernetes sz\u00e1m\u00e1ra: hogyan ind\u00edtsunk el stateful alkalmaz\u00e1sokat<\/a><\/noindex>\u00bb.)<\/i><\/p>\n<p><i>Immutable<\/i> means that the container will not be modified during its lifetime: no updates, patches, or changes to configurations. If you need to update the application code or apply a patch, create a new image and deploy it. It is recommended to externalize container configurations (listening port, execution environment options, etc.) into <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/configuration\/secret\/\">Secrets<\/a><\/noindex> \u00e9s <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tasks\/configure-pod-container\/configure-pod-configmap\/\">ConfigMap-ek<\/a><\/noindex>. They can be updated without the need to build a new container image. For easy pipeline creation for image building, you can use <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/cloud-build\/\">Cloud Build<\/a><\/noindex>. <i>(<b>Megjegyz\u00e9s ford\u00edt\u00e1s.<\/b>: We use the Open Source tool <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/flant\/dapp\">dapp<\/a><\/noindex>.)<\/i><\/p>\n<p><img decoding=\"async\" alt=\"7 legjobb kont\u00e9nerhaszn\u00e1lati gyakorlat a Google szerint\" src=\"\/wp-content\/uploads\/2019\/10\/f13a83d22e7b8d7c1e8ac6a63c35646c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>An example of updating a Deployment configuration in Kubernetes using ConfigMap, mounted in pods as a config.<\/i><\/p>\n<h2>3. Avoid privileged containers<\/h2>\n<p>\nMivel nem futtat alkalmaz\u00e1sokat root-k\u00e9nt a szerverein, igaz? Ha egy t\u00e1mad\u00f3 bejut az alkalmaz\u00e1sba, root jogokkal rendelkezik. Ugyanez vonatkozik arra is, hogy ne ind\u00edtsunk privil\u00e9giz\u00e1lt kont\u00e9nereket. Ha konfigur\u00e1ci\u00f3s v\u00e1ltoztat\u00e1sokra van sz\u00fcks\u00e9g a gazdag\u00e9pen, akkor \u00e9rdemes a kont\u00e9nernek konkr\u00e9t jogokat adni. <i>capabilities<\/i> using the option <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tasks\/configure-pod-container\/security-context\/#set-capabilities-for-a-container\"><code>a kont\u00e9nernek van egy param\u00e9tere<\/code><\/a><\/noindex> in Kubernetes. If you need to change <i>sysctls<\/i>, Kubernetes has <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tasks\/administer-cluster\/sysctl-cluster\/\">a specific annotation<\/a><\/noindex> for this. In general, try to maximize the use of <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/workloads\/pods\/init-containers\/\">init-<\/a><\/noindex> and sidecar containers for performing such privileged operations. They do not require availability for either internal or external traffic.<\/p>\n<p>If you administer a cluster, you can leverage <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/policy\/pod-security-policy\/#privileged\">Pod Biztons\u00e1gi Politika<\/a><\/noindex> for restrictions on the use of privileged containers.<\/p>\n<h2>4. Avoid running as root<\/h2>\n<p>\nA privil\u00e9giz\u00e1lt kont\u00e9nerekr\u0151l m\u00e1r besz\u00e9lt\u00fcnk, de m\u00e9g jobb lenne, ha ezen k\u00edv\u00fcl nem ind\u00edtana root-k\u00e9nt alkalmaz\u00e1sokat a kont\u00e9nerben sem. Ha egy t\u00e1mad\u00f3 t\u00e1voli, jogokkal rendelkez\u0151 sebezhet\u0151s\u00e9get tal\u00e1l az alkalmaz\u00e1sban, amely lehet\u0151v\u00e9 teszi a k\u00f3d v\u00e9grehajt\u00e1s\u00e1t, majd k\u00e9pes kiszabadulni a kont\u00e9nerb\u0151l egy m\u00e9g ismeretlen sebezhet\u0151s\u00e9gen kereszt\u00fcl, akkor root jogokat szerez a gazdag\u00e9pen.<\/p>\n<p>A legjobb m\u00f3dja ennek elker\u00fcl\u00e9s\u00e9re, hogy els\u0151dlegesen ne ind\u00edtsunk semmit root-k\u00e9nt. Ehhez haszn\u00e1lhatja a k\u00f6vetkez\u0151 utas\u00edt\u00e1st. <code>USER<\/code> be. <code>Dockerfile<\/code> vagy <code>runAsUser<\/code> a Kubernetes-ben. A klaszteradminisztr\u00e1tor szint\u00e9n be\u00e1ll\u00edthatja a k\u00f6telez\u0151 viselked\u00e9st a k\u00f6vetkez\u0151vel: <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/kubernetes-engine\/docs\/how-to\/pod-security-policies\">Pod Biztons\u00e1gi Politika<\/a><\/noindex>.<\/p>\n<h2>5. Tegye az alkalmaz\u00e1st k\u00f6nnyen monitorozhat\u00f3v\u00e1<\/h2>\n<p>\nA napl\u00f3z\u00e1shoz hasonl\u00f3an a monitoroz\u00e1s is elengedhetetlen r\u00e9sze az alkalmaz\u00e1s kezel\u00e9s\u00e9nek. A Kubernetes k\u00f6z\u00f6ss\u00e9g n\u00e9pszer\u0171 monitoroz\u00e1si megold\u00e1sa a <noindex><a rel=\"nofollow\" href=\"https:\/\/prometheus.io\/\">Prometheus<\/a><\/noindex> \u2014 egy rendszer, amely automatikusan felfedezi azokat a podokat \u00e9s szolg\u00e1ltat\u00e1sokat, amelyek monitoroz\u00e1sra szorulnak. <i>(<b>Megjegyz\u00e9s ford\u00edt\u00e1s.<\/b>: L\u00e1sd m\u00e9g r\u00e9szletes <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/412901\/\">jelent\u00e9s\u00fcnket<\/a><\/noindex> a Prometheus \u00e9s Kubernetes \u00e1ltali monitoroz\u00e1sr\u00f3l.)<\/i> <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/monitoring\/kubernetes-engine\/\">A Stackdriver<\/a><\/noindex> k\u00e9pes monitorozni a Kubernetes klasztereket, \u00e9s tartalmaz egy a Prometheus saj\u00e1t verzi\u00f3j\u00e1t az alkalmaz\u00e1sok monitoroz\u00e1s\u00e1ra.<\/p>\n<p><img decoding=\"async\" alt=\"7 legjobb kont\u00e9nerhaszn\u00e1lati gyakorlat a Google szerint\" src=\"\/wp-content\/uploads\/2019\/10\/642b9ccc4b7a789018a4aeeb62e7cae7.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>A Kubernetes monitoroz\u00e1si panel a Stackdriverben<\/i><\/p>\n<p>A Prometheus azt v\u00e1rja el, hogy az alkalmaz\u00e1s HTTP endpointon kereszt\u00fcl k\u00fcldje el a metrik\u00e1kat. Ehhez el\u00e9rhet\u0151k <noindex><a rel=\"nofollow\" href=\"https:\/\/prometheus.io\/docs\/instrumenting\/clientlibs\/\">Prometheus kliensk\u00f6nyvt\u00e1rak<\/a><\/noindex>. Ugyanezt a form\u00e1t haszn\u00e1lj\u00e1k m\u00e1s eszk\u00f6z\u00f6k, mint p\u00e9ld\u00e1ul <noindex><a rel=\"nofollow\" href=\"http:\/\/opencensus.io\/\">OpenCensus<\/a><\/noindex> \u00e9s <noindex><a rel=\"nofollow\" href=\"https:\/\/istio.io\/\">Istio<\/a><\/noindex>.<\/p>\n<h2>6. Tegye el\u00e9rhet\u0151v\u00e9 az alkalmaz\u00e1s eg\u00e9szs\u00e9gi \u00e1llapot\u00e1t<\/h2>\n<p>\nAz alkalmaz\u00e1s production k\u00f6rnyezetben t\u00f6rt\u00e9n\u0151 kezel\u00e9s\u00e9hez sz\u00fcks\u00e9ges, hogy k\u00e9pes legyen t\u00e1j\u00e9koztatni a rendszer eg\u00e9sz\u00e9t az \u00e1llapot\u00e1r\u00f3l. Futtatva van az alkalmaz\u00e1s? Rendben van? K\u00e9sz a forgalom fogad\u00e1s\u00e1ra? Hogyan teljes\u00edt? A probl\u00e9ma legelterjedtebb megold\u00e1sa az eg\u00e9szs\u00e9g\u00fcgyi ellen\u0151rz\u00e9sek megval\u00f3s\u00edt\u00e1sa <i>(health checks)<\/i>. A Kubernetesnek k\u00e9tf\u00e9le van: <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tasks\/configure-pod-container\/configure-liveness-readiness-probes\/\">liveness \u00e9s readiness probes<\/a><\/noindex>.<\/p>\n<p>A liveness proben\u00e1l <i>(\u00e9letk\u00e9pess\u00e9gi ellen\u0151rz\u00e9s)<\/i> az alkalmaz\u00e1snak HTTP endpointdal kell rendelkeznie, amely \u201e200 OK\u201d v\u00e1laszt ad, ha m\u0171k\u00f6dik \u00e9s alapvet\u0151 f\u00fcgg\u0151s\u00e9gei teljes\u00fclnek. A readiness proben\u00e1l <i>(k\u00e9szenl\u00e9ti ellen\u0151rz\u00e9s)<\/i> Az alkalmaz\u00e1snak egy m\u00e1sik HTTP v\u00e9gponttal kell rendelkeznie, amely \"200 OK\" v\u00e1laszt ad, ha az alkalmaz\u00e1s eg\u00e9szs\u00e9ges \u00e1llapotban van, a kezdem\u00e9nyez\u00e9si l\u00e9p\u00e9sek sikeresen v\u00e9grehajt\u00f3dtak, \u00e9s b\u00e1rmely \u00e9rv\u00e9nyes k\u00e9r\u00e9s nem eredm\u00e9nyez hib\u00e1t. A Kubernetes csak akkor ir\u00e1ny\u00edtja a forgalmat a kont\u00e9nerhez, ha az alkalmaz\u00e1s k\u00e9szen \u00e1ll ezeknek az ellen\u0151rz\u00e9seknek megfelel\u0151en. K\u00e9t v\u00e9gpont \u00f6sszekapcsolhat\u00f3, ha nincs k\u00fcl\u00f6nbs\u00e9g a t\u00fal\u00e9l\u00e9si (liveness) \u00e9s a k\u00e9szs\u00e9g (readiness) \u00e1llapotok k\u00f6z\u00f6tt.<\/p>\n<p>Tov\u00e1bbi r\u00e9szleteket olvashat Sandeep Dinesh, a Google fejleszt\u0151i k\u00e9pvisel\u0151je \u00e1ltal \u00edrt megfelel\u0151 cikkben: \u201e<noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/blog\/products\/gcp\/kubernetes-best-practices-setting-up-health-checks-with-readiness-and-liveness-probes\">Kubernetes legjobb gyakorlatok: Eg\u00e9szs\u00e9g\u00fcgyi ellen\u0151rz\u00e9sek be\u00e1ll\u00edt\u00e1sa k\u00e9szenl\u00e9t \u00e9s liveness pr\u00f3b\u00e1kkal<\/a><\/noindex>\u00bb.<\/p>\n<h2>7. Gondosan v\u00e1lassza ki a k\u00e9p verzi\u00f3j\u00e1t<\/h2>\n<p>\nA legt\u00f6bb nyilv\u00e1nos \u00e9s priv\u00e1t k\u00e9p egy, a <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/solutions\/best-practices-for-building-containers#properly_tag_your_images\">Best Practices for Building Containers<\/a><\/noindex>c\u00edm\u0171 cikkben le\u00edrt\u00e1khoz hasonl\u00f3 c\u00edmk\u00e9z\u00e9si rendszert haszn\u00e1l. <noindex><a rel=\"nofollow\" href=\"https:\/\/semver.org\/lang\/ru\/\">ha a k\u00e9p c\u00edmk\u00e9z\u00e9se k\u00f6zel \u00e1ll a<\/a><\/noindex>szemantikus verzi\u00f3z\u00e1s <code>latest<\/code> m\u00f3dszerhez, figyelembe kell venni a c\u00edmk\u00e9z\u00e9s saj\u00e1toss\u00e1gait. P\u00e9ld\u00e1ul a c\u00edmke<\/p>\n<p>gyakran mozoghat egy k\u00e9pr\u0151l a m\u00e1sikra - nem lehet r\u00e1 sz\u00e1m\u00edtani, ha el\u0151re l\u00e1that\u00f3 \u00e9s reproduk\u00e1lhat\u00f3 build-ekszre van sz\u00fcks\u00e9ge. <code>Haszn\u00e1lhatja a c\u00edmk\u00e9t<\/code> X.Y.Z <code>, (ezek szinte mindig v\u00e1ltozatlanok), azonban ebben az esetben nyomon kell k\u00f6vetnie az \u00f6sszes jav\u00edt\u00e1st \u00e9s friss\u00edt\u00e9st a k\u00e9pen. Ha a haszn\u00e1lt k\u00e9p rendelkezik a c\u00edmk\u00e9vel<\/code>X.Y<\/p>\n<h2>Fejleszt\u00e9si eszk\u00f6z\u00f6k, amelyek Kubernetesben futnak<\/h2>\n<p>\nOlvasson tov\u00e1bbi inform\u00e1ci\u00f3kat a blogunkban:<\/p>\n<ul>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/422949\/\">, ez egy j\u00f3 arany k\u00f6z\u00e9p\u00fat. Ha ezt v\u00e1lasztja, automatikusan megkapja a jav\u00edt\u00e1sokat, \u00e9s ugyanakkor egy stabil alkalmaz\u00e1sverzi\u00f3ra t\u00e1maszkodik.<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/353272\/\">7 elv a kont\u00e9neralap\u00fa alkalmaz\u00e1sok tervez\u00e9s\u00e9hez<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/417905\/\">11 m\u00f3dszer (nem) arra, hogy \u00e1ldozatt\u00e1 v\u00e1ljunk a Kubernetesben<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/331188\/\">Tapasztalataink a Kubernetes haszn\u00e1lat\u00e1r\u00f3l kisebb projektekben<\/a><\/noindex>\u00bb <i>\u00daj CNCF statisztik\u00e1k a kont\u00e9nerekr\u0151l, a felh\u0151 nat\u00edv megold\u00e1sokr\u00f3l \u00e9s Kubernetesr\u0151l<\/i>;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/412901\/\">Monitoroz\u00e1s \u00e9s Kubernetes<\/a><\/noindex>\u00bb <i>\u00daj CNCF statisztik\u00e1k a kont\u00e9nerekr\u0151l, a felh\u0151 nat\u00edv megold\u00e1sokr\u00f3l \u00e9s Kubernetesr\u0151l<\/i>;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/324274\/\">Docker k\u00e9pek gyors \u00e9s k\u00e9nyelmes \u00f6ssze\u00e1ll\u00edt\u00e1sa CI\/CD-hez a dapp seg\u00edts\u00e9g\u00e9vel<\/a><\/noindex>\u00bb <i>\u00daj CNCF statisztik\u00e1k a kont\u00e9nerekr\u0151l, a felh\u0151 nat\u00edv megold\u00e1sokr\u00f3l \u00e9s Kubernetesr\u0151l<\/i>;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/322686\/\">A Continuous Delivery gyakorlatai Dockerrel<\/a><\/noindex>\u00bb <i>\u00daj CNCF statisztik\u00e1k a kont\u00e9nerekr\u0151l, a felh\u0151 nat\u00edv megold\u00e1sokr\u00f3l \u00e9s Kubernetesr\u0151l<\/i>;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/347518\/\">A mikroszervizek \u0151r\u00fclet\u00e9nek hal\u00e1la 2018-ban<\/a><\/noindex>\u00bb.<\/li>\n<\/ul>\n<p>Forr\u00e1s: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/425085\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u043c. \u043f\u0435\u0440\u0435\u0432.: \u0410\u0432\u0442\u043e\u0440 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u2014 Th\u00e9o Chamley, \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 Google. \u0412 \u044d\u0442\u043e\u0439 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u0431\u043b\u043e\u0433\u0430 Google Cloud \u043e\u043d \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u043a\u0440\u0430\u0442\u043a\u0443\u044e \u0432\u044b\u0436\u0438\u043c\u043a\u0443 \u0438\u0437 \u0431\u043e\u043b\u0435\u0435 \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u0430 \u0435\u0433\u043e \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438, \u043d\u0430\u0437\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u00abBest Practices for Operating Containers\u00bb. \u0412 \u043d\u0451\u043c \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u044b Google \u0441\u043e\u0431\u0440\u0430\u043b\u0438 \u043b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 \u043f\u043e \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u0432 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f Google Kubernetes Engine \u0438 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e, \u0437\u0430\u0442\u0440\u043e\u043d\u0443\u0432 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":29273,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-39016","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=\"\u041f\u0440\u0438\u043c. \u043f\u0435\u0440\u0435\u0432.: \u0410\u0432\u0442\u043e\u0440 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u2014 Th\u00e9o Chamley, \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 Google.\" \/>\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\/7-luchshih-praktik-po-ekspluatatsii-kontejnerov-po-versii-google\" \/>\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\udd477 \u043b\u0443\u0447\u0448\u0438\u0445 \u043f\u0440\u0430\u043a\u0442\u0438\u043a \u043f\u043e \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u043f\u043e \u0432\u0435\u0440\u0441\u0438\u0438 Google | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u043c. \u043f\u0435\u0440\u0435\u0432.: \u0410\u0432\u0442\u043e\u0440 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u2014 Th\u00e9o Chamley, \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 Google.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/7-luchshih-praktik-po-ekspluatatsii-kontejnerov-po-versii-google\" \/>\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-31T19:27:21+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:27:21+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\udd47A Google szerint a 7 legjobb kont\u00e9neres \u00fczemeltet\u00e9si gyakorlat | ProHoster","description":"(\u00f6sszegz\u00e9s \u00e9s a prezent\u00e1ci\u00f3 vide\u00f3ja)","canonical_url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/7-luchshih-praktik-po-ekspluatatsii-kontejnerov-po-versii-google","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\udd477 \u043b\u0443\u0447\u0448\u0438\u0445 \u043f\u0440\u0430\u043a\u0442\u0438\u043a \u043f\u043e \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u043f\u043e \u0432\u0435\u0440\u0441\u0438\u0438 Google | ProHoster","og:description":"\u041f\u0440\u0438\u043c. \u043f\u0435\u0440\u0435\u0432.: \u0410\u0432\u0442\u043e\u0440 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u2014 Th\u00e9o Chamley, \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 Google.","og:url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/7-luchshih-praktik-po-ekspluatatsii-kontejnerov-po-versii-google","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-31T19:27:21+00:00","article:modified_time":"2019-10-31T19:27:21+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"39016","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-01-24 00:24:24","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 00:58:39","updated":"2026-01-24 00:24:24","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\/39016","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=39016"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/39016\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media\/29273"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media?parent=39016"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/categories?post=39016"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/tags?post=39016"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}