From e9789ed8b802554e6c4b3bd073201bbc144fc684 Mon Sep 17 00:00:00 2001 From: Grooooot Date: Tue, 21 Jan 2020 10:01:32 +0800 Subject: [PATCH] sync openeuler Signed-off-by: Grooooot --- README.md | 2 +- docs/architecture_en.md | 43 ++++++++++ docs/{architecture.md => architecture_zh.md} | 82 +++++++++---------- docs/design/arch.jpg | Bin 0 -> 82409 bytes iSulad.spec | 6 +- 5 files changed, 89 insertions(+), 44 deletions(-) create mode 100644 docs/architecture_en.md rename docs/{architecture.md => architecture_zh.md} (56%) create mode 100644 docs/design/arch.jpg diff --git a/README.md b/README.md index 747289e..066e9dd 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ yum install -y iSulad ### Run We provide `systemd` service to start `iSulad` ```sh -systemd start isulad # run the server with systemd command +systemctl start isulad # run the server with systemd command ``` You can use direct command to start `iSulad` server: diff --git a/docs/architecture_en.md b/docs/architecture_en.md new file mode 100644 index 0000000..3ce891a --- /dev/null +++ b/docs/architecture_en.md @@ -0,0 +1,43 @@ +# iSulad Architecture + +## Overview + +![architecture](design/arch.jpg) + +iSulad is an OCI-compliant container running engine that emphasizes simplicity, robustness, and lightweight. + +As a daemon process, it manages the entire container life cycle of the host system, including image transmission and storage, container execution and monitoring management, container resource management, and network management. iSulad provides Docker-like CLI man-machine interfaces for external systems. + +You can use Docker-like commands to manage containers and provides gRPC APIs that comply with the CRI interface standard for Kubernetes to invoke based on the CRI interface protocol. + +For easily understanding, the behavior unit of the iSulad is divided into different modules, and the modules are roughly organized into subsystems. Understanding these modules, subsystems, and their relationships is key to modifying and extending iSulad. + +This document describes only the high-level function design of each module. For more information about each module, see the relevant design documents. + +## Subsystem + +You can interact with the iSulad by calling gRPC APIs provided by the subsystem. + +- **image service** : Image management service, which provides image-related operations, such as image download, query, and deletion. +- **execution service**: Container life cycle management service, which provides container-related operations, such as container creation, startup, and deletion. +- **network**:The network subsystem is responsible for network management capabilities of the pod of the CRI. When a pod is started, the pod is added to the network plane specified in the configuration file through the CNI interface. When a pod is stopped, the CNI API is used to remove the pod from the network plane where the pod is located and clear related network resources. + +## Module + +- **image content** : Managing Image Metadata and Container File Systems + +- **resource manage**: Container resource management, for example, setting available CPU and memory resource limits + +- **Executor**:Runtime for executing actual container operations. The LCR is provided as the default runtime and can be extended through the plug-in mechanism. + +- **Events**:Container event collection + +- **Plugins**:Provides the plugin mechanism to extend container functions through different plugins. + +- **HA**:The log mechanism is provided for fault locating. The garbage collection mechanism is provided to reclaim abnormal container resources such as D and Z. + +### Network architecture design + +The following figure shows the architecture: + +![CNI_architecture](./design/CNI_architecture.png) diff --git a/docs/architecture.md b/docs/architecture_zh.md similarity index 56% rename from docs/architecture.md rename to docs/architecture_zh.md index f849492..8820fb9 100644 --- a/docs/architecture.md +++ b/docs/architecture_zh.md @@ -1,41 +1,41 @@ -# iSulad Architecture - -## Overview - - - -![architecture](design/architecture.png) - -iSulad是一个符合OCI标准的容器运行引擎,强调简单性、健壮性和轻量化。它作为守护进程提供服务,可以管理其主机系统的整个容器生命周期:镜像的传输和存储、容器执行和监控管理、容器资源管理以及网络等。iSulad对外提供与docker类似的CLI人机接口,可以使用与docker类似的命令进行容器管理,并且提供符合CRI接口标准的gRPC API,可供kubernetes\Hasen 按照CRI接口协议调用。 - -为了方便理解,我们将iSulad的行为单元分成不同的模块,模块大致被组织成子系统。了解这些模块、子系统及其关系是修改和扩展iSulad的关键 - -本文档将仅描述各个模块的high-level功能设计。有关每个模块的详细信息,请参阅相关设计文档。 - -## 子系统 - -外部用户通过调用子系统提供的GRPC API与iSulad进行交互。 - -- **image service** : 镜像管理服务,提供镜像相关操作,如镜像下载、查询、删除等 -- **execution service**: 容器生命周期管理服务,提供容器的相关操作,如容器创建、启动、删除等 -- **network**:网络子模块负责CRI的Pod的网络管理能力。当Pod启动时,通过CNI的接口把该Pod加入到配置文件制定的网络平面中;当Pod停止时,通过CNI的接口把该Pod从所在的网络平面中退出,并且清理相关的网络资源。 - -## 模块 - -- **image content** : 管理镜像元数据以及容器文件系统。 - -- **resource manage**: 容器资源管理,如设置可用cpu、memory等资源限制 - -- **Executor**:执行实际容器操作的runtime,提供lcr作为默认runtime,可通过plugin机制扩展 - -- **Events**:容器事件收集 - -- **Plugins**:提供插件机制,通过不同插件,实现扩展容器功能。 - -- **DFX**:提供日志机制用于定位问题,提供garbage collect 机制回收容器D/Z 等异常容器资源,具备DFX能力。 - -### 网络架构设计 - -架构图,如下: - -![CNI_architecture](./design/CNI_architecture.png) +# iSulad Architecture + +## Overview + +![architecture](design/arch.jpg) + +iSulad是一个基于OCI标准的容器运行引擎,强调简单性、健壮性和轻量化。 + +作为守护进程,iSulad提供容器生命周期管理相关服务:包括镜像的传输和存储、容器执行和监控管理、容器资源管理以及网络等。iSulad对外提供与docker类似的CLI命令行接口,可使用该命令行进行容器管理;并且提供符合CRI接口标准的gRPC API,可供kubernetes 按照CRI接口协议调用。 + +为了方便理解,我们将iSulad分成不同的模块,并根据模块的类别组织成子系统。了解这些模块、子系统及其关系是修改和扩展iSulad的关键 + +本文档将仅描述各个模块的high-level功能设计。有关每个模块的详细信息,请参阅相关设计文档。 + +## 子系统 + +用户可通过调用子系统提供的GRPC API与iSulad进行交互。 + +- **image service** : 镜像管理服务,提供镜像相关操作,如镜像下载、查询、删除等 +- **execution service**: 容器生命周期管理服务,提供容器的相关操作,如容器创建、启动、删除等 +- **network**:网络子模块负责CRI的Pod的网络管理能力。当Pod启动时,通过CNI的接口把该Pod加入到配置文件制定的网络平面中;当Pod停止时,通过CNI的接口把该Pod从所在的网络平面中退出,并且清理相关的网络资源。 + +## 模块 + +- **image content** : 管理镜像元数据以及容器文件系统。 + +- **resource manage**: 容器资源管理,如设置可用cpu、memory等资源限制 + +- **Executor**:执行实际容器操作的runtime,提供lcr作为默认runtime,可通过plugin机制扩展 + +- **Events**:容器事件收集 + +- **Plugins**:提供插件机制,通过不同插件,实现扩展容器功能。 + +- **HA**:提供日志机制用于定位问题,提供garbage collect 机制回收容器D/Z 等异常容器资源。 + +### 网络架构设计 + +架构图,如下: + +![CNI_architecture](./design/CNI_architecture.png) diff --git a/docs/design/arch.jpg b/docs/design/arch.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5a764869f12c49b4cf0e950c8fb65b77e104388e GIT binary patch literal 82409 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 /dev/null; then