เบžเบฒเบšเบฅเบงเบกเป‚เบ”เบเบซเบเปเป‰ เปเบฅเบฐเบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡ Kata Containers

เบžเบฒเบšเบฅเบงเบกเป‚เบ”เบเบซเบเปเป‰ เปเบฅเบฐเบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡ Kata Containers
เบšเบปเบ”เบ„เบงเบฒเบกเบ™เบตเป‰เบˆเบฐเบ›เบถเบเบชเบฒเบซเบฒเบฅเบทเบงเบดเบ—เบตเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบ เบ•เบนเป‰เบšเบฑเบ™เบˆเบธ Kata, เปเบฅเบฐเบเบฑเบ‡เบˆเบฐเบกเบตเบชเปˆเบงเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฑเบšเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒเบเบฑเบš Docker.

เบเปˆเบฝเบงเบเบฑเบšเบšเบฑเบ™เบซเบฒเบ—เบปเปˆเบงเป„เบ›เบเบฑเบš Docker เปเบฅเบฐเบงเบดเบ—เบตเปเบเป‰เป„เบ‚เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒเปเบฅเป‰เบง เป„เบ”เป‰เบ–เบทเบเบ‚เบฝเบ™, เบกเบทเป‰เบ™เบตเป‰เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบˆเบฐเบญเบฐเบ—เบดเบšเบฒเบเป‚เบ”เบเบซเบเปเป‰เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”เบˆเบฒเบ Kata Containers. Kata Containers เป€เบ›เบฑเบ™ runtime container เบ—เบตเปˆเบ›เบญเบ”เป„เบžเป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเป€เบ„เบทเปˆเบญเบ‡ virtual เบ—เบตเปˆเบกเบตเบ™เป‰เปเบฒเบซเบ™เบฑเบเป€เบšเบปเบฒ. เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบžเบงเบเบกเบฑเบ™เปเบกเปˆเบ™เบ„เบทเบเบฑเบ™เบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เบšเบฑเบ™เบˆเบธเบญเบทเปˆเบ™เป†, เปเบ•เปˆเบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™เบเบฑเบ‡เบกเบตเบเบฒเบ™เป‚เบ”เบ”เบ”เปˆเบฝเบงเบ—เบตเปˆเป€เบŠเบทเปˆเบญเบ–เบทเป„เบ”เป‰เบซเบผเบฒเบเบ‚เบถเป‰เบ™เป‚เบ”เบเบ™เปเบฒเปƒเบŠเป‰เป€เบ•เบฑเบเป‚เบ™เป‚เบฅเบขเบต virtualization เบฎเบฒเบ”เปเบง. เป‚เบ„เบ‡เบเบฒเบ™เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเป„เบ”เป‰เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปƒเบ™ 2017, เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบŠเบธเบกเบŠเบปเบ™เบ—เบตเปˆเบกเบตเบŠเบทเปˆเบ”เบฝเบงเบเบฑเบ™เบชเปเบฒเป€เบฅเบฑเบ”เบเบฒเบ™เบฅเบงเบกเบ•เบปเบงเบ‚เบญเบ‡เปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”เบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบชเบธเบ”เบˆเบฒเบ Intel Clear Containers เปเบฅเบฐ Hyper.sh RunV, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เป€เบฎเบฑเบ”เบงเบฝเบเบชเบทเบšเบ•เปเปˆเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเบ•เปˆเบฒเบ‡เป†, เบฅเบงเบกเบ—เบฑเบ‡ AMD64, ARM, IBM p- เปเบฅเบฐ z. - เบŠเบธเบ”. เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบžเบฒเบเปƒเบ™ hypervisors QEMU, Firecracker, เปเบฅเบฐเบเบฑเบ‡เบกเบตเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเป‚เบเบ‡เบเบฑเบš containerd. เบฅเบฐเบซเบฑเบ”เปเบกเปˆเบ™เบกเบตเบขเบนเปˆ GitHub เบžเบฒเบเปƒเบ•เป‰เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ” MIT.

