Aotelega puupuu ma le seti o Kata Containers

Aotelega puupuu ma le seti o Kata Containers
O lenei mataupu o le a talanoaina pe faapefea ona galue Kata Containers, ma o le ai ai foi se vaega aoga ma la latou sootaga i Docker.

E uiga i faʻafitauli masani ma Docker ma a latou fofo ua uma na tusia, i aso nei o le a ou faʻamatala puupuu le faʻatinoga mai Kata Containers. Kata Containers ose fa'amautu taimi ta'avale e fa'atatau i masini mama mama. O le galulue faʻatasi ma i latou e tutusa ma isi koneteina, ae i le faʻaopoopoga o loʻo i ai se faʻalagolago sili atu ona faʻalagolago i le faʻaaogaina o tekinolosi faʻaogaina masini. Na amata le poloketi i le 2017, ina ua maeʻa e le faʻalapotopotoga o le igoa tutusa le tuʻufaʻatasia o manatu sili ona lelei mai le Intel Clear Containers ma Hyper.sh RunV, ina ua maeʻa ona faʻaauau le galuega i le lagolago mo fausaga eseese, e aofia ai AMD64, ARM, IBM p- ma z. -faasologa. E le gata i lea, galue i totonu o le hypervisors QEMU, Firecracker e lagolagoina, ma o loʻo iai foʻi le tuʻufaʻatasia ma containerd. O lo'o maua le code ile GitHub i lalo ole laisene MIT.

Mea taua

  • Galulue faʻatasi ma se 'eseʻese autu, faʻapea ona tuʻuina atu fesoʻotaʻiga, manatua ma I / O faʻamavae, e mafai ona faʻamalosia le faʻaogaina o le faʻaogaina o meafaigaluega faʻavae i luga o faʻaopoopoga virtualization
  • Lagolago mo tulaga tau alamanuia e aofia ai le OCI (container format), Kubernetes CRI
  • Fa'atinoga faifaipea o koneteina masani Linux, fa'ateleina le fa'aesea e aunoa ma le fa'atinoina o luga ole VM masani
  • Ave'esea le mana'oga e fa'agaioia atigipusa i totonu o masini komepiuta atoatoa, feso'ota'iga lautele fa'afaigofie le tu'ufa'atasia ma fa'alauiloa.

faatulagaga

o loo i ai toatele filifiliga faʻapipiʻi, o le a ou mafaufau e faʻapipiʻi mai fale teu oloa, faʻavae ile Centos 7 operating system.
tāua: O galuega a Kata Containers e lagolagoina na o meafaigaluega, e le o taimi uma e galue ai le faʻalauiloaina o le virtualization mana'omia le lagolago sse4.1 mai le processor.

Faʻapipiʻi Kata Containers e faigofie lava:

Fa'apipi'i mea faigaluega mo le galulue ai ma fale teu oloa:

# yum -y install yum-utils

Faʻagata Selinux (e sili atu le saʻo le faʻatulagaina, ae mo le faigofie ou te faʻamalo):

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

Matou te faʻafesoʻotaʻi le fale teu oloa ma fai le faʻapipiʻi

# 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

tonu

O le a ou faʻatulagaina e galue ma le docker, o lona faʻapipiʻiina e masani, o le a ou le faʻamatalaina atili:

# 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

Matou te faia suiga ile daemon.json:

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

Toe amata le faufale:

# service docker restart

Siaki siaki

Afai e te amataina le koneteina aʻo leʻi toe amataina le faʻailoga, e mafai ona e vaʻaia o le uname o le a tuʻuina atu le faʻasologa o le fatu o loʻo taʻavale i luga o le faiga autu:

# 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

A maeʻa le toe amataina, o le kernel version e pei o lenei:

# 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

Tele 'au!

# 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

Su'ega uta vave

Ina ia iloilo mea leiloa mai virtualization - ou te tamoe sysbench, e fai ma faʻataʻitaʻiga autu ave lenei filifiliga.

Faʻatautaia sysbench faʻaaoga Docker+containerd

Su'ega fa'agasologa

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

Suʻega 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

Fa'agasolo sysbench fa'aoga Docker+Kata Containers

Su'ega fa'agasologa

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

Suʻega 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

I le mataupu faavae, o le tulaga ua uma ona manino, ae e sili atu ona lelei le faʻataʻitaʻiina o suʻega i le tele o taimi, aveese mea i fafo ma ave faʻatatau iʻuga, o lea ou te le toe faia ai nisi suʻega.

sailiiliga

E ui i le mea moni o ia koneteina e tusa ma le lima i le sefulu taimi le umi e amata ai (o le taimi masani e faʻatautaia ai faʻatonuga tutusa pe a faʻaaoga containerd e itiiti ifo i le tasi vaetolu o le sekone), latou te galue vave lava pe a tatou faʻaaogaina le taimi amata ( o loʻo i ai faʻataʻitaʻiga o loʻo i luga, o poloaiga e faia i le averesi o le tolu sekone). Ia, o faʻaiʻuga o se suʻega vave o le PPU ma le RAM o loʻo faʻaalia toetoe lava tutusa iʻuga, lea e le mafai ona na o le fiafia, aemaise lava i le malamalama o le tuʻufaʻatasiga o loʻo tuʻuina atu e faʻaaoga ai se faiga lelei e pei o kvm.

Faasilasilaga

O le tusiga o se toe iloiloga, ae e te maua ai le avanoa e te lagona ai le isi taimi taʻavale. Ole tele o vaega ole talosaga e le o aofia ai, mo se faʻataʻitaʻiga, o loʻo faʻamatalaina e le saite le avanoa e faʻaogaina ai Kubernetes i luga o Kata Containers. E le gata i lea, e mafai foi ona e faia se faasologa o suʻega e taulaʻi i le sailia o faʻafitauli saogalemu, seti tapulaʻa, ma isi mea manaia.

Ou te talosaga atu ia i latou uma na faitau ma toe suʻesuʻe iinei e auai i le suʻesuʻega, lea o le a faʻalagolago i ai lomiga i le lumanaʻi i lenei autu.

Na'o tagata fa'aigoaina e mafai ona auai i le su'esu'ega. Saini ese j, faʻamolemole.

E tatau ona ou faʻaauau pea ona lolomiina tala e uiga i Kata Containers?

  • 80,0%Ioe, tusi atili!28

  • 20,0%Leai, aua…7

35 tagata fa'aoga na palota. 7 tagata fa'aoga na le fa'aaogaina.

puna: www.habr.com

Faaopoopo i ai se faamatalaga