{"id":72267,"date":"2020-03-03T08:42:20","date_gmt":"2020-03-03T05:42:20","guid":{"rendered":"https:\/\/prohoster.info\/blog\/kratkij-obzor-i-nastrojka-kata-containers"},"modified":"2020-03-03T16:13:53","modified_gmt":"2020-03-03T13:13:53","slug":"kratkij-obzor-i-nastrojka-kata-containers","status":"publish","type":"post","link":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/kratkij-obzor-i-nastrojka-kata-containers","title":{"rendered":"Kr\u00e1tk\u00fd p\u0159ehled a nastaven\u00ed Kata Containers","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Kr\u00e1tk\u00fd p\u0159ehled a nastaven\u00ed Kata Containers\" src=\"\/wp-content\/uploads\/2020\/03\/b738fcd40af08167446004e481172a7e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nV tomto \u010dl\u00e1nku se budeme zab\u00fdvat principem fungov\u00e1n\u00ed <noindex><a rel=\"nofollow\" href=\"https:\/\/katacontainers.io\/\">Kata Containers<\/a><\/noindex>, a tak\u00e9 zde bude praktick\u00e1 \u010d\u00e1st s jejich p\u0159ipojen\u00edm k Dockeru.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>O obecn\u00fdch probl\u00e9mech s Dockerem a variant\u00e1ch jejich \u0159e\u0161en\u00ed ji\u017e <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/434756\/\">bylo naps\u00e1no<\/a><\/noindex>, dnes stru\u010dn\u011b pop\u00ed\u0161u implementaci zalo\u017eenou na Kata Containers. Kata Containers je bezpe\u010dn\u00e9 prost\u0159ed\u00ed pro spu\u0161t\u011bn\u00ed kontejner\u016f zalo\u017een\u00e9 na lehk\u00fdch virtu\u00e1ln\u00edch stroj\u00edch. Pr\u00e1ce s nimi prob\u00edh\u00e1 stejn\u011b jako s jin\u00fdmi kontejnery, ale nav\u00edc je zde poskytov\u00e1na spolehliv\u011bj\u0161\u00ed izolace pomoc\u00ed technologie virtualizace hardwaru. Projekt za\u010dal v roce 2017, kdy\u017e stejnojmenn\u00e9 spole\u010denstv\u00ed dokon\u010dilo slou\u010den\u00ed nejlep\u0161\u00edch my\u0161lenek z Intel Clear Containers a Hyper.sh RunV, pot\u00e9 pokra\u010dovalo v podpo\u0159e r\u016fzn\u00fdch architektur, v\u010detn\u011b AMD64, ARM, IBM p- a z-series. D\u00e1le je podporov\u00e1na pr\u00e1ce uvnit\u0159 hypervizor\u016f QEMU, Firecracker, a tak\u00e9 je zde integrace s containerd. K\u00f3d je dostupn\u00fd na <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kata-containers\">GitHub<\/a><\/noindex> je licencov\u00e1n pod MIT licenc\u00ed.<\/p>\n<p><\/p>\n<h2 id=\"osnovnye-vozmozhnosti\">Hlavn\u00ed funkce<\/h2>\n<p><\/p>\n<ul>\n<li>Pr\u00e1ce s odd\u011blen\u00fdm j\u00e1drem, t\u00edmto zp\u016fsobem je zaji\u0161t\u011bna izolace s\u00edt\u011b, pam\u011bti a operac\u00ed vstupu a v\u00fdstupu, je zde mo\u017enost vynucen\u00e9ho pou\u017eit\u00ed hardwarov\u00e9 izolace na z\u00e1klad\u011b roz\u0161\u00ed\u0159en\u00ed virtualizace<\/li>\n<li>Podpora pr\u016fmyslov\u00fdch standard\u016f, v\u010detn\u011b OCI (form\u00e1t kontejner\u016f), Kubernetes CRI<\/li>\n<li>Stabiln\u00ed v\u00fdkon b\u011b\u017en\u00fdch kontejner\u016f Linuxu, zv\u00fd\u0161en\u00ed izolace bez re\u017eijn\u00edch n\u00e1klad\u016f, kter\u00e9 by ovlivnily v\u00fdkon b\u011b\u017en\u00fdch virtu\u00e1ln\u00edch stroj\u016f<\/li>\n<li>Odstran\u011bn\u00ed pot\u0159eby spou\u0161t\u011bt kontejnery uvnit\u0159 plnohodnotn\u00fdch virtu\u00e1ln\u00edch stroj\u016f, standardizovan\u00e9 rozhran\u00ed usnad\u0148uje integraci a spu\u0161t\u011bn\u00ed<\/li>\n<\/ul>\n<p><\/p>\n<h2 id=\"ustanovka\">Instalace<\/h2>\n<p><\/p>\n<p>Existuje <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kata-containers\/documentation\/tree\/master\/install\">objevilo mnoho<\/a><\/noindex> variant instalace, pod\u00edv\u00e1m se na instalaci z repozit\u00e1\u0159\u016f, na z\u00e1klad\u011b opera\u010dn\u00edho syst\u00e9mu Centos 7.<br \/>\n<strong>Je d\u016fle\u017eit\u00e9<\/strong>: pr\u00e1ce s Kata Containers je podporov\u00e1na pouze na hardwaru, prohoz virtualizace nefunguje v\u017edy, tak\u00e9 <strong>je pot\u0159ebn\u00e1 podpora sse4.1<\/strong> od procesoru.<\/p>\n<p><\/p>\n<p>Instalace Kata Containers je pom\u011brn\u011b jednoduch\u00e1:<\/p>\n<p><\/p>\n<p>Instalujeme utility pro pr\u00e1ci s repozit\u00e1\u0159i:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\"># yum -y install yum-utils<\/code><\/pre>\n<p><\/p>\n<p>Zakazujeme Selinux (spr\u00e1vn\u011bji \u2014 nastavit, ale pro zjednodu\u0161en\u00ed ho zakazuji):<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\"># setenforce 0\n# sed -i 's\/^SELINUX=enforcing$\/SELINUX=permissive\/' \/etc\/selinux\/config<\/code><\/pre>\n<p><\/p>\n<p>P\u0159ipojujeme repozit\u00e1\u0159 a prov\u00e1d\u00edme instalaci<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\"># source \/etc\/os-release\n# ARCH=$(arch)\n# BRANCH=&quot;${BRANCH:-stable-1.10}&quot;\n# yum-config-manager --add-repo &quot;http:\/\/download.opensuse.org\/repositories\/home:\/katacontainers:\/releases:\/${ARCH}:\/${BRANCH}\/CentOS_${VERSION_ID}\/home:katacontainers:releases:${ARCH}:${BRANCH}.repo&quot;\n# yum -y install kata-runtime kata-proxy kata-shim<\/code><\/pre>\n<p><\/p>\n<h2 id=\"nastroyka\">Nastaven\u00ed<\/h2>\n<p><\/p>\n<p>Budu prov\u00e1d\u011bt nastaven\u00ed pro pr\u00e1ci s Dockerem, jeho instalace je standardn\u00ed, nebudu ji popisovat podrobn\u011bji:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\"># rpm -qa | grep docker\ndocker-ce-cli-19.03.6-3.el7.x86_64\ndocker-ce-19.03.6-3.el7.x86_64\n# docker -v\nDocker version 19.03.6, build 369ce74a3c<\/code><\/pre>\n<p><\/p>\n<p>Prov\u00e1d\u00edme \u00fapravy v daemon.json:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\"># cat &lt;&lt;EOF &gt; \/etc\/docker\/daemon.json\n{\n  &quot;default-runtime&quot;: &quot;kata-runtime&quot;,\n  &quot;runtimes&quot;: {\n    &quot;kata-runtime&quot;: {\n      &quot;path&quot;: &quot;\/usr\/bin\/kata-runtime&quot;\n    }\n  }\n}\nEOF<\/code><\/pre>\n<p><\/p>\n<p>Restartujeme docker:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\"># service docker restart<\/code><\/pre>\n<p><\/p>\n<h2 id=\"proverka-rabotosposobnosti\">Kontrola stavu<\/h2>\n<p><\/p>\n<p>Pokud spust\u00edte kontejner p\u0159ed restartem dockeru \u2014 m\u016f\u017eete vid\u011bt, \u017ee uname vr\u00e1t\u00ed verzi j\u00e1dra spu\u0161t\u011bn\u00e9ho na z\u00e1kladn\u00edm syst\u00e9mu:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\"># docker run busybox uname -a\nLinux 19efd7188d06 3.10.0-1062.12.1.el7.x86_64 #1 SMP Tue Feb 4 23:02:59 UTC 2020 x86_64 GNU\/Linux<\/code><\/pre>\n<p><\/p>\n<p>Po restartu \u2014 verze j\u00e1dra vypad\u00e1 takto:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\"># docker run busybox uname -a\nLinux 9dd1f30fe9d4 4.19.86-5.container #1 SMP Sat Feb 22 01:53:14 UTC 2020 x86_64 GNU\/Linux<\/code><\/pre>\n<p>\n<b class=\"spoiler_title\">Je\u0161t\u011b p\u0159\u00edkazy!<\/b><\/p>\n<pre><code class=\"plaintext\"># time docker run busybox mount\nkataShared on \/ type 9p (rw,dirsync,nodev,relatime,mmap,access=client,trans=virtio)\nproc on \/proc type proc (rw,nosuid,nodev,noexec,relatime)\ntmpfs on \/dev type tmpfs (rw,nosuid,size=65536k,mode=755)\ndevpts on \/dev\/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=666)\nsysfs on \/sys type sysfs (ro,nosuid,nodev,noexec,relatime)\ntmpfs on \/sys\/fs\/cgroup type tmpfs (ro,nosuid,nodev,noexec,relatime,mode=755)\ncgroup on \/sys\/fs\/cgroup\/systemd type cgroup (ro,nosuid,nodev,noexec,relatime,xattr,name=systemd)\ncgroup on \/sys\/fs\/cgroup\/cpu,cpuacct type cgroup (ro,nosuid,nodev,noexec,relatime,cpu,cpuacct)\ncgroup on \/sys\/fs\/cgroup\/blkio type cgroup (ro,nosuid,nodev,noexec,relatime,blkio)\ncgroup on \/sys\/fs\/cgroup\/memory type cgroup (ro,nosuid,nodev,noexec,relatime,memory)\ncgroup on \/sys\/fs\/cgroup\/devices type cgroup (ro,nosuid,nodev,noexec,relatime,devices)\ncgroup on \/sys\/fs\/cgroup\/perf_event type cgroup (ro,nosuid,nodev,noexec,relatime,perf_event)\ncgroup on \/sys\/fs\/cgroup\/net_cls,net_prio type cgroup (ro,nosuid,nodev,noexec,relatime,net_cls,net_prio)\ncgroup on \/sys\/fs\/cgroup\/freezer type cgroup (ro,nosuid,nodev,noexec,relatime,freezer)\ncgroup on \/sys\/fs\/cgroup\/pids type cgroup (ro,nosuid,nodev,noexec,relatime,pids)\ncgroup on \/sys\/fs\/cgroup\/cpuset type cgroup (ro,nosuid,nodev,noexec,relatime,cpuset)\nmqueue on \/dev\/mqueue type mqueue (rw,nosuid,nodev,noexec,relatime)\nshm on \/dev\/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=65536k)\nkataShared on \/etc\/resolv.conf type 9p (rw,dirsync,nodev,relatime,mmap,access=client,trans=virtio)\nkataShared on \/etc\/hostname type 9p (rw,dirsync,nodev,relatime,mmap,access=client,trans=virtio)\nkataShared on \/etc\/hosts type 9p (rw,dirsync,nodev,relatime,mmap,access=client,trans=virtio)\nproc on \/proc\/bus type proc (ro,relatime)\nproc on \/proc\/fs type proc (ro,relatime)\nproc on \/proc\/irq type proc (ro,relatime)\nproc on \/proc\/sys type proc (ro,relatime)\ntmpfs on \/proc\/acpi type tmpfs (ro,relatime)\ntmpfs on \/proc\/timer_list type tmpfs (rw,nosuid,size=65536k,mode=755)\ntmpfs on \/sys\/firmware type tmpfs (ro,relatime)\n\nreal    0m2.381s\nuser    0m0.066s\nsys 0m0.039s<\/code><\/pre>\n<p><\/p>\n<pre><code class=\"plaintext\"># time docker run busybox free -m\n              total        used        free      shared  buff\/cache   available\nMem:           1993          30        1962           0           1        1946\nSwap:             0           0           0\n\nreal    0m3.297s\nuser    0m0.086s\nsys 0m0.050s<\/code><\/pre>\n<p><\/p>\n<h2 id=\"bystroe-nagruzochnoe-testirovanie\">Rychl\u00e9 z\u00e1t\u011b\u017eov\u00e9 testov\u00e1n\u00ed<\/h2>\n<p><\/p>\n<p>Pro vyhodnocen\u00ed ztr\u00e1t zp\u016fsoben\u00fdch virtualizac\u00ed spou\u0161t\u00edm sysbench, jako hlavn\u00ed p\u0159\u00edklady <noindex><a rel=\"nofollow\" href=\"https:\/\/hub.docker.com\/r\/ljishen\/sysbench\">beru tuto variantu<\/a><\/noindex>.<\/p>\n<p><\/p>\n<h3 id=\"zapusk-sysbench-s-ispolzovaniem-dockercontainerd\">Spu\u0161t\u011bn\u00ed sysbench s pou\u017eit\u00edm Docker+containerd<\/h3>\n<p>\n<b class=\"spoiler_title\">Test procesoru<\/b><\/p>\n<pre><code class=\"plaintext\">sysbench 1.0: v\u00edcerozm\u011brn\u00fd syst\u00e9mov\u00fd hodnot\u00edc\u00ed benchmark\n\nSpu\u0161t\u011bn\u00ed testu s n\u00e1sleduj\u00edc\u00edmi mo\u017enostmi:\nPo\u010det vl\u00e1ken: 1\nInicializace gener\u00e1toru n\u00e1hodn\u00fdch \u010d\u00edsel z aktu\u00e1ln\u00edho \u010dasu\n\nLimit prvo\u010d\u00edsel: 20000\n\nInicializace pracovn\u00edch vl\u00e1ken...\n\nVl\u00e1kna byla spu\u0161t\u011bna!\n\nObecn\u00e9 statistiky:\n    celkov\u00fd \u010das:                             36.7335s\n    celkov\u00fd po\u010det ud\u00e1lost\u00ed:                 10000\n    celkov\u00fd \u010das str\u00e1ven\u00fd vykon\u00e1n\u00edm ud\u00e1losti: 36.7173s\n    doba odezvy:\n         min:                                   3.43ms\n         avg:                                   3.67ms\n         max:                                   8.34ms\n         p\u0159ibli\u017en\u011b  95. percentil:              3.79ms\n\nSpravedlnost vl\u00e1ken:\n    ud\u00e1losti (avg\/stddev):               10000.0000\/0.00\n    doba vykon\u00e1n\u00ed (avg\/stddev):         36.7173\/0.00<\/code><\/pre>\n<p>\n<b class=\"spoiler_title\">Test opera\u010dn\u00ed pam\u011bti<\/b><\/p>\n<pre><code class=\"plaintext\">sysbench 1.0: v\u00edcerozm\u011brn\u00fd syst\u00e9mov\u00fd hodnot\u00edc\u00ed benchmark\n\nSpu\u0161t\u011bn\u00ed testu s n\u00e1sleduj\u00edc\u00edmi mo\u017enostmi:\nPo\u010det vl\u00e1ken: 1\nInicializace gener\u00e1toru n\u00e1hodn\u00fdch \u010d\u00edsel z aktu\u00e1ln\u00edho \u010dasu\n\nInicializace pracovn\u00edch vl\u00e1ken...\n\nVl\u00e1kna byla spu\u0161t\u011bna!\n\nProveden\u00e9 operace: 104857600 (2172673.64 ops\/sec)\n\n102400.00 MiB p\u0159eneseno (2121.75 MiB\/sec)\n\nObecn\u00e9 statistiky:\n    celkov\u00fd \u010das:                             48.2620s\n    celkov\u00fd po\u010det ud\u00e1lost\u00ed:                 104857600\n    celkov\u00fd \u010das str\u00e1ven\u00fd vykon\u00e1n\u00edm ud\u00e1losti: 17.4161s\n    doba odezvy:\n         min:                                   0.00ms\n         avg:                                   0.00ms\n         max:                                   0.17ms\n         p\u0159ibli\u017en\u011b  95. percentil:              0.00ms\n\nSpravedlnost vl\u00e1ken:\n    ud\u00e1losti (avg\/stddev):               104857600.0000\/0.00\n    doba vykon\u00e1n\u00ed (avg\/stddev):         17.4161\/0.00<\/code><\/pre>\n<p><\/p>\n<h3 id=\"zapusk-sysbench-s-ispolzovaniem-dockerkata-containers\">Spu\u0161t\u011bn\u00ed sysbench s pou\u017eit\u00edm Docker+Kata Containers<\/h3>\n<p>\n<b class=\"spoiler_title\">Test procesoru<\/b><\/p>\n<pre><code class=\"plaintext\">sysbench 1.0: v\u00edcerozm\u011brn\u00fd syst\u00e9mov\u00fd hodnot\u00edc\u00ed benchmark\n\nSpu\u0161t\u011bn\u00ed testu s n\u00e1sleduj\u00edc\u00edmi mo\u017enostmi:\nPo\u010det vl\u00e1ken: 1\nInicializace gener\u00e1toru n\u00e1hodn\u00fdch \u010d\u00edsel z aktu\u00e1ln\u00edho \u010dasu\n\nLimit prvo\u010d\u00edsel: 20000\n\nInicializace pracovn\u00edch vl\u00e1ken...\n\nVl\u00e1kna byla spu\u0161t\u011bna!\n\nObecn\u00e9 statistiky:\n    celkov\u00fd \u010das:                             36.5747s\n    celkov\u00fd po\u010det ud\u00e1lost\u00ed:                 10000\n    celkov\u00fd \u010das str\u00e1ven\u00fd vykon\u00e1n\u00edm ud\u00e1losti: 36.5594s\n    doba odezvy:\n         min:                                   3.43ms\n         avg:                                   3.66ms\n         max:                                   4.93ms\n         p\u0159ibli\u017en\u011b  95. percentil:              3.77ms\n\nSpravedlnost vl\u00e1ken:\n    ud\u00e1losti (avg\/stddev):               10000.0000\/0.00\n    doba vykon\u00e1n\u00ed (avg\/stddev):         36.5594\/0.00<\/code><\/pre>\n<p>\n<b class=\"spoiler_title\">Test opera\u010dn\u00ed pam\u011bti<\/b><\/p>\n<pre><code class=\"plaintext\">sysbench 1.0: v\u00edcerozm\u011brn\u00fd syst\u00e9mov\u00fd hodnot\u00edc\u00ed benchmark\n\nSpu\u0161t\u011bn\u00ed testu s n\u00e1sleduj\u00edc\u00edmi mo\u017enostmi:\nPo\u010det vl\u00e1ken: 1\nInicializace gener\u00e1toru n\u00e1hodn\u00fdch \u010d\u00edsel z aktu\u00e1ln\u00edho \u010dasu\n\nInicializace pracovn\u00edch vl\u00e1ken...\n\nVl\u00e1kna byla spu\u0161t\u011bna!\n\nProveden\u00e9 operace: 104857600 (2450366.94 ops\/sec)\n\n102400.00 MiB p\u0159eneseno (2392.94 MiB\/sec)\n\nObecn\u00e9 statistiky:\n    celkov\u00fd \u010das:                             42.7926s\n    celkov\u00fd po\u010det ud\u00e1lost\u00ed:                 104857600\n    celkov\u00fd \u010das str\u00e1ven\u00fd vykon\u00e1n\u00edm ud\u00e1losti: 16.1512s\n    doba odezvy:\n         min:                                   0.00ms\n         avg:                                   0.00ms\n         max:                                   0.43ms\n         p\u0159ibli\u017en\u011b  95. percentil:              0.00ms\n\nSpravedlnost vl\u00e1ken:\n    ud\u00e1losti (avg\/stddev):               104857600.0000\/0.00\n    doba vykon\u00e1n\u00ed (avg\/stddev):         16.1512\/0.00<\/code><\/pre>\n<p><\/p>\n<p>V z\u00e1sad\u011b je situace u\u017e jasn\u00e1, ale optim\u00e1ln\u011bj\u0161\u00ed je spou\u0161t\u011bt testy n\u011bkolikr\u00e1t, odstra\u0148ovat v\u00fdkyvy a pr\u016fm\u011brovat v\u00fdsledky, tak\u017ee zat\u00edm ned\u011bl\u00e1m v\u00edc test\u016f.<\/p>\n<p><\/p>\n<h2 id=\"vyvody\">Z\u00e1v\u011bry<\/h2>\n<p><\/p>\n<p>I kdy\u017e spu\u0161t\u011bn\u00ed takov\u00fdch kontejner\u016f trv\u00e1 zhruba p\u011bt a\u017e desetkr\u00e1t d\u00e9le (typick\u00fd \u010das spu\u0161t\u011bn\u00ed podobn\u00fdch p\u0159\u00edkaz\u016f p\u0159i pou\u017eit\u00ed containerd \u2014 m\u00e9n\u011b ne\u017e t\u0159etina sekundy) \u2014 st\u00e1le funguj\u00ed dost rychle, pokud vezmeme absolutn\u00ed \u010das spu\u0161t\u011bn\u00ed (v\u00fd\u0161e jsou p\u0159\u00edklady, p\u0159\u00edkazy se pr\u016fm\u011brn\u011b vykon\u00e1vaj\u00ed za t\u0159i sekundy). A v\u00fdsledky rychl\u00e9ho testu CPU a RAM ukazuj\u00ed prakticky stejn\u00e9 v\u00fdsledky, co\u017e nem\u016f\u017ee ne\u017e t\u011b\u0161it, zvl\u00e1\u0161\u0165 vzhledem k tomu, \u017ee izolace je zaji\u0161t\u011bna tak dob\u0159e zaveden\u00fdm mechanismem, jako je kvm.<\/p>\n<p><\/p>\n<h2 id=\"anons\">Ozn\u00e1men\u00ed<\/h2>\n<p><\/p>\n<p>\u010cl\u00e1nek je p\u0159ehledn\u00fd, ale d\u00e1v\u00e1 mo\u017enost sezn\u00e1mit se s alternativn\u00edm runtime. Mnoho oblast\u00ed pou\u017eit\u00ed nen\u00ed pokryto, nap\u0159\u00edklad na str\u00e1nk\u00e1ch je pops\u00e1na mo\u017enost spu\u0161t\u011bn\u00ed Kubernetes nad Kata Containers. D\u00e1le lze prov\u00e9st \u0159adu test\u016f zam\u011b\u0159en\u00fdch na hled\u00e1n\u00ed bezpe\u010dnostn\u00edch probl\u00e9m\u016f, nastaven\u00ed omezen\u00ed a dal\u0161\u00ed zaj\u00edmav\u00e9 v\u011bci.<\/p>\n<p><\/p>\n<p>\u017d\u00e1d\u00e1m v\u0161echny, kdo do\u010detli nebo p\u0159et\u00e1hli sem, aby se z\u00fa\u010dastnili ankety, od kter\u00e9 budou z\u00e1viset budouc\u00ed publikace na toto t\u00e9ma.<\/p>\n<p class=\"for_users_only_msg\">Pouze registrovan\u00ed u\u017eivatel\u00e9 se mohou \u00fa\u010dastnit ankety. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/auth\/login\/\">P\u0159ihlaste se<\/a><\/noindex>, pros\u00edm.<\/p>\n<h2 class=\"default-block__polling-title\">M\u011bly by se d\u00e1l publikovat \u010dl\u00e1nky o Kata Containers?<\/h2>\n<ul class=\"poll-result\">\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent  poll-result__data-percent_winner\">80,0%<\/strong>Ano, pi\u0161 je\u0161t\u011b!<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">20,0%<\/strong>Ne, nem\u011blo by se...<\/p>\n<\/li>\n<\/ul>\n<p>    Hlasovalo 35 u\u017eivatel\u016f. Zdr\u017eelo se 7 u\u017eivatel\u016f.<br \/>\n<br \/>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/489940\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d \u043f\u0440\u0438\u043d\u0446\u0438\u043f \u0440\u0430\u0431\u043e\u0442\u044b Kata Containers, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u0441 \u0438\u0445 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c \u043a Docker. \u041f\u0440\u043e \u043e\u0431\u0449\u0438\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441 Docker \u0438 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430\u043c\u0438 \u0438\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0443\u0436\u0435 \u0431\u044b\u043b\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e, \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u044f \u043a\u0440\u0430\u0442\u043a\u043e \u043e\u043f\u0438\u0448\u0443 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u043e\u0442 Kata Containers. Kata Containers \u2014 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u0430\u044f \u0441\u0440\u0435\u0434\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f (runtime) \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043e\u0431\u043b\u0435\u0433\u0447\u0435\u043d\u043d\u044b\u0445 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d. \u0420\u0430\u0431\u043e\u0442\u0430 \u0441 \u043d\u0438\u043c\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":72268,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-72267","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=\"\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d \u043f\u0440\u0438\u043d\u0446\u0438\u043f \u0440\u0430\u0431\u043e\u0442\u044b.\" \/>\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\/cs\/blog\/administrirovanie\/kratkij-obzor-i-nastrojka-kata-containers\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"cs_CZ\" \/>\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\u041a\u0440\u0430\u0442\u043a\u0438\u0439 \u043e\u0431\u0437\u043e\u0440 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 Kata Containers | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d \u043f\u0440\u0438\u043d\u0446\u0438\u043f \u0440\u0430\u0431\u043e\u0442\u044b.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/kratkij-obzor-i-nastrojka-kata-containers\" \/>\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-03-03T05:42:20+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-03-03T13:13:53+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\udd47Kr\u00e1tk\u00fd p\u0159ehled a nastaven\u00ed Kata Containers | ProHoster","description":"V tomto \u010dl\u00e1nku bude podrobn\u011b pops\u00e1n princip fungov\u00e1n\u00ed.","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/kratkij-obzor-i-nastrojka-kata-containers","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"cs_CZ","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\u041a\u0440\u0430\u0442\u043a\u0438\u0439 \u043e\u0431\u0437\u043e\u0440 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 Kata Containers | ProHoster","og:description":"\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d \u043f\u0440\u0438\u043d\u0446\u0438\u043f \u0440\u0430\u0431\u043e\u0442\u044b.","og:url":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/kratkij-obzor-i-nastrojka-kata-containers","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-03-03T05:42:20+00:00","article:modified_time":"2020-03-03T13:13:53+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"72267","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 18:47:23","updated":"2022-09-30 10:53:08","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/72267","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=72267"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/72267\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media\/72268"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=72267"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=72267"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=72267"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}