1. support default container log options 2. fix bugs 3. show all mutl network's ips 4. update api.proto to k8s v1.19.3 Signed-off-by: haozi007 <liuhao27@huawei.com>
306 lines
9.4 KiB
Diff
306 lines
9.4 KiB
Diff
From da5ab167ebc5765c91630846cd0850acd6ce8814 Mon Sep 17 00:00:00 2001
|
||
From: haozi007 <liuhao27@huawei.com>
|
||
Date: Thu, 26 Nov 2020 14:58:05 +0800
|
||
Subject: [PATCH 13/17] add ch docs for install iSulad
|
||
|
||
Signed-off-by: haozi007 <liuhao27@huawei.com>
|
||
---
|
||
README.md | 7 ++
|
||
docs/build_guide.md | 22 +++---
|
||
docs/build_guide_zh.md | 164 +++++++++++++++++++++++++++++++++++++++++
|
||
3 files changed, 182 insertions(+), 11 deletions(-)
|
||
create mode 100644 docs/build_guide_zh.md
|
||
|
||
diff --git a/README.md b/README.md
|
||
index 9b34d615..1dd3cf1a 100644
|
||
--- a/README.md
|
||
+++ b/README.md
|
||
@@ -4,9 +4,16 @@
|
||
|
||
`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.
|
||
|
||
+## Documentation
|
||
+
|
||
+- [en build guide](./docs/build_guide.md)
|
||
+- [cn build guide](./docs/build_guide_zh.md)
|
||
+- [more usage guide](https://openeuler.org/zh/docs/20.09/docs/Container/iSula%E5%AE%B9%E5%99%A8%E5%BC%95%E6%93%8E.html)
|
||
+
|
||
## Getting Started
|
||
|
||
### Installing
|
||
+
|
||
To install iSulad, you can use `rpm` or `yum` package manager command with `openEuler` repository.
|
||
|
||
Or write repository file by hand:
|
||
diff --git a/docs/build_guide.md b/docs/build_guide.md
|
||
index 912139fa..2ee12c39 100644
|
||
--- a/docs/build_guide.md
|
||
+++ b/docs/build_guide.md
|
||
@@ -7,12 +7,12 @@ If you intend to contribute on iSulad. Thanks for your effort. Every contributio
|
||
These dependencies are required for build:
|
||
|
||
### install basic dependencies based on Centos distribution
|
||
-```sh
|
||
+```bash
|
||
$ sudo yum --enablerepo='*' install -y automake autoconf libtool cmake make libcap libcap-devel libselinux libselinux-devel libseccomp libseccomp-devel yajl-devel git libcgroup tar python3 python3-pip device-mapper-devel libarchive libarchive-devel libcurl-devel zlib-devel glibc-headers openssl-devel gcc gcc-c++ systemd-devel systemd-libs golang libtar libtar-devel
|
||
```
|
||
|
||
### install basic dependencies based on Ubuntu distribution
|
||
-```sh
|
||
+```bash
|
||
$ sudo apt install -y libtool automake autoconf cmake make pkg-config libyajl-dev zlib1g-dev libselinux-dev libseccomp-dev libcap-dev libsystemd-dev git libcurl4-gnutls-dev openssl libdevmapper-dev golang python3 libtar libtar-dev
|
||
```
|
||
|
||
@@ -24,13 +24,13 @@ Please use the protobuf and grpc came with your distribution, if not exists then
|
||
Note: grpc-1.22 can not support GCC 9+.
|
||
|
||
### set ldconfig and pkgconfig
|
||
-```
|
||
+```bash
|
||
$ export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
|
||
$ export LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:$LD_LIBRARY_PATH
|
||
$ sudo -E echo "/usr/local/lib" >> /etc/ld.so.conf
|
||
```
|
||
### build and install protobuf
|
||
-```
|
||
+```bash
|
||
$ git clone https://gitee.com/src-openeuler/protobuf.git
|
||
$ cd protobuf
|
||
$ git checkout openEuler-20.03-LTS-tag
|
||
@@ -44,7 +44,7 @@ $ sudo -E ldconfig
|
||
```
|
||
|
||
### build and install c-ares
|
||
-```
|
||
+```bash
|
||
$ git clone https://gitee.com/src-openeuler/c-ares.git
|
||
$ cd c-ares
|
||
$ git checkout openEuler-20.03-LTS-tag
|
||
@@ -58,7 +58,7 @@ $ sudo -E ldconfig
|
||
```
|
||
|
||
### build and install grpc
|
||
-```
|
||
+```bash
|
||
$ git clone https://gitee.com/src-openeuler/grpc.git
|
||
$ cd grpc
|
||
$ git checkout openEuler-20.03-LTS-tag
|
||
@@ -70,7 +70,7 @@ $ sudo -E ldconfig
|
||
```
|
||
|
||
### build and install http-parser
|
||
-```
|
||
+```bash
|
||
$ git clone https://gitee.com/src-openeuler/http-parser.git
|
||
$ cd http-parser
|
||
$ git checkout openEuler-20.03-LTS-tag
|
||
@@ -82,7 +82,7 @@ $ sudo -E ldconfig
|
||
```
|
||
|
||
### build and install libwebsockets
|
||
-```
|
||
+```bash
|
||
$ git clone https://gitee.com/src-openeuler/libwebsockets.git
|
||
$ cd libwebsockets
|
||
$ git checkout openEuler-20.03-LTS-tag
|
||
@@ -101,7 +101,7 @@ $ sudo -E ldconfig
|
||
iSulad depend on some specific versions dependencies.
|
||
|
||
### build and install lxc
|
||
-```
|
||
+```bash
|
||
$ git clone https://gitee.com/src-openeuler/lxc.git
|
||
$ cd lxc
|
||
$ tar -zxf lxc-4.0.3.tar.gz
|
||
@@ -114,7 +114,7 @@ $ sudo -E make install
|
||
```
|
||
|
||
### build and install lcr
|
||
-```
|
||
+```bash
|
||
$ git clone https://gitee.com/openeuler/lcr.git
|
||
$ cd lcr
|
||
$ mkdir build
|
||
@@ -125,7 +125,7 @@ $ sudo -E make install
|
||
```
|
||
|
||
### build and install clibcni
|
||
-```
|
||
+```bash
|
||
$ git clone https://gitee.com/openeuler/clibcni.git
|
||
$ cd clibcni
|
||
$ mkdir build
|
||
diff --git a/docs/build_guide_zh.md b/docs/build_guide_zh.md
|
||
new file mode 100644
|
||
index 00000000..182d6fec
|
||
--- /dev/null
|
||
+++ b/docs/build_guide_zh.md
|
||
@@ -0,0 +1,164 @@
|
||
+# 源码编译iSulad
|
||
+
|
||
+我们感谢为iSulad做的任何贡献。
|
||
+
|
||
+## 各发行版本的基本依赖安装
|
||
+
|
||
+这些依赖是编译依赖的基础组件:
|
||
+
|
||
+### openEuler的安装命令
|
||
+
|
||
+openEuler可以直接通过编译依赖自动安装的方式(其他rpm的发行版本也可以参考,但是存在部分包名不一致的情况),具体如下:
|
||
+
|
||
+```bash
|
||
+dnf builddep iSulad.spec
|
||
+```
|
||
+
|
||
+注:iSulad.spec直接用源码中的文件即可。
|
||
+
|
||
+### Centos的安装命令
|
||
+
|
||
+```bash
|
||
+$ sudo yum --enablerepo='*' install -y automake autoconf libtool cmake make libcap libcap-devel libselinux libselinux-devel libseccomp libseccomp-devel yajl-devel git libcgroup tar python3 python3-pip device-mapper-devel libarchive libarchive-devel libcurl-devel zlib-devel glibc-headers openssl-devel gcc gcc-c++ systemd-devel systemd-libs libtar libtar-devel
|
||
+```
|
||
+
|
||
+### Ubuntu的安装命令
|
||
+```bash
|
||
+$ sudo apt install -y libtool automake autoconf cmake make pkg-config libyajl-dev zlib1g-dev libselinux-dev libseccomp-dev libcap-dev libsystemd-dev git libcurl4-gnutls-dev openssl libdevmapper-dev python3 libtar libtar-dev
|
||
+```
|
||
+
|
||
+## 从源码构建和安装关键依赖
|
||
+下面的依赖组件,你的包管理中可能不存在,或者版本不满足要求。因此,需要从源码编译安装。protobuf和grpc建议直接通过包管理安装,除非没有或者版本太老。
|
||
+
|
||
+***注意:grpc-1.22不支持GCC 9+。***
|
||
+
|
||
+### 设置ldconfig和pkgconfig的路径
|
||
+
|
||
+编译安装的默认路径为`/usr/local/lib/`,因此需要把该路径添加到`PKG_CONFIG_PATH`和`LD_LIBRARY_PATH`,从而系统能找到我们编译安装的软件包和lib库。如果安装的`/usr/lib/`,可以忽略这一步。
|
||
+
|
||
+```bash
|
||
+$ export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
|
||
+$ export LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:$LD_LIBRARY_PATH
|
||
+$ sudo -E echo "/usr/local/lib" >> /etc/ld.so.conf
|
||
+```
|
||
+### 编译安装protobuf
|
||
+```bash
|
||
+$ git clone https://gitee.com/src-openeuler/protobuf.git
|
||
+$ cd protobuf
|
||
+$ git checkout openEuler-20.03-LTS-tag
|
||
+$ tar -xzvf protobuf-all-3.9.0.tar.gz
|
||
+$ cd protobuf-3.9.0
|
||
+$ sudo -E ./autogen.sh
|
||
+$ sudo -E ./configure
|
||
+$ sudo -E make -j $(nproc)
|
||
+$ sudo -E make install
|
||
+$ sudo -E ldconfig
|
||
+```
|
||
+
|
||
+### 编译安装c-ares
|
||
+```bash
|
||
+$ git clone https://gitee.com/src-openeuler/c-ares.git
|
||
+$ cd c-ares
|
||
+$ git checkout openEuler-20.03-LTS-tag
|
||
+$ tar -xzvf c-ares-1.15.0.tar.gz
|
||
+$ cd c-ares-1.15.0
|
||
+$ sudo -E autoreconf -if
|
||
+$ sudo -E ./configure --enable-shared --disable-dependency-tracking
|
||
+$ sudo -E make -j $(nproc)
|
||
+$ sudo -E make install
|
||
+$ sudo -E ldconfig
|
||
+```
|
||
+
|
||
+### 编译安装grpc
|
||
+```bash
|
||
+$ git clone https://gitee.com/src-openeuler/grpc.git
|
||
+$ cd grpc
|
||
+$ git checkout openEuler-20.03-LTS-tag
|
||
+$ tar -xzvf grpc-1.22.0.tar.gz
|
||
+$ cd grpc-1.22.0
|
||
+$ sudo -E make -j $(nproc)
|
||
+$ sudo -E make install
|
||
+$ sudo -E ldconfig
|
||
+```
|
||
+
|
||
+### 编译安装http-parser
|
||
+```bash
|
||
+$ git clone https://gitee.com/src-openeuler/http-parser.git
|
||
+$ cd http-parser
|
||
+$ git checkout openEuler-20.03-LTS-tag
|
||
+$ tar -xzvf http-parser-2.9.2.tar.gz
|
||
+$ cd http-parser-2.9.2
|
||
+$ sudo -E make -j CFLAGS="-Wno-error"
|
||
+$ sudo -E make CFLAGS="-Wno-error" install
|
||
+$ sudo -E ldconfig
|
||
+```
|
||
+
|
||
+### 编译安装libwebsockets
|
||
+```bash
|
||
+$ git clone https://gitee.com/src-openeuler/libwebsockets.git
|
||
+$ cd libwebsockets
|
||
+$ git checkout openEuler-20.03-LTS-tag
|
||
+$ tar -xzvf libwebsockets-2.4.2.tar.gz
|
||
+$ cd libwebsockets-2.4.2
|
||
+$ patch -p1 -F1 -s < ../libwebsockets-fix-coredump.patch
|
||
+$ mkdir build
|
||
+$ cd build
|
||
+$ sudo -E cmake -DLWS_WITH_SSL=0 -DLWS_MAX_SMP=32 -DCMAKE_BUILD_TYPE=Debug ../
|
||
+$ sudo -E make -j $(nproc)
|
||
+$ sudo -E make install
|
||
+$ sudo -E ldconfig
|
||
+```
|
||
+
|
||
+## 编译安装特定依赖版本
|
||
+iSulad依赖一些特定版本的组件,由于各组件是通过函数接口使用,因此,**必须保证各组件版本一致**。例如:
|
||
+
|
||
+- 统一使用各组件的master分支的代码进行构建;
|
||
+- 后续的releases版本会增加依赖的组件的版本号;
|
||
+- 也统一可以从[openEuler](https://openeuler.org/zh/download/)的特定OS版本,通过包管理工具获取各组件的`src.rpm`包的方式获取源码;
|
||
+- 也可以到[src-openeuler](https://gitee.com/src-openeuler)社区获取各组件相同分支的代码;
|
||
+
|
||
+### 编译安装lxc
|
||
+```bash
|
||
+$ git clone https://gitee.com/src-openeuler/lxc.git
|
||
+$ cd lxc
|
||
+$ tar -zxf lxc-4.0.3.tar.gz
|
||
+$ ./apply-patches
|
||
+$ cd lxc-4.0.3
|
||
+$ sudo -E ./autogen.sh
|
||
+$ sudo -E ./configure
|
||
+$ sudo -E make -j $(nproc)
|
||
+$ sudo -E make install
|
||
+```
|
||
+
|
||
+### 编译安装lcr
|
||
+```bash
|
||
+$ git clone https://gitee.com/openeuler/lcr.git
|
||
+$ cd lcr
|
||
+$ mkdir build
|
||
+$ cd build
|
||
+$ sudo -E cmake ..
|
||
+$ sudo -E make -j $(nproc)
|
||
+$ sudo -E make install
|
||
+```
|
||
+
|
||
+### 编译安装clibcni
|
||
+```bash
|
||
+$ git clone https://gitee.com/openeuler/clibcni.git
|
||
+$ cd clibcni
|
||
+$ mkdir build
|
||
+$ cd build
|
||
+$ sudo -E cmake ..
|
||
+$ sudo -E make -j $(nproc)
|
||
+$ sudo -E make install
|
||
+```
|
||
+
|
||
+### 编译安装iSulad
|
||
+```bash
|
||
+$ git clone https://gitee.com/openeuler/iSulad.git
|
||
+$ cd iSulad
|
||
+$ mkdir build
|
||
+$ cd build
|
||
+$ sudo -E cmake ..
|
||
+$ sudo -E make -j $(nproc)
|
||
+$ sudo -E make install
|
||
+```
|
||
--
|
||
2.25.1
|
||
|