Score
0
Watch 58 Star 225 Fork 99

openEuler / iSuladCMulanPSL-2.0

Create your Gitee Account
Explore and code with more than 5 million developers,Free private repositories !:)
Sign up
Clone or download
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README.md
iSulad

iSulad

iSulad is a lightweight container runtime daemon which is designed for IOT and Cloud infrastructure.iSulad has the characteristics of light, fast and not limited by hardware specifications and architecture, and can be applied more widely.

Getting Started

Installing

To install iSulad, you can use rpm or yum package manager command with openEuler repository.

Or write repository file by hand:

cat << EOF > /etc/yum.repos.d/openEuler.repo
[openEuler]
baseurl=https://repo.openeuler.org/openEuler-20.03-LTS/OS/\$basearch
enabled=1
EOF

Install iSulad with yum:

yum install -y iSulad

Run

We provide systemd service to start iSulad:

systemctl start isulad # run the server with systemd command

You can use direct command to start iSulad server:

$ sudo isulad  # run the server with default socket name and default log level and images manage function

Operations on containers:

For more informations on how to use iSulad, please refer to the guide

iSulad provides two operate interfaces to manager images and containers.

  • CLI, iSulad provides isula as client CLI

    Here are some sample commands to manager containers.

    List all containers in your own environment:

    # list containers
    $ sudo isula ps -a

    Create a container with busybox named test:

    # create a container 'test' with image busybox
    $ sudo isula create -t -n test busybox

    Start this container test:

    # start the container 'test'
    $ sudo isula start test

    Kill the container test:

    # kill the container 'test':
    $ sudo isula kill test

    Remove the container test:

    # remove the container 'test'
    $ sudo isula rm test
  • CRI interface, iSulad can be integrated with kubernetes through CRI interface

    How to integrate with kubernetes please refer to integration.md

Build from source

Build requirements for developers are listed in build_guide

Performance

Machine configuration

X86 machine:

Configuration Information
OS Fedora32 X86_64
Kernel linux 5.7.10-201.fc32.x86_64
CPU 48 cores,Intel Xeon CPU E5-2695 v2 @ 2.4GHZ
Memory 132 GB

ARM machine:

Configuration Information
OS openEuler
Kernel linux 4.19.90
CPU 64 cores
Memory 196 GB

Version of Softwares

Name Version
iSulad Version: 2.0.3 , Git commit: 3bb24761f07cc0ac399e1cb783053db8b33b263d
docker Version: 19.03.11, Git commit: 42e35e6
podman version 2.0.3
CRI-O v1.15.4
kubelet v1.15.0
cri-tools v1.15.0

Design of testcase

design of performance test

About code of test

  • Now, we use shell to finish test cases of performance;

  • Future, we should have a repository which store all test cases for iSula. Such as, performance tests, validation tests and so on... It's coming soon...

Compare with other container engines

run operator once
X86

base operators of client

operator (ms) Docker Podman iSulad vs Docker vs Podman
create 287 180 87 -69.69% -51.67%
start 675 916 154 -77.19% -83.19%
stop 349 513 274 -21.49% -46.59%
rm 72 187 60 -16.67% -67.91%
run 866 454 195 -77.48% -57.05%

base operators of CRI

operator (ms) Docker CRIO iSulad vs Docker vs CRIO
runp 681 321 186 -72.69% -42.06%
stopp 400 356 169 -57.75% -52.53%
ARM

base operators of client

operator (ms) Docker Podman iSulad vs Docker vs Podman
create 401 361 61 -84.79% -83.10%
start 1160 1143 232 -80.00% -79.70%
stop 634 576 243 -61.67% -57.81%
rm 105 398 46 -56.19% -88.44%
run 1261 1071 258 -79.54% -75.91%

base operators of CRI

operator (ms) Docker CRIO iSulad vs Docker vs CRIO
runp 1339 2366 179 -86.63% -92.43%
stopp 443 419 117 -73.59% -72.08%
parallel to run operator 100 times
X86

base operator of client

operator (ms) Docker Podman iSulad vs Docker vs Podman
100 * create 4995 3993 829 -83.40% -79.24%
100 * start 10126 5537 1425 -85.93% -74.26%
100 * stop 8066 11100 2273 -71.82% -79.52%
100 * rm 3220 4319 438 -86.40% -89.86%
100 * run 9822 5979 2117 -78.45% -64.59%

base operators of CRI

operator (ms) Docker CRIO iSulad vs Docker vs CRIO
100 * runp 13998 4946 2825 -79.82% -42.88%
100 * stopp 8402 4834 4543 -45.93% -6.02%
ARM

base operator of client

operator (ms) Docker Podman iSulad vs Docker vs Podman
100 * create 14563 12081 538 -96.31% -95.55%
100 * start 23420 15370 1841 -92.14% -88.02%
100 * stop 22234 16973 930 -95.82% -94.52%
100 * rm 937 10493 233 -75.13% -97.78%
100 * run 28091 16280 2320 -91.74% -85.75%

base operators of CRI

operator (ms) Docker CRIO iSulad vs Docker vs CRIO
100 * runp 27802 29197 2398 -91.37% -91.79%
100 * stopp 14429 11173 1170 -91.89% -89.53%

How to Contribute

We always welcome new contributors. And we are happy to provide guidance for the new contributors. iSulad follows the kernel coding conventions. You can find a detailed introduction at:

You can get more information about iSulad from our wikis, including roadmap, feature design documents, etc:

Licensing

iSulad is licensed under the Mulan PSL v2.

Join us

You can join us on any of the following channels:

  • Join our mailing list
  • Join our Biweekly meeting at 16:30 pm on Tuesday (meeting link will be mailed at mailing list)

About

iSulad is a light weight container runtime daemon which is designed for IOT and Cloud infrastructure. spread retract
C and 5 more languages
MulanPSL-2.0
Cancel

Releases (8)

All

Gitee Metrics

Contributors

All

Activities

load more
can not load any more