README.md 5.1 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 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136
## Performance

#### Machine configuration

| 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                                       |

#### 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](./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

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 Podman |
| ------------- | ------ | ---- | ------ | --------- | --------- |
| runp          | 681    | 321  | 186    | -72.69%   | -42.06%   |
| stopp         | 400    | 356  | 169    | -57.75%   | -52.53%   |

##### parallel to run operator 100 times

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 Podman |
| ------------- | ------ | ---- | ------ | --------- | --------- |
| 100 * runp    | 13998  | 4946 | 2825   | -79.82%   | -42.88%   |
| 100 * stopp   | 8402   | 4834 | 4543   | -45.93%   | -6.02%    |

O
overweight 已提交
137 138 139 140 141 142 143 144 145
## 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

## Licensing

146
iSulad is licensed under the Mulan PSL v2.