เบฅเบฑเบเบชเบฐเบ™เบฐเบ—เบตเปˆ เบชเบณ เบ„เบฑเบ™

  • เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเปเบเบ™เปเบเบ, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบเบฒเบ™เบชเบฐเบซเบ™เบญเบ‡เป€เบ„เบทเบญเบ‚เปˆเบฒเบ, เบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเปเบฒเปเบฅเบฐเบเบฒเบ™เป‚เบ”เบ”เบ”เปˆเบฝเบง I / O, เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเบšเบฑเบ‡เบ„เบฑเบšเปƒเบŠเป‰เบเบฒเบ™เปเบเบเบฎเบฒเบ”เปเบงเป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบเบฒเบ™เบ‚เบฐเบซเบเบฒเบ virtualization.
  • เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบญเบธเบ”เบชเบฒเบซเบฐเบเปเบฒเบฅเบงเบกเบ—เบฑเบ‡ OCI (เบฎเบนเบšเปเบšเบšเบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบต), Kubernetes CRI
  • เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบตเปˆเบชเบญเบ”เบ„เปˆเบญเบ‡เบ‚เบญเบ‡เบเปˆเบญเบ‡เบšเบฑเบ™เบˆเบธ Linux เบ›เบปเบเบเบฐเบ•เบด, เป€เบžเบตเปˆเบกเบ—เบฐเบงเบตเบเบฒเบ™เป‚เบ”เบ”เบ”เปˆเบฝเบงเป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบซเบ™เป‰เบฒเบ‚เบญเบ‡ VMs เบ›เบปเบเบเบฐเบ•เบด
  • เบฅเบปเบšเบฅเป‰เบฒเบ‡เบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบ—เบตเปˆเบˆเบฐเปเบฅเปˆเบ™เบšเบฑเบ™เบˆเบธเบžเบฒเบเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡ virtual เป€เบ•เบฑเบกเบฎเบนเบšเปเบšเบš, เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเปเบšเบšเบ—เบปเปˆเบงเป„เบ›เป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เบฅเบงเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เบ‡เปˆเบฒเบเบ‚เบถเป‰เบ™เปเบฅเบฐเป€เบ›เบตเบ”เบ•เบปเบง.

เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ

เบกเบต เบขเปˆเบฒเบ‡เบซเบผเบฒเบเบ‚เบญเบ‡เบเบฒเบ™ เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปƒเบ™เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบˆเบฐเบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบˆเบฒเบ repositories, เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ Centos 7 เบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™.
เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™: เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡ Kata Containers เปเบกเปˆเบ™เบฎเบญเบ‡เบฎเบฑเบšเปƒเบ™เบฎเบฒเบ”เปเบงเป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™, เบเบฒเบ™เบชเบปเปˆเบ‡เบ•เปเปˆ virtualization เบšเปเปˆเป„เบ”เป‰เป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเบชเบฐเป€เปเบต เบ•เป‰เบญเบ‡เบเบฒเบ™ sse4.1 เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ เบˆเบฒเบเป‚เบฎเบ‡เบ‡เบฒเบ™เบœเบฐเบฅเบดเบ”.

เบเบฒเบ™โ€‹เบ•เบดเบ”โ€‹เบ•เบฑเป‰เบ‡ Kata Containers เปเบกเปˆเบ™โ€‹เบ‚เป‰เบญเบ™โ€‹เบ‚เป‰เบฒเบ‡โ€‹เบ‡เปˆเบฒเบโ€‹เบ”เบฒเบโ€‹:

เบ•เบดเบ”โ€‹เบ•เบฑเป‰เบ‡โ€‹เบญเบธโ€‹เบ›เบฐโ€‹เบเบญเบ™โ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เป€เบฎเบฑเบ”โ€‹เบงเบฝเบโ€‹เบเบฑเบš repositoriesโ€‹:

# yum -y install yum-utils

เบ›เบดเบ”เบเบฒเบ™เปƒเบŠเป‰เบ‡เบฒเบ™ Selinux (เบกเบฑเบ™เบ–เบทเบเบ•เป‰เบญเบ‡เบเบงเปˆเบฒเปƒเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ, เปเบ•เปˆเป€เบžเบทเปˆเบญเบ„เบงเบฒเบกเบ‡เปˆเบฒเบเบ”เบฒเบเบ‚เป‰เบญเบเบ›เบดเบ”เบเบฒเบ™เปƒเบŠเป‰เบ‡เบฒเบ™):

# setenforce 0
# sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

