README.md 7.4 KB
Newer Older
C
caihaomin 已提交
1
<img src="logo/isula-logo.png" alt="iSulad" style="zoom:80%;" />
O
overweight 已提交
2

C
caihaomin 已提交
3 4
## iSulad

I
IT砖瓦工 已提交
5
`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.
C
caihaomin 已提交
6 7 8 9 10 11 12 13 14 15 16 17 18 19

## Getting Started

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

Install iSulad with yum
```sh
yum install -y iSulad
```

### Run
We provide `systemd` service to start `iSulad`
```sh
C
c00416947 已提交
20
systemctl start isulad # run the server with systemd command
C
caihaomin 已提交
21 22 23 24
```

You can use direct command to start `iSulad` server:
```sh
L
LiuHao 已提交
25
$ sudo isulad  # run the server with default socket name and default log level and images manage function
C
caihaomin 已提交
26 27
```
### Operations on containers:
L
LiuHao 已提交
28
`iSulad` provides command line `isulad` to talk with server.
C
caihaomin 已提交
29 30 31 32 33
Here are some sample commands to manager containers.

List all containers in your own environment:
```sh
# list containers
L
LiuHao 已提交
34
$ sudo isula ps -a
C
caihaomin 已提交
35 36 37 38
```

Create a container with busybox named `test`
```sh
L
LiuHao 已提交
39 40
# create a container 'test' with image busybox
$ sudo isula create -t -n test busybox
C
caihaomin 已提交
41 42 43 44
```

Start this container `test`
```sh
L
LiuHao 已提交
45 46
# start the container 'test'
$ sudo isula start test
C
caihaomin 已提交
47 48 49
```
Kill the container `test`
```sh
L
LiuHao 已提交
50 51
# kill the container 'test'
$ sudo isula kill test
C
caihaomin 已提交
52 53 54
```
Remove the container `test`
```sh
L
LiuHao 已提交
55 56
# remove the container 'test'
$ sudo isula rm test
C
caihaomin 已提交
57 58 59
```

### Build from source
C
caihaomin 已提交
60
Build requirements for developers are listed in [build_guide](./docs/build_guide.md)
O
overweight 已提交
61

L
leizhongkai 已提交
62
### Integration
N
ning Li 已提交
63
Integrate with `kubernetes` are listed in [integration.md](./docs/integration.md)
L
leizhongkai 已提交
64

H
haozi007 已提交
65 66 67 68
## Performance

#### Machine configuration

H
haozi007 已提交
69 70
X86 machine:

H
haozi007 已提交
71 72 73
| Configuration | Information                                  |
| ------------- | -------------------------------------------- |
| OS            | Fedora32 X86_64                              |
H
haozi007 已提交
74
| Kernel        | linux 5.7.10-201.fc32.x86_64                 |
H
haozi007 已提交
75
| CPU           | 48 cores,Intel Xeon CPU E5-2695 v2 @ 2.4GHZ |
H
haozi007 已提交
76
| Memory        | 132 GB                                       |
H
haozi007 已提交
77

H
haozi007 已提交
78 79
ARM machine:

H
haozi007 已提交
80 81
| Configuration | Information   |
| ------------- | ------------- |
H
haozi007 已提交
82
| OS            | openEuler       |
H
haozi007 已提交
83 84 85
| Kernel        | linux 4.19.90 |
| CPU           | 64 cores      |
| Memory        | 196 GB        |
H
haozi007 已提交
86

H
haozi007 已提交
87 88
#### Version of Softwares

L
lifeng68 已提交
89 90
| Name      | Version                                                                |
| --------- | ---------------------------------------------------------------------- |
H
haozi007 已提交
91
| iSulad    | Version:	2.0.3 , Git commit:  3bb24761f07cc0ac399e1cb783053db8b33b263d |
L
lifeng68 已提交
92 93 94 95 96
| 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                                                                |
H
haozi007 已提交
97 98 99 100 101 102 103 104 105 106 107 108 109 110 111

#### Design of testcase

![design of performance test](./docs/design/performan_test_design.png)

About code of test

- [x] 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](https://gitee.com/openeuler/iSulad/wikis/2020-%E4%B8%8B%E5%8D%8A%E5%B9%B4%E7%89%B9%E6%80%A7%E8%B7%AF%E6%A0%87?sort_id=2471417)...

#### Compare with other container engines

##### run operator once

H
haozi007 已提交
112 113
###### X86

H
haozi007 已提交
114 115 116 117 118 119 120 121 122 123 124 125
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

H
haozi007 已提交
126 127 128 129
| 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% |
H
haozi007 已提交
130

H
haozi007 已提交
131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149
###### 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% |

H
haozi007 已提交
150 151
##### parallel to run operator 100 times

H
haozi007 已提交
152 153
###### X86

H
haozi007 已提交
154 155 156 157 158 159 160 161 162 163 164 165
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

H
haozi007 已提交
166 167 168 169
| 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%  |
H
haozi007 已提交
170

H
haozi007 已提交
171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189
###### 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% |

O
overweight 已提交
190 191 192 193 194 195 196
## 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:

- https://www.kernel.org/doc/html/v4.10/process/coding-style.html

L
lifeng68 已提交
197 198 199 200
You can get more information about iSulad from our wikis, including roadmap, feature design documents, etc:

- https://gitee.com/openeuler/iSulad/wikis

O
overweight 已提交
201 202
## Licensing

203
iSulad is licensed under the Mulan PSL v2.
204 205 206 207 208

## Join us
You can join us on any of the following channels:
* Join our [mailing list](https://mailweb.openeuler.org/postorius/lists/isulad.openeuler.org/)
* Join our Biweekly meeting at 16:30 pm on Tuesday (meeting link will be mailed at mailing list)