เบเบปเบเบเบงเบฒเบกเบเบตเปเบเบฐเบเบถเบเบชเบฒเบซเบฒเบฅเบทเบงเบดเบเบตเบเบฒเบเปเบฎเบฑเบเบงเบฝเบ
เบเปเบฝเบงเบเบฑเบเบเบฑเบเบซเบฒเบเบปเปเบงเปเบเบเบฑเบ Docker เปเบฅเบฐเบงเบดเบเบตเปเบเปเปเบเบเบญเบเบเบงเบเปเบเบปเบฒเปเบฅเปเบง
เบฅเบฑเบเบชเบฐเบเบฐเบเบตเป เบชเบณ เบเบฑเบ
- เปเบฎเบฑเบเบงเบฝเบเบเบฑเบเปเบเบเปเบเบ, เบเบฑเปเบเบเบฑเปเบเบเบฒเบเบชเบฐเบซเบเบญเบเปเบเบทเบญเบเปเบฒเบ, เบเบงเบฒเบกเบเบปเบเบเปเบฒเปเบฅเบฐเบเบฒเบเปเบเบเบเปเบฝเบง I / O, เบกเบฑเบเปเบเบฑเบเปเบเปเบเปเบเบตเปเบเบฐเบเบฑเบเบเบฑเบเปเบเปเบเบฒเบเปเบเบเบฎเบฒเบเปเบงเปเบเบเบญเบตเบเปเบชเปเบเบฒเบเบเบฐเบซเบเบฒเบ virtualization.
- เบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบกเบฒเบเบเบฐเบเบฒเบเบญเบธเบเบชเบฒเบซเบฐเบเปเบฒเบฅเบงเบกเบเบฑเบ OCI (เบฎเบนเบเปเบเบเบเบนเปเบเบญเบเปเบเบเปเบเบต), Kubernetes CRI
- เบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบตเปเบชเบญเบเบเปเบญเบเบเบญเบเบเปเบญเบเบเบฑเบเบเบธ Linux เบเบปเบเบเบฐเบเบด, เปเบเบตเปเบกเบเบฐเบงเบตเบเบฒเบเปเบเบเบเปเบฝเบงเปเบเบเบเปเปเบกเบตเบเบฒเบเบเบฐเบเบดเบเบฑเบเบซเบเปเบฒเบเบญเบ VMs เบเบปเบเบเบฐเบเบด
- เบฅเบปเบเบฅเปเบฒเบเบเบงเบฒเบกเบเปเบญเบเบเบฒเบเบเบตเปเบเบฐเปเบฅเปเบเบเบฑเบเบเบธเบเบฒเบเปเบเปเบเบทเปเบญเบ virtual เปเบเบฑเบกเบฎเบนเบเปเบเบ, เบเบฒเบเปเบเปเบเบญเบเปเบเบเบเบปเปเบงเปเบเปเบฎเบฑเบเปเบซเปเบเบฒเบเบฅเบงเบกเปเบเบปเปเบฒเบเบฑเบเบเปเบฒเบเบเบถเปเบเปเบฅเบฐเปเบเบตเบเบเบปเบง.
เบเบฒเบเบเบฑเปเบเบเปเบฒ
เบกเบต
เบเบตเปเบชเปเบฒเบเบฑเบ: เบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบญเบ 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