Cov ntsiab lus luv luv thiab teeb tsa ntawm Kata Containers

Cov ntsiab lus luv luv thiab teeb tsa ntawm Kata Containers
Kab lus no yuav tham txog lub hauv paus ntsiab lus ntawm kev ua haujlwm Kata Ntim, thiab tseem yuav muaj qhov ua tau zoo nrog kev sib txuas rau Docker.

Txog cov teeb meem tshwm sim nrog Docker thiab cov kev xaiv los daws lawv twb tau tau sau, hnub no kuv yuav piav luv luv txog kev siv los ntawm Kata Containers. Kata Containers yog qhov chaw ua haujlwm ruaj ntseg rau cov ntim raws li lub teeb yuag virtual tshuab. Lawv ua hauj lwm ib yam li nrog rau lwm lub thawv, tab sis ntxiv rau muaj kev ntseeg tau ntau dua kev cais siv hardware virtualization technology. Txoj haujlwm pib xyoo 2017, cov zej zog ntawm tib lub npe tom qab ntawd ua tiav kev sib koom ua ke ntawm cov tswv yim zoo tshaj plaws los ntawm Intel Clear Containers thiab Hyper.sh RunV, tom qab ntawd ua haujlwm txuas ntxiv txhawb nqa ntau yam qauv, suav nrog AMD64, ARM, IBM p- thiab z- series. Tsis tas li ntawd, ua haujlwm hauv QEMU thiab Firecracker hypervisors tau txais kev txhawb nqa, thiab tseem muaj kev koom ua ke nrog cov thawv ntim khoom. Code muaj nyob ntawm GitHub nyob rau hauv MIT daim ntawv tso cai.

Cov Ntaos Ntaus

  • Ua haujlwm nrog cov tub ntxhais sib cais, yog li ua kom muaj kev sib cais ntawm lub network, nco thiab I / O kev ua haujlwm, nws muaj peev xwm los yuam kev siv cov khoom siv cais tawm raws li virtualization txuas ntxiv.
  • Txhawb kev lag luam cov qauv suav nrog OCI (hom thawv), Kubernetes CRI
  • Kev ua tau zoo sib xws rau cov ntim Linux li niaj zaus, nce kev sib cais yam tsis muaj kev ua tau zoo tshaj ntawm VMs li niaj zaus
  • Tshem tawm qhov xav tau los khiav cov ntim hauv cov tshuab virtual uas muaj tag nrho, cov qauv sib txuas ua kom yooj yim rau kev sib koom ua ke thiab tso tawm

chaw

muaj coob leej kev xaiv kev teeb tsa, Kuv yuav txiav txim siab txhim kho los ntawm cov chaw cia khoom raws li Centos 7 operating system.
ib qho tseem ceeb: Kata Containers tsuas yog txhawb nqa ntawm kho vajtse xwb; virtualization forwarding tsis tas yuav ua haujlwm, thiab xav tau sse4.1 kev txhawb nqa los ntawm processor.

Txhim kho Kata Thawv yog qhov yooj yim heev:

Nruab cov khoom siv rau kev ua haujlwm nrog cov chaw khaws cia:

# yum -y install yum-utils

Disable Selinux (nws yuav yog qhov tseeb dua rau kev teeb tsa nws, tab sis rau qhov yooj yim kuv lov tes taw nws):

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

Txuas lub repository thiab ua lub installation

# 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

hloov

Kuv yuav teeb tsa rau kev ua haujlwm nrog docker, nws qhov kev teeb tsa yog qhov raug, Kuv yuav tsis piav qhia ntau ntxiv:

# 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

Peb hloov pauv rau 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

Kev Ntsuas Kev Ntsuas

Yog tias koj pib lub thawv ua ntej rov pib docker, koj tuaj yeem pom tias uname yuav tso tawm cov version ntawm cov ntsiav uas khiav ntawm lub ntsiab system:

# 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

Tom qab rov pib dua, kernel version zoo li no:

# 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

Ntau pab pawg!

# 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

Kev kuaj ceev ceev

Txhawm rau ntsuas qhov poob ntawm virtualization, kuv khiav sysbench, ua piv txwv tseem ceeb Kuv mam li xaiv qhov no.

Khiav sysbench siv Docker+containerd

Processor kuaj

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 xeem

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

Khiav sysbench siv Docker + Kata Containers

Processor kuaj

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 xeem

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

Raws li txoj cai, qhov xwm txheej twb tau meej lawm, tab sis nws yog qhov zoo rau kev sim ntau zaus, tshem tawm cov txiaj ntsig thiab qhov nruab nrab ntawm cov txiaj ntsig, yog li kuv tseem tsis tau sim ntau ntxiv.

tshawb pom

Txawm hais tias qhov tseeb tias kev xa tawm cov thawv no yuav siv sijhawm li tsib mus rau kaum lub sijhawm ntev dua (lub sijhawm tso tawm ib txwm rau cov lus txib zoo sib xws thaum siv cov thawv ntim tsawg dua li ib feem peb ntawm ob), lawv tseem ua haujlwm sai heev yog tias peb siv lub sijhawm tso tawm tiag tiag (muaj. piv txwv saum toj no, cov lus txib ua tiav hauv qhov nruab nrab ntawm peb vib nas this). Zoo, cov txiaj ntsig ntawm kev sim ceev ntawm CPU thiab RAM qhia tau zoo tib yam cov txiaj ntsig, uas yog xov xwm zoo, tshwj xeeb tshaj yog nyob rau hauv lub teeb ntawm qhov kev sib cais yog muab los ntawm kev siv cov txheej txheem zoo li kvm.

Tshaj tawm

Kab lus yog kev tshuaj xyuas, tab sis nws muab sijhawm rau koj los sim ua lwm lub sijhawm ua haujlwm. Ntau qhov chaw thov tsis raug them, piv txwv li, lub vev xaib piav qhia txog qhov muaj peev xwm khiav Kubernetes rau saum Kata Thawv. Tsis tas li ntawd, koj tuaj yeem ua ntau yam kev ntsuam xyuas txhawm rau nrhiav cov teeb meem kev nyab xeeb, teeb tsa kev txwv thiab lwm yam nthuav.

Kuv thov kom txhua tus neeg uas tau nyeem ntawv tiav thiab rov rov qab los ntawm no los koom nrog hauv daim ntawv ntsuam xyuas, qhov twg cov ntawv tshaj tawm yav tom ntej ntawm cov ncauj lus no yuav nyob ntawm.

Tsuas yog cov neeg siv sau npe tuaj yeem koom nrog hauv daim ntawv ntsuam xyuas. Kos npe rau hauvthov.

Kuv puas yuav tsum tau tshaj tawm cov lus hais txog Kata Containers?

  • 80,0%Yog, sau ntxiv!28

  • 20,0%Tsis yog, nws tsis tsim nyog nws ... 7

35 cov neeg siv pov npav. 7 cov neeg siv txwv tsis pub siv.

Tau qhov twg los: www.hab.com

Ntxiv ib saib