เบžเบงเบเป€เบฎเบปเบฒเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ repository เปเบฅเบฐเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡

# source /etc/os-release
# ARCH=$(arch)
# BRANCH="${BRANCH:-stable-1.10}"
# yum-config-manager --add-repo "http://download.opensuse.org/repositories/home:/katacontainers:/releases:/${ARCH}:/${BRANCH}/CentOS_${VERSION_ID}/home:katacontainers:releases:${ARCH}:${BRANCH}.repo"
# yum -y install kata-runtime kata-proxy kata-shim

เบเบฒเบ™เบ›เบฑเบš

เบ‚เป‰เบญเบเบˆเบฐเบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบš docker, เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบ‚เบญเบ‡เบกเบฑเบ™เปเบกเปˆเบ™เบ›เบปเบเบเบฐเบ•เบด, เบ‚เป‰เบญเบเบˆเบฐเบšเปเปˆเบญเบฐเบ—เบดเบšเบฒเบเบฅเบฒเบเบฅเบฐเบญเบฝเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบก:

# rpm -qa | grep docker
docker-ce-cli-19.03.6-3.el7.x86_64
docker-ce-19.03.6-3.el7.x86_64
# docker -v
Docker version 19.03.6, build 369ce74a3c

เบžเบงเบเป€เบฎเบปเบฒเบ›เปˆเบฝเบ™เปเบ›เบ‡ daemon.json:

# cat <<EOF > /etc/docker/daemon.json
{
  "default-runtime": "kata-runtime",
  "runtimes": {
    "kata-runtime": {
      "path": "/usr/bin/kata-runtime"
    }
  }
}
EOF

restart docker:

# service docker restart

เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบ

เบ–เป‰เบฒเบ—เปˆเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ container เบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐ restart docker, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบซเบฑเบ™เป„เบ”เป‰เบงเปˆเบฒ uname เบˆเบฐเปƒเบซเป‰เป€เบงเบตเบŠเบฑเบ™เบ‚เบญเบ‡ kernel เป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™เบฅเบฐเบšเบปเบšเบ•เบปเป‰เบ™เบ•เป:

# docker run busybox uname -a
Linux 19efd7188d06 3.10.0-1062.12.1.el7.x86_64 #1 SMP Tue Feb 4 23:02:59 UTC 2020 x86_64 GNU/Linux

เบซเบผเบฑเบ‡โ€‹เบˆเบฒเบโ€‹เบเบฒเบ™โ€‹เป€เบฅเบตเปˆเบกโ€‹เบ•เบปเป‰เบ™โ€‹เปƒเบซเบกเปˆโ€‹, เบชเบฐโ€‹เบšเบฑเบš kernel เป€เบšเบดเปˆเบ‡โ€‹เบ„เบทโ€‹เบ™เบตเป‰โ€‹:

# docker run busybox uname -a
Linux 9dd1f30fe9d4 4.19.86-5.container #1 SMP Sat Feb 22 01:53:14 UTC 2020 x86_64 GNU/Linux

เบ—เบตเบกเบซเบผเบฒเบ!

