From acb5274b352e3155df0ceb83cedfda4eda1dfd80 Mon Sep 17 00:00:00 2001 From: myeuler Date: Wed, 22 Jan 2020 17:05:28 +0800 Subject: [PATCH 1/3] =?UTF-8?q?update=20cmake/checker.cmake.=20force=20to?= =?UTF-8?q?=20do=20libevhtp=20check=EF=BC=8Cfor=20the=20reason=20that=20th?= =?UTF-8?q?e=20system=20will=20compile=20with=20libevhtp,=20but=20cmake=20?= =?UTF-8?q?checker=20failed=20to=20find=20out=20the=20missing=20lib.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cmake/checker.cmake | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/cmake/checker.cmake b/cmake/checker.cmake index a570418b1..71dfcae21 100644 --- a/cmake/checker.cmake +++ b/cmake/checker.cmake @@ -100,7 +100,7 @@ if (GRPC_CONNECTOR OR ENABLE_OCI_IMAGE) endif() -if (GRPC_CONNECTOR) +#if (GRPC_CONNECTOR) # check websocket find_path(WEBSOCKET_INCLUDE_DIR libwebsockets.h) _CHECK(WEBSOCKET_INCLUDE_DIR "WEBSOCKET_INCLUDE_DIR-NOTFOUND" libwebsockets.h) @@ -115,7 +115,12 @@ if (GRPC_CONNECTOR) find_library(CLIBCNI_LIBRARY clibcni HINTS ${PC_CLIBCNI_LIBDIR} ${PC_CLIBCNI_LIBRARY_DIRS}) _CHECK(CLIBCNI_LIBRARY "CLIBCNI_LIBRARY-NOTFOUND" "libclibcni.so") -else() +#else() + + # + # For the reason that the build process need evhtp lib, cmake need to + # do lib check job + # pkg_check_modules(PC_EVENT "event>=2.1.8") find_path(EVENT_INCLUDE_DIR event.h HINTS ${PC_EVENT_INCLUDEDIR} ${PC_EVENT_INCLUDE_DIRS}) @@ -131,7 +136,7 @@ else() find_library(EVHTP_LIBRARY evhtp HINTS ${PC_EVHTP_LIBDIR} ${PC_EVHTP_LIBRARY_DIRS}) _CHECK(EVHTP_LIBRARY "EVHTP_LIBRARY-NOTFOUND" "libevhtp.so") -endif() +#endif() if (ENABLE_EMBEDDED_IMAGE) pkg_check_modules(PC_SQLITE3 "sqlite3>=3.7.17") -- Gitee From 58867ff4a8e9b1b5d54564cf5dee98b1b069e758 Mon Sep 17 00:00:00 2001 From: myeuler Date: Thu, 23 Jan 2020 11:52:04 +0800 Subject: [PATCH 2/3] update docs/architecture_en.md. --- docs/architecture_en.md | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/docs/architecture_en.md b/docs/architecture_en.md index 3ce891a4e..cc35834c9 100644 --- a/docs/architecture_en.md +++ b/docs/architecture_en.md @@ -4,40 +4,40 @@ ![architecture](design/arch.jpg) -iSulad is an OCI-compliant container running engine that emphasizes simplicity, robustness, and lightweight. +iSulad is an OCI-compliant container runtime engine that emphasizes simplicity, robustness, performance 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. +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 for users. -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. +You can use Docker-like commands to manage container images and iSulad provides gRPC APIs which comply with the CRI standard for Kubernetes. -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. +iSulad is divided into different modules, and the modules are organized into subsystems. Understanding these modules, subsystems, and their relationships is important to modify and extend iSulad. -This document describes only the high-level function design of each module. For more information about each module, see the relevant design documents. +This document describes the high-level system architecture design. For more information about each module, please refer to the relevant design documents. ## Subsystem -You can interact with the iSulad by calling gRPC APIs provided by the subsystem. +You can interact with the iSulad by invoking gRPC APIs exported 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. +- **image service** : Image management service, provides image-related operations, such as image download, query, and deletion. +- **execution service**: Container life cycle management service, 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 +- **resource manage**: Container resource management module, 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. +- **Executor**:Runtime for executing actual container operations. The LCR acts as the default runtime and can be extended through the plug-in mechanism. -- **Events**:Container event collection +- **Events**:Container event collection module -- **Plugins**:Provides the plugin mechanism to extend container functions through different plugins. +- **Plugins**:Provides the plugin mechanism to extend container capabilities 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. +- **HA**:This module provides fault locating and garbage collection service. ### Network architecture design -The following figure shows the architecture: +The figure shows the architecture: ![CNI_architecture](./design/CNI_architecture.png) -- Gitee From 88c1ed8d8ffc00ebd334c62651473d02fa2e2f1e Mon Sep 17 00:00:00 2001 From: myeuler Date: Thu, 23 Jan 2020 11:58:41 +0800 Subject: [PATCH 3/3] update cmake/checker.cmake. --- cmake/checker.cmake | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/cmake/checker.cmake b/cmake/checker.cmake index 71dfcae21..a570418b1 100644 --- a/cmake/checker.cmake +++ b/cmake/checker.cmake @@ -100,7 +100,7 @@ if (GRPC_CONNECTOR OR ENABLE_OCI_IMAGE) endif() -#if (GRPC_CONNECTOR) +if (GRPC_CONNECTOR) # check websocket find_path(WEBSOCKET_INCLUDE_DIR libwebsockets.h) _CHECK(WEBSOCKET_INCLUDE_DIR "WEBSOCKET_INCLUDE_DIR-NOTFOUND" libwebsockets.h) @@ -115,12 +115,7 @@ endif() find_library(CLIBCNI_LIBRARY clibcni HINTS ${PC_CLIBCNI_LIBDIR} ${PC_CLIBCNI_LIBRARY_DIRS}) _CHECK(CLIBCNI_LIBRARY "CLIBCNI_LIBRARY-NOTFOUND" "libclibcni.so") -#else() - - # - # For the reason that the build process need evhtp lib, cmake need to - # do lib check job - # +else() pkg_check_modules(PC_EVENT "event>=2.1.8") find_path(EVENT_INCLUDE_DIR event.h HINTS ${PC_EVENT_INCLUDEDIR} ${PC_EVENT_INCLUDE_DIRS}) @@ -136,7 +131,7 @@ endif() find_library(EVHTP_LIBRARY evhtp HINTS ${PC_EVHTP_LIBDIR} ${PC_EVHTP_LIBRARY_DIRS}) _CHECK(EVHTP_LIBRARY "EVHTP_LIBRARY-NOTFOUND" "libevhtp.so") -#endif() +endif() if (ENABLE_EMBEDDED_IMAGE) pkg_check_modules(PC_SQLITE3 "sqlite3>=3.7.17") -- Gitee