# time docker run busybox mount
kataShared on / type 9p (rw,dirsync,nodev,relatime,mmap,access=client,trans=virtio)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev type tmpfs (rw,nosuid,size=65536k,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=666)
sysfs on /sys type sysfs (ro,nosuid,nodev,noexec,relatime)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,relatime,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (ro,nosuid,nodev,noexec,relatime,xattr,name=systemd)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (ro,nosuid,nodev,noexec,relatime,cpu,cpuacct)
cgroup on /sys/fs/cgroup/blkio type cgroup (ro,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/memory type cgroup (ro,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/devices type cgroup (ro,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/perf_event type cgroup (ro,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (ro,nosuid,nodev,noexec,relatime,net_cls,net_prio)
cgroup on /sys/fs/cgroup/freezer type cgroup (ro,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/pids type cgroup (ro,nosuid,nodev,noexec,relatime,pids)
cgroup on /sys/fs/cgroup/cpuset type cgroup (ro,nosuid,nodev,noexec,relatime,cpuset)
mqueue on /dev/mqueue type mqueue (rw,nosuid,nodev,noexec,relatime)
shm on /dev/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=65536k)
kataShared on /etc/resolv.conf type 9p (rw,dirsync,nodev,relatime,mmap,access=client,trans=virtio)
kataShared on /etc/hostname type 9p (rw,dirsync,nodev,relatime,mmap,access=client,trans=virtio)
kataShared on /etc/hosts type 9p (rw,dirsync,nodev,relatime,mmap,access=client,trans=virtio)
proc on /proc/bus type proc (ro,relatime)
proc on /proc/fs type proc (ro,relatime)
proc on /proc/irq type proc (ro,relatime)
proc on /proc/sys type proc (ro,relatime)
tmpfs on /proc/acpi type tmpfs (ro,relatime)
tmpfs on /proc/timer_list type tmpfs (rw,nosuid,size=65536k,mode=755)
tmpfs on /sys/firmware type tmpfs (ro,relatime)

real    0m2.381s
user    0m0.066s
sys 0m0.039s

# time docker run busybox free -m
              total        used        free      shared  buff/cache   available
Mem:           1993          30        1962           0           1        1946
Swap:             0           0           0

real    0m3.297s
user    0m0.086s
sys 0m0.050s

เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบเบฒเบ™เป‚เบซเบผเบ”เป„เบง

เป€เบžเบทเปˆเบญเบ›เบฐเป€เบกเบตเบ™เบเบฒเบ™เบชเบนเบ™เป€เบชเบเบˆเบฒเบ virtualization - เบ‚เป‰เบญเบเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™ sysbench, เป€เบ›เบฑเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡เบ•เบปเป‰เบ™เบ•เป เป€เบญเบปเบฒเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ™เบตเป‰.

เปเบฅเปˆเบ™ sysbench เป‚เบ”เบเปƒเบŠเป‰ Docker+containerd

เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™

sysbench 1.0:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 1
Initializing random number generator from current time

Prime numbers limit: 20000

Initializing worker threads...

Threads started!

General statistics:
    total time:                          36.7335s
    total number of events:              10000
    total time taken by event execution: 36.7173s
    response time:
         min:                                  3.43ms
         avg:                                  3.67ms
         max:                                  8.34ms
         approx.  95 percentile:               3.79ms

Threads fairness:
    events (avg/stddev):           10000.0000/0.00
    execution time (avg/stddev):   36.7173/0.00

เบเบฒเบ™เบ—เบปเบ”เบชเบญเบš RAM

sysbench 1.0:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 1
Initializing random number generator from current time

Initializing worker threads...

Threads started!

Operations performed: 104857600 (2172673.64 ops/sec)

102400.00 MiB transferred (2121.75 MiB/sec)

General statistics:
    total time:                          48.2620s
    total number of events:              104857600
    total time taken by event execution: 17.4161s
    response time:
         min:                                  0.00ms
         avg:                                  0.00ms
         max:                                  0.17ms
         approx.  95 percentile:               0.00ms

Threads fairness:
    events (avg/stddev):           104857600.0000/0.00
    execution time (avg/stddev):   17.4161/0.00

เปเบฅเปˆเบ™ sysbench เป‚เบ”เบเปƒเบŠเป‰ Docker+Kata Containers

เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™

sysbench 1.0:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 1
Initializing random number generator from current time

Prime numbers limit: 20000

Initializing worker threads...

Threads started!

General statistics:
    total time:                          36.5747s
    total number of events:              10000
    total time taken by event execution: 36.5594s
    response time:
         min:                                  3.43ms
         avg:                                  3.66ms
         max:                                  4.93ms
         approx.  95 percentile:               3.77ms

Threads fairness:
    events (avg/stddev):           10000.0000/0.00
    execution time (avg/stddev):   36.5594/0.00

เบเบฒเบ™เบ—เบปเบ”เบชเบญเบš RAM

sysbench 1.0:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 1
Initializing random number generator from current time

Initializing worker threads...

Threads started!

Operations performed: 104857600 (2450366.94 ops/sec)

102400.00 MiB transferred (2392.94 MiB/sec)

General statistics:
    total time:                          42.7926s
    total number of events:              104857600
    total time taken by event execution: 16.1512s
    response time:
         min:                                  0.00ms
         avg:                                  0.00ms
         max:                                  0.43ms
         approx.  95 percentile:               0.00ms

Threads fairness:
    events (avg/stddev):           104857600.0000/0.00
    execution time (avg/stddev):   16.1512/0.00

เปƒเบ™เบซเบผเบฑเบเบเบฒเบ™, เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เปเบกเปˆเบ™เบˆเบฐเปเบˆเป‰เบ‡เปเบฅเป‰เบง, เปเบ•เปˆเบกเบฑเบ™เบ”เบตเบ—เบตเปˆเบชเบธเบ”เบ—เบตเปˆเบˆเบฐเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบซเบผเบฒเบเบ„เบฑเป‰เบ‡, เบ–เบญเบ™เบญเบญเบเปเบฅเบฐเบชเบฐเป€เบฅเปˆเบเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบš, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบ‚เป‰เบญเบเบšเปเปˆเป„เบ”เป‰เป€เบฎเบฑเบ”เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบซเบผเบฒเบเป€เบ—เบทเปˆเบญ.

เบเบฒเบ™เบ„เบปเป‰เบ™เบžเบปเบš

เป€เบ–เบดเบ‡เบงเปˆเบฒเบˆเบฐเบกเบตเบ„เบงเบฒเบกเบˆเบดเบ‡เบ—เบตเปˆเบงเปˆเบฒ containers เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเปƒเบŠเป‰เป€เบงเบฅเบฒเบ›เบฐเบกเบฒเบ™เบซเป‰เบฒเบซเบฒเบชเบดเบšเป€เบ—เบปเปˆเบฒเป€เบžเบทเปˆเบญเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบเบฒเบ™เบ”เบปเบ™เบเบงเปˆเบฒ (เป€เบงเบฅเบฒเปเบฅเปˆเบ™เบ›เบปเบเบเบฐเบ•เบดเบชเปเบฒเบฅเบฑเบšเบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเปƒเบŠเป‰ containerd เปเบกเปˆเบ™เบซเบ™เป‰เบญเบเบเบงเปˆเบฒเบซเบ™เบถเปˆเบ‡เบชเปˆเบงเบ™เบชเบฒเบกเบ‚เบญเบ‡เบงเบดเบ™เบฒเบ—เบต), เบžเบงเบเบกเบฑเบ™เบเบฑเบ‡เป€เบฎเบฑเบ”เบงเบฝเบเบขเปˆเบฒเบ‡เป„เบงเบงเบฒเบ–เป‰เบฒเบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰เป€เบงเบฅเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบขเปˆเบฒเบ‡เปเบ—เป‰เบˆเบดเบ‡ (เบกเบต. เปเบกเปˆเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡, เบ„เปเบฒเบชเบฑเปˆเบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”เป‚เบ”เบเบชเบฐเป€เบฅเปˆเบเบชเบฒเบกเบงเบดเบ™เบฒเบ—เบต). เบ”เบต, เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ‚เบญเบ‡เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเป„เบงเบ‚เบญเบ‡ CPU เปเบฅเบฐ RAM เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเป€เบเบทเบญเบšเบ„เบทเบเบฑเบ™, เป€เบŠเบดเปˆเบ‡เบšเปเปˆเบชเบฒเบกเบฒเบ”เบกเบตเบ„เบงเบฒเบกเบชเบธเบเป„เบ”เป‰, เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐเปƒเบ™เปเบ‡เปˆเบ‚เบญเบ‡เบ„เบงเบฒเบกเบˆเบดเบ‡เบ—เบตเปˆเบงเปˆเบฒเบเบฒเบ™เป‚เบ”เบ”เบ”เปˆเบฝเบงเป„เบ”เป‰เบ–เบทเบเบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰เป‚เบ”เบเปƒเบŠเป‰เบเบปเบ™เป„เบเบ—เบตเปˆเบ”เบตเป€เบŠเบฑเปˆเบ™ kvm.

เปเบˆเป‰เบ‡เบเบฒเบ™

เบšเบปเบ”เบ„เบงเบฒเบกเปเบกเปˆเบ™เบเบฒเบ™เบ—เบปเบšเบ—เบงเบ™เบ„เบทเบ™, เปเบ•เปˆเบกเบฑเบ™เป€เบฎเบฑเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เบกเบตเป‚เบญเบเบฒเบ”เบ—เบตเปˆเบˆเบฐเบฎเบนเป‰เบชเบถเบเป€เบ–เบดเบ‡เป€เบงเบฅเบฒเปเบฅเปˆเบ™เบ—เบฒเบ‡เป€เบฅเบทเบญเบ. เบซเบผเบฒเบเป†เบžเบทเป‰เบ™เบ—เบตเปˆเบ‚เบญเบ‡เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบšเปเปˆเป„เบ”เป‰เบเบงเบกเป€เบญเบปเบฒ, เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบขเปˆเบฒเบ‡, เป€เบงเบฑเบšเป„เบŠเบ—เปŒเบญเบฐเบ—เบดเบšเบฒเบเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เปเบฅเปˆเบ™ Kubernetes เบขเบนเปˆเป€เบ—เบดเบ‡เบชเบธเบ”เบ‚เบญเบ‡ Kata Containers. เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบ—เปˆเบฒเบ™เบเบฑเบ‡เบชเบฒเบกเบฒเบ”เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบŠเบธเบ”เบ—เบตเปˆเบชเบธเบกเปƒเบชเปˆเบเบฒเบ™เบŠเบญเบเบซเบฒเบšเบฑเบ™เบซเบฒเบ„เบงเบฒเบกเบ›เบญเบ”เป„เบž, เบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”เปเบฅเบฐเบชเบดเปˆเบ‡เบ—เบตเปˆเบซเบ™เป‰เบฒเบชเบปเบ™เปƒเบˆเบญเบทเปˆเบ™เป†.

เบ‚เป‰เบฒโ€‹เบžเบฐโ€‹เป€เบˆเบปเป‰เบฒโ€‹เบ‚เปโ€‹เบฎเป‰เบญเบ‡โ€‹เปƒเบซเป‰โ€‹เบ—เบธเบโ€‹เบ„เบปเบ™โ€‹เบ—เบตเปˆโ€‹เป„เบ”เป‰โ€‹เบญเปˆเบฒเบ™โ€‹เปเบฅเบฐ rewound เปƒเบ™โ€‹เบ—เบตเปˆโ€‹เบ™เบตเป‰โ€‹เป€เบžเบทเปˆเบญโ€‹เป€เบ‚เบปเป‰เบฒโ€‹เบฎเปˆเบงเบกโ€‹เปƒเบ™โ€‹เบเบฒเบ™โ€‹เบชเปเบฒโ€‹เบซเบผเบงเบ”, เบเบฒเบ™โ€‹เบžเบดเบกโ€‹เป€เบœเบตเบโ€‹เปเบœเปˆโ€‹เปƒเบ™โ€‹เบญเบฐโ€‹เบ™เบฒโ€‹เบ„เบปเบ”โ€‹เบเปˆเบฝเบงโ€‹เบเบฑเบšโ€‹เบซเบปเบงโ€‹เบ‚เปเป‰โ€‹เบ™เบตเป‰โ€‹เบˆเบฐโ€‹เบ‚เบถเป‰เบ™โ€‹เบเบฑเบš.

เบžเบฝเบ‡เปเบ•เปˆเบœเบนเป‰เปƒเบŠเป‰เบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™เบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบกเปƒเบ™เบเบฒเบ™เบชเปเบฒเบซเบผเบงเบ”. เป€เบ‚เบปเป‰เบฒโ€‹เบชเบนเปˆโ€‹เบฅเบฐโ€‹เบšเบปเบšเบเบฐเบฅเบธเบ™เบฒ.

เบ‚เป‰เบญเบเบ„เบงเบ™เบชเบทเบšเบ•เปเปˆเป€เบœเบตเบเปเบœเปˆเบšเบปเบ”เบ„เบงเบฒเบกเบเปˆเบฝเบงเบเบฑเบš Kata Containers เบšเป?

  • 80,0%เปเบกเปˆเบ™เปเบฅเป‰เบง, เบ‚เบฝเบ™เบ•เบทเปˆเบก!28

  • 20,0%เบšเปเปˆ, เบขเปˆเบฒโ€ฆ7

35 เบœเบนเป‰เปƒเบŠเป‰เบฅเบปเบ‡เบ„เบฐเปเบ™เบ™เบชเบฝเบ‡. 7 เบœเบนเป‰เปƒเบŠเป‰เบ‡เบปเบ”.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™