From 40d5c24a3cf99ccea855b5db235b107f0cda6282 Mon Sep 17 00:00:00 2001 From: amyMaYun Date: Tue, 31 Mar 2020 16:27:40 +0800 Subject: [PATCH 01/12] =?UTF-8?q?update=20content/zh/docs/A-Tune/analysis.?= =?UTF-8?q?md.=20=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/zh/docs/A-Tune/analysis.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/zh/docs/A-Tune/analysis.md b/content/zh/docs/A-Tune/analysis.md index d6263be50..2990679f8 100644 --- a/content/zh/docs/A-Tune/analysis.md +++ b/content/zh/docs/A-Tune/analysis.md @@ -2,7 +2,7 @@ ## 功能描述 -采集系统的实时统计数据进行负载类型识别,并进行自动优化。 +采集系统的实时统计数据进行负载类型识别,并进行自动优化。test ## 命令格式 -- Gitee From 52b02f15b7ade344633045980df485fc13f01e5b Mon Sep 17 00:00:00 2001 From: amyMayun Date: Thu, 2 Apr 2020 21:11:53 +0800 Subject: [PATCH 02/12] update xml config of virtualization user guide --- ...07\344\273\266\347\244\272\344\276\213.md" | 2 +- ...0\346\210\267\346\214\207\345\215\227.pdf" | Bin 1798929 -> 1794362 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git "a/content/zh/docs/Virtualization/XML\351\205\215\347\275\256\346\226\207\344\273\266\347\244\272\344\276\213.md" "b/content/zh/docs/Virtualization/XML\351\205\215\347\275\256\346\226\207\344\273\266\347\244\272\344\276\213.md" index 2eec5fd7f..bfa24a04d 100644 --- "a/content/zh/docs/Virtualization/XML\351\205\215\347\275\256\346\226\207\344\273\266\347\244\272\344\276\213.md" +++ "b/content/zh/docs/Virtualization/XML\351\205\215\347\275\256\346\226\207\344\273\266\347\244\272\344\276\213.md" @@ -2,7 +2,7 @@ ## 概述 -本节给出两个基本的AArch64虚拟机和一个x86\_64虚拟机的XML配置文件示例,供用户参考。 +本节给出一个基本的AArch64虚拟机和一个x86\_64虚拟机的XML配置文件示例,供用户参考。 ## 示例一 diff --git "a/rdocs/zh/openEuler 20.03 LTS_20200324/openEuler 20.03 LTS \350\231\232\346\213\237\345\214\226\347\224\250\346\210\267\346\214\207\345\215\227.pdf" "b/rdocs/zh/openEuler 20.03 LTS_20200324/openEuler 20.03 LTS \350\231\232\346\213\237\345\214\226\347\224\250\346\210\267\346\214\207\345\215\227.pdf" index 1d865a31d69184a5d2e369fd26cb7815b0bd5f94..072b911c841e83f70865a171eb7df99f4357b874 100644 GIT binary patch delta 558091 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%0A5vz`R3)9p3Lw7AJq<*v8--znX+Rp?ELmbe-MWqz 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%0AS2TTM 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�Qw_*fp7nKv;p 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

RgZ)AAS?v3YGMNVAT^ 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 CF|tws delta 563015 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 r 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 z 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 z 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�iuF;zGZMLhD2lGTge$g#Fi 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%0DB1^wqQlsa`xWuxJn)GRTz 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℘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

j)f5T=Jq8?@6z+D;oGXdW{Xp_# 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%0AO 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

V5Oe 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 literal 0 HcmV?d00001 diff --git a/content/en/docs/A-Tune/figures/en-us_image_0227497343.png b/content/en/docs/A-Tune/figures/en-us_image_0227497343.png new file mode 100644 index 0000000000000000000000000000000000000000..b614ad05d1f687b344f6bc1ff2f7e72938968aee GIT binary patch literal 87725 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 A>i_@% literal 0 HcmV?d00001 diff --git a/content/en/docs/A-Tune/figures/en-us_image_0231122163.png b/content/en/docs/A-Tune/figures/en-us_image_0231122163.png new file mode 100644 index 0000000000000000000000000000000000000000..c61c39c5f5119d84c6799b1e17285a7fe313639f GIT binary patch literal 25394 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 + + diff --git a/content/en/docs/A-Tune/info.md b/content/en/docs/A-Tune/info.md new file mode 100644 index 000000000..9d122f46e --- /dev/null +++ b/content/en/docs/A-Tune/info.md @@ -0,0 +1,97 @@ +# info + +## Function + +View the profile content of a workload type. + +## Format + +**atune-adm info** _ + +## Example + +View the profile content of webserver. + +``` +# atune-adm info webserver + +*** ssl_webserver: + +# +# webserver tuned configuration +# +[main] +#TODO CONFIG + +[kernel_config] +#TODO CONFIG + +[bios] +#TODO CONFIG + +[sysfs] +#TODO CONFIG + +[sysctl] +fs.file-max=6553600 +fs.suid_dumpable = 1 +fs.aio-max-nr = 1048576 +kernel.shmmax = 68719476736 +kernel.shmall = 4294967296 +kernel.shmmni = 4096 +kernel.sem = 250 32000 100 128 +net.ipv4.tcp_tw_reuse = 1 +net.ipv4.tcp_syncookies = 1 +net.ipv4.ip_local_port_range = 1024 65500 +net.ipv4.tcp_max_tw_buckets = 5000 +net.core.somaxconn = 65535 +net.core.netdev_max_backlog = 262144 +net.ipv4.tcp_max_orphans = 262144 +net.ipv4.tcp_max_syn_backlog = 262144 +net.ipv4.tcp_timestamps = 0 +net.ipv4.tcp_synack_retries = 1 +net.ipv4.tcp_syn_retries = 1 +net.ipv4.tcp_fin_timeout = 1 +net.ipv4.tcp_keepalive_time = 60 +net.ipv4.tcp_mem = 362619 483495 725238 +net.ipv4.tcp_rmem = 4096 87380 6291456 +net.ipv4.tcp_wmem = 4096 16384 4194304 +net.core.wmem_default = 8388608 +net.core.rmem_default = 8388608 +net.core.rmem_max = 16777216 +net.core.wmem_max = 16777216 + +[systemctl] +sysmonitor=stop +irqbalance=stop + +[bootloader.grub2] +selinux=0 +iommu.passthrough=1 + +[tip] +bind your master process to the CPU near the network = affinity +bind your network interrupt to the CPU that has this network = affinity +relogin into the system to enable limits setting = OS + +[script] +openssl_hpre = 0 +prefetch = off + +[ulimit] +{user}.hard.nofile = 102400 +{user}.soft.nofile = 102400 + +[affinity.task] +#TODO CONFIG + +[affinity.irq] +#TODO CONFIG + +[check] +#TODO CONFIG + +``` + +   + diff --git a/content/en/docs/A-Tune/installation-and-deployment.md b/content/en/docs/A-Tune/installation-and-deployment.md new file mode 100644 index 000000000..f7fdb4f76 --- /dev/null +++ b/content/en/docs/A-Tune/installation-and-deployment.md @@ -0,0 +1,6 @@ +# Installation and Deployment + +This chapter describes how to install and deploy A-Tune. + + + diff --git a/content/en/docs/A-Tune/installation-modes.md b/content/en/docs/A-Tune/installation-modes.md new file mode 100644 index 000000000..49eb118ab --- /dev/null +++ b/content/en/docs/A-Tune/installation-modes.md @@ -0,0 +1,19 @@ +# Installation Modes + +A-Tune can be installed in single-node or distributed mode. + +- Single-node mode + + The client and server are installed on the same system. + +- Distributed mode + + The client and server are installed on different systems. + + +The installation modes are as follows: + +![](figures/en-us_image_0231122163.png) + +   + diff --git a/content/en/docs/A-Tune/installation-procedure.md b/content/en/docs/A-Tune/installation-procedure.md new file mode 100644 index 000000000..d2b14c534 --- /dev/null +++ b/content/en/docs/A-Tune/installation-procedure.md @@ -0,0 +1,53 @@ +# Installation Procedure + +To install the A-Tune, perform the following steps: + +1. Mount an openEuler ISO file. + + ``` + # mount openEuler-20.03-LTS-aarch64-dvd.iso /mnt + ``` + +2. Configure the local yum source. + + ``` + # vim /etc/yum.repos.d/local.repo + ``` + + The configured contents are as follows: + + ``` + [local] + name=local + baseurl=file:///mnt + gpgcheck=0 + enabled=1 + ``` + +3. Install an A-Tune server. + + >![](public_sys-resources/icon-note.gif) **NOTE:** + >In this step, both the server and client software packages are installed. For the single-node deployment, skip **Step 4**. + + ``` + # yum install atune -y + ``` + +4. For a distributed mode, install an A-Tune client. + + ``` + # yum install atune-client -y + ``` + +5. Check whether the installation is successful. + + ``` + # rpm -qa | grep atune + atune-client-xxx + atune-db-xxx + atune-xxx + ``` + + If the preceding information is displayed, the installation is successful. + + diff --git a/content/en/docs/A-Tune/introduction.md b/content/en/docs/A-Tune/introduction.md new file mode 100644 index 000000000..02f0e24af --- /dev/null +++ b/content/en/docs/A-Tune/introduction.md @@ -0,0 +1,14 @@ +# Introduction + +An operating system \(OS\) is basic software that connects applications and hardware. It is critical for users to adjust OS and application configurations and make full use of software and hardware capabilities to achieve optimal service performance. However, numerous workload types and varied applications run on the OS, and the requirements on resources are different. Currently, the application environment composed of hardware and software involves more than 7000 configuration objects. As the service complexity and optimization objects increase, the time cost for optimization increases exponentially. As a result, optimization efficiency decreases sharply. Optimization becomes complex and brings great challenges to users. + +Second, as infrastructure software, the OS provides a large number of software and hardware management capabilities. The capability required varies in different scenarios. Therefore, capabilities need to be enabled or disabled depending on scenarios, and a combination of capabilities will maximize the optimal performance of applications. + +In addition, the actual business embraces hundreds and thousands of scenarios, and each scenario involves a wide variety of hardware configurations for computing, network, and storage. The lab cannot list all applications, business scenarios, and hardware combinations. + +To address the preceding challenges, openEuler launches A-Tune. + +A-Tune is an AI-based engine that optimizes system performance. It uses AI technologies to precisely profile business scenarios, discover and infer business characteristics, so as to make intelligent decisions, match with the optimal system parameter configuration combination, and give recommendations, ensuring the optimal business running status. + +![](figures/en-us_image_0227497000.png) + diff --git a/content/en/docs/A-Tune/legal-statement.md b/content/en/docs/A-Tune/legal-statement.md new file mode 100644 index 000000000..1d65a4f2d --- /dev/null +++ b/content/en/docs/A-Tune/legal-statement.md @@ -0,0 +1,16 @@ +# Legal Statement + +**Copyright © Huawei Technologies Co., Ltd. 2020. All rights reserved.** + +Your replication, use, modification, and distribution of this document are governed by the Creative Commons License Attribution-ShareAlike 4.0 International Public License \(CC BY-SA 4.0\). You can visit [https://creativecommons.org/licenses/by-sa/4.0/](https://creativecommons.org/licenses/by-sa/4.0/) to view a human-readable summary of \(and not a substitute for\) CC BY-SA 4.0. For the complete CC BY-SA 4.0, visit [https://creativecommons.org/licenses/by-sa/4.0/legalcode](https://creativecommons.org/licenses/by-sa/4.0/legalcode). + +   + +**Trademarks and Permissions** + +A-Tune and openEuler are trademarks of Huawei Technologies Co., Ltd. All other trademarks and trade names mentioned in this document are the property of their respective holders. + +**Disclaimer** + +This document is used only as a guide. Unless otherwise specified by applicable laws or agreed by both parties in written form, all statements, information, and recommendations in this document are provided "AS IS" without warranties, guarantees or representations of any kind, including but not limited to non-infringement, timeliness, and specific purposes. + diff --git a/content/en/docs/A-Tune/list.md b/content/en/docs/A-Tune/list.md new file mode 100644 index 000000000..c1eacc443 --- /dev/null +++ b/content/en/docs/A-Tune/list.md @@ -0,0 +1,43 @@ +# list + +## Function + +Query the supported workload types, profiles, and the values of Active. + +## Format + +**atune-adm list** + +## Example + +``` +# atune-adm list + +Support WorkloadTypes: ++-----------------------------------+------------------------+-----------+ +| WorkloadType | ProfileName | Active | ++===================================+========================+===========+ +| default | default | true | ++-----------------------------------+------------------------+-----------+ +| webserver | ssl_webserver | false | ++-----------------------------------+------------------------+-----------+ +| big_database | database | false | ++-----------------------------------+------------------------+-----------+ +| big_data | big_data | false | ++-----------------------------------+------------------------+-----------+ +| in-memory_computing | in-memory_computing | false | ++-----------------------------------+------------------------+-----------+ +| in-memory_database | in-memory_database | false | ++-----------------------------------+------------------------+-----------+ +| single_computer_intensive_jobs | compute-intensive | false | ++-----------------------------------+------------------------+-----------+ +| communication | rpc_communication | false | ++-----------------------------------+------------------------+-----------+ +| idle | default | false | ++-----------------------------------+------------------------+-----------+ + +``` + +>![](public_sys-resources/icon-note.gif) **NOTE:** +>If the value of Active is **true**, the profile is activated. In the example, the profile of the default type is activated. + diff --git a/content/en/docs/A-Tune/overview-0.md b/content/en/docs/A-Tune/overview-0.md new file mode 100644 index 000000000..04ba06829 --- /dev/null +++ b/content/en/docs/A-Tune/overview-0.md @@ -0,0 +1,17 @@ +# Overview + +- You can run the **atune-adm help/--help/-h** command to query commands supported by atune-adm. +- All example commands are used in single-node mode. For distributed mode, specify an IP address and port number. For example: + + ``` + # atune-adm -a 192.168.3.196 -p 60001 list + ``` + +- The **define**, **update**, **undefine**, **collection**, **train**, and **upgrade **commands do not support remote execution. +- In the command format, brackets \(\[\]\) indicate that the parameter is optional, and angle brackets \(<\>\) indicate that the parameter is mandatory. The actual parameters prevail. +- In the command format, meanings of each command are as follows: + - **WORKLOAD\_TYPE**: name of a user-defined workload type. For details about the supported workload types, see the query result of the **list** command. + - **PROFILE\_NAME**: user-defined profile name. + - **PROFILE\_PATH**: path of the user-defined profile. + + diff --git a/content/en/docs/A-Tune/overview.md b/content/en/docs/A-Tune/overview.md new file mode 100644 index 000000000..3fc44fa40 --- /dev/null +++ b/content/en/docs/A-Tune/overview.md @@ -0,0 +1,101 @@ +# Overview + +The configuration items in the A-Tune configuration file **/etc/atuned/atuned.cnf** are described as follows: + +- A-Tune service startup configuration + + You can modify the parameter value as required. + + - **protocol**: Protocol used by the gRPC service. The value can be **unix** or **tcp**. **unix** indicates the local socket communication mode, and **tcp** indicates the socket listening port mode. The default value is **unix**. + + - **address**: Listening IP address of the gRPC service. The default value is **unix socket**. If the gRPC service is deployed in distributed mode, change the value to the listening IP address. + - **port**: Listening port of the gRPC server. The value ranges from 0 to 65535. If **protocol** is set to **unix**, you do not need to set this parameter. + - **rest\_port**: Listening port of the system REST service. The value ranges from 0 to 65535. + - **sample\_num**: Number of samples collected when the system executes the analysis process. + +- System information + + System is the parameter information required for system optimization. You must modify the parameter information according to the actual situation. + + - **disk**: Disk information to be collected during the analysis process or specified disk during disk optimization. + - **network**: NIC information to be collected during the analysis process or specified NIC during NIC optimization. + - **user**: User name used for ulimit optimization. Currently, only the user **root** is supported. + - **tls**: SSL/TLS certificate verification for the gRPC and HTTP services of A-Tune. This is disabled by default. After TLS is enabled, you need to set the following environment variables before running the **atune-adm** command to communicate with the server: + - export ATUNE\_TLS=yes + - export ATUNE\_CLICERT= + + - **tlsservercertfile**: path of the gPRC server certificate. + - **tlsserverkeyfile**: gPRC server key path. + - **tlshttpcertfile**: HTTP server certificate path. + - **tlshttpkeyfile**: HTTP server key path. + - **tlshttpcacertfile**: CA certificate path of the HTTP server. + +- Log information + + Change the log path and level based on the site requirements. By default, the log information is stored in **/var/log/messages**. + +- Monitor information + + Hardware information that is collected by default when the system is started. + + +## Example + +``` +#################################### server ############################### +# atuned config +[server] +# the protocol grpc server running on +# ranges: unix or tcp +protocol = unix + +# the address that the grpc server to bind to +# default is unix socket /var/run/atuned/atuned.sock +# ranges: /var/run/atuned/atuned.sock or ip +address = /var/run/atuned/atuned.sock + +# the atuned grpc listening port, default is 60001 +# the port can be set between 0 to 65535 which not be used +port = 60001 + +# the rest service listening port, default is 8383 +# the port can be set between 0 to 65535 which not be used +rest_port = 8383 + +# when run analysis command, the numbers of collected data. +# default is 20 +sample_num = 20 + +# Enable gRPC and http server authentication SSL/TLS +# default is false +# tls = true +# tlsservercertfile = /etc/atuned/server.pem +# tlsserverkeyfile = /etc/atuned/server.key +# tlshttpcertfile = /etc/atuned/http/server.pem +# tlshttpkeyfile = /etc/atuned/http/server.key +# tlshttpcacertfile = /etc/atuned/http/cacert.pem + +#################################### log ############################### +# Either "debug", "info", "warn", "error", "critical", default is "info" +level = info + +#################################### monitor ############################### +[monitor] +# With the module and format of the MPI, the format is {module}_{purpose} +# The module is Either "mem", "net", "cpu", "storage" +# The purpose is "topo" +module = mem_topo, cpu_topo + +#################################### system ############################### +# you can add arbitrary key-value here, just like key = value +# you can use the key in the profile +[system] +# the disk to be analysis +disk = sda + +# the network to be analysis +network = enp189s0f0 + +user = root +``` + diff --git a/content/en/docs/A-Tune/preface.md b/content/en/docs/A-Tune/preface.md new file mode 100644 index 000000000..a3a76d12f --- /dev/null +++ b/content/en/docs/A-Tune/preface.md @@ -0,0 +1,36 @@ +# Preface + +## Overview + +This document describes how to install and use A-Tune, which is a performance self-optimization software for openEuler. + +## Intended Audience + +This document is intended for developers, open-source enthusiasts, and partners who use the openEuler system and want to know and use A-Tune. You need to have basic knowledge of the Linux OS. + +## Symbol Conventions + +The symbols that may be found in this document are defined as follows: + + + + + + + + + + + + + +

Symbol

+

Description

+

+

Indicates a potentially hazardous situation which, if not avoided, could result in equipment damage, data loss, performance deterioration, or unanticipated results.

+

NOTICE is used to address practices not related to personal injury.

+

+

Supplements the important information in the main text.

+

NOTE is used to address information not related to personal injury, equipment damage, and environment deterioration.

+
+ diff --git a/content/en/docs/A-Tune/profile.md b/content/en/docs/A-Tune/profile.md new file mode 100644 index 000000000..ef8fdec14 --- /dev/null +++ b/content/en/docs/A-Tune/profile.md @@ -0,0 +1,22 @@ +# profile + +## Function + +Manually activate a profile of a workload type. + +## Format + +**atune-adm profile **_<_WORKLOAD\_TYPE_\>_ + +## Parameter Description + +You can run the **list** command to query the supported workload types. + +## Example + +Activate the profile configuration of webserver. + +``` +# atune-adm profile webserver +``` + diff --git a/content/en/docs/A-Tune/public_sys-resources/icon-caution.gif b/content/en/docs/A-Tune/public_sys-resources/icon-caution.gif new file mode 100644 index 0000000000000000000000000000000000000000..6e90d7cfc2193e39e10bb58c38d01a23f045d571 GIT binary patch literal 580 zcmV-K0=xZ3Nk%w1VIu$?0Hp~4{QBgqmQ+MG9K51r{QB&)np^||1PlfQ%(86!{`~yv zv{XhUWKt}AZaiE{EOcHp{O-j3`t;<+eEiycJT4p@77X;(jQsMfB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 literal 0 HcmV?d00001 diff --git a/content/en/docs/A-Tune/public_sys-resources/icon-danger.gif b/content/en/docs/A-Tune/public_sys-resources/icon-danger.gif new file mode 100644 index 0000000000000000000000000000000000000000..6e90d7cfc2193e39e10bb58c38d01a23f045d571 GIT binary patch literal 580 zcmV-K0=xZ3Nk%w1VIu$?0Hp~4{QBgqmQ+MG9K51r{QB&)np^||1PlfQ%(86!{`~yv zv{XhUWKt}AZaiE{EOcHp{O-j3`t;<+eEiycJT4p@77X;(jQsMfB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 literal 0 HcmV?d00001 diff --git a/content/en/docs/A-Tune/public_sys-resources/icon-note.gif b/content/en/docs/A-Tune/public_sys-resources/icon-note.gif new file mode 100644 index 0000000000000000000000000000000000000000..6314297e45c1de184204098efd4814d6dc8b1cda GIT binary patch literal 394 zcmZ?wbhEHblx7fPSjxcg=ii?@_wH=jwxy=7CMGH-B`L+l$wfv=#>UF#$gv|VY%C^b zCQFtrnKN(Bo_%|sJbO}7RAORe!otL&qo<>yq_Sq+8Xqqo5h0P3w3Lvb5E(g{p01vl zxR@)KuDH0l^z`+-dH3eaw=XqSH7aTIx{kzVBN;X&hha0dQSgWuiw0NWUvMRmkD|> literal 0 HcmV?d00001 diff --git a/content/en/docs/A-Tune/public_sys-resources/icon-notice.gif b/content/en/docs/A-Tune/public_sys-resources/icon-notice.gif new file mode 100644 index 0000000000000000000000000000000000000000..86024f61b691400bea99e5b1f506d9d9aef36e27 GIT binary patch literal 406 zcmV;H0crk6Nk%w1VIu$@0J8u9|NsB@_xJDb@8;&_*4Ea}&d#;9wWXz{jEszHYim+c zQaU<1At50E0000000000A^8Le000gEEC2ui03!e%000R7038S%NU)&51O^i-Tu6`s z0)`MFE@;3YqD6xSC^kTNu_J>91{PH8XfZ(p1pp2-SU@u3#{mEUC}_}tg3+I#{z}{Ok@D_ZUDg- zt0stin4;pC8M{WLSlRH*1pzqEw1}3oOskyNN?j;7HD{BBZ*OEcv4HK!6Bk6beR+04 z&8}k>SkTusVTDmkyOz#5fCA$JTPGJVQvr3uZ?QzzPQFvD0rGf_PdrcF`pMs}p^BcF zKtKTd`0wipR%nKN&Wj+V}pX;WC3SdJV!a_8Qi zE7z`U*|Y^H0^}fB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 literal 0 HcmV?d00001 diff --git a/content/en/docs/A-Tune/querying-profiles.md b/content/en/docs/A-Tune/querying-profiles.md new file mode 100644 index 000000000..61d7bb13f --- /dev/null +++ b/content/en/docs/A-Tune/querying-profiles.md @@ -0,0 +1,3 @@ +# Querying Profiles + + diff --git a/content/en/docs/A-Tune/querying-system-information.md b/content/en/docs/A-Tune/querying-system-information.md new file mode 100644 index 000000000..7d9264310 --- /dev/null +++ b/content/en/docs/A-Tune/querying-system-information.md @@ -0,0 +1,7 @@ +# Querying System Information + +   + + + + diff --git a/content/en/docs/A-Tune/querying-workload-types.md b/content/en/docs/A-Tune/querying-workload-types.md new file mode 100644 index 000000000..a531e5d55 --- /dev/null +++ b/content/en/docs/A-Tune/querying-workload-types.md @@ -0,0 +1,4 @@ +# Querying Workload Types + + + diff --git a/content/en/docs/A-Tune/rollback.md b/content/en/docs/A-Tune/rollback.md new file mode 100644 index 000000000..7d64993e4 --- /dev/null +++ b/content/en/docs/A-Tune/rollback.md @@ -0,0 +1,16 @@ +# rollback + +## Function + +Roll back the current configuration to the initial configuration of the system. + +## Format + +**atune-adm rollback** + +## Example + +``` +# atune-adm rollback +``` + diff --git a/content/en/docs/A-Tune/rolling-back-profiles.md b/content/en/docs/A-Tune/rolling-back-profiles.md new file mode 100644 index 000000000..383ffdec9 --- /dev/null +++ b/content/en/docs/A-Tune/rolling-back-profiles.md @@ -0,0 +1,6 @@ +# Rolling Back Profiles + +   + + + diff --git a/content/en/docs/A-Tune/software-and-hardware-requirements.md b/content/en/docs/A-Tune/software-and-hardware-requirements.md new file mode 100644 index 000000000..7d260015b --- /dev/null +++ b/content/en/docs/A-Tune/software-and-hardware-requirements.md @@ -0,0 +1,10 @@ +# Software and Hardware Requirements + +## Hardware Requirement + +- Huawei Kunpeng 920 processor + +## Software Requirement + +- OS: openEuler 20.03 LTS + diff --git a/content/en/docs/A-Tune/starting-a-tune.md b/content/en/docs/A-Tune/starting-a-tune.md new file mode 100644 index 000000000..96b49fec0 --- /dev/null +++ b/content/en/docs/A-Tune/starting-a-tune.md @@ -0,0 +1,22 @@ +# Starting A-Tune + +After the A-Tune is installed, you need to start the A-Tune service. + +- Start the atuned service. + + ``` + # systemctl start atuned + ``` + + +- To query the status of the atuned service, run the following command: + + ``` + # systemctl status atuned + ``` + + If the following information is displayed, the service is started successfully: + + ![](figures/en-us_image_0214540398.png) + + diff --git a/content/en/docs/A-Tune/supported-features-and-service-models.md b/content/en/docs/A-Tune/supported-features-and-service-models.md new file mode 100644 index 000000000..00be2f977 --- /dev/null +++ b/content/en/docs/A-Tune/supported-features-and-service-models.md @@ -0,0 +1,146 @@ +# Supported Features and Service Models + +## Supported Features + +[Table 1](#table1919220557576) describes the main features supported by A-Tune, feature maturity, and usage suggestions. + +**Table 1** Feature maturity + + + + + + + + + + + + + + + + + + + + +

Feature

+

Maturity

+

Usage Suggestion

+

Auto optimization of 11 applications in seven workload types

+

Tested

+

Pilot

+

User-defined workload types and service models

+

Tested

+

Pilot

+

Automatic parameter optimization

+

Tested

+

Pilot

+
+ +## Supported Service Models + +Based on the workload characteristics of applications, A-Tune classifies services into seven types. For details about the workload characteristics of each type and the applications supported by A-Tune, see [Table 2](#table2819164611311). + +**Table 2** Supported workload types and applications + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Workload

+

Type

+

Workload Characteristic

+

Supported Application

+

default

+

Default type

+

The usage of CPU, memory bandwidth, network, and I/O resources is low.

+

N/A

+

webserver

+

HTTPS application

+

The CPU usage is high.

+

Nginx

+

big_database

+

Database

+
  • Relational database

    Read: The usage of CPU, memory bandwidth, and network is high.

    +

    Write: The usage of I/O is high.

    +
+
  • Non-relational database

    The usage of CPU and I/O is high.

    +
+

MongoDB, MySQL, PostgreSQL, and MariaDB

+

big_data

+

Big data

+

The usage of CPU and I/O is high.

+

Hadoop and Spark

+

in-memory_computing

+

Memory-intensive application

+

The usage of CPU and memory bandwidth is high.

+

SPECjbb2015

+

in-memory_database

+

Computing- and network-intensive application

+

The usage of a single-core CPU is high, and the network usage is high in multi-instance scenarios.

+

Redis

+

single_computer_intensive_jobs

+

Computing-intensive application

+

The usage of a single-core CPU is high, and the usage of memory bandwidth of some subitems is high.

+

SPECCPU2006

+

communication

+

Network-intensive application

+

The usage of CPU and network is high.

+

Dubbo

+

idle

+

System in idle state

+

The system is in idle state and no applications are running.

+

N/A

+
+ diff --git a/content/en/docs/A-Tune/train.md b/content/en/docs/A-Tune/train.md new file mode 100644 index 000000000..3e7318fd8 --- /dev/null +++ b/content/en/docs/A-Tune/train.md @@ -0,0 +1,43 @@ +# train + +## Function + +Use the collected data to train the model. Collect data of at least two workload types during training. Otherwise, an error is reported. + +## Format + +**atune-adm train** + +## Parameter Description + +- OPTIONS + + + + + + + + + + + + + +

Parameter

+

Description

+

--data_path, -d

+

Path for storing CSV files required for model training

+

--output_file, -o

+

Model generated through training

+
+ + +## Example + +Use the CSV file in the **data** directory as the training input. The generated model **new-model.m** is stored in the **model** directory. + +``` +# atune-adm train --data_path /home/data --output_file /usr/libexec/atuned/analysis/models/new-model.m +``` + diff --git a/content/en/docs/A-Tune/tuning.md b/content/en/docs/A-Tune/tuning.md new file mode 100644 index 000000000..daa6f7936 --- /dev/null +++ b/content/en/docs/A-Tune/tuning.md @@ -0,0 +1,469 @@ +# Tuning + +## Function + +Use the specified project file to search the dynamic space for parameters and find the optimal solution under the current environment configuration. + +## Format + +>![](public_sys-resources/icon-note.gif) **NOTE:** +>Before running the command, ensure that the following conditions are met: +>1. The YAML configuration file of the server has been edited and placed in the **/etc/atuned/tuning/** directory on the server by the server administrator. +>2. The YAML configuration file of the client has been edited and placed in an arbitrary directory on the client. + +**atune-adm tuning** \[OPTIONS\] + +## Parameter Description + +- OPTIONS + + + + + + + + + + + + + +

Parameter

+

Description

+

--restore, -r

+

Restores the initial configuration before tuning.

+

--project, -p

+

Specifies the project name in the YAML file to be restored.

+
+ + >![](public_sys-resources/icon-note.gif) **NOTE:** + >The preceding two parameters must be used at the same time, and the -p parameter must be followed by the specific project name. + + +- **PROJECT\_YAML**: YAML configuration file of the client. + +## Configuration Description + +**Table 1** YAML file on the server + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Name

+

Description

+

Type

+

Value Range

+

project

+

Project name.

+

Character string

+

-

+

startworkload

+

Script for starting the service to be optimized.

+

Character string

+

-

+

stopworkload

+

Script for stopping the service to be optimized.

+

Character string

+

-

+

maxiterations

+

Maximum number of optimization iterations, which is used to limit the number of iterations on the client. Generally, the more optimization iterations, the better the optimization effect, but the longer the time required. Set this parameter based on the site requirements.

+

Integer

+

>10

+

object

+

Parameters to be optimized and related information.

+

For details about the object configuration items, see Table 2.

+

-

+

-

+
+ +**Table 2** Description of object configuration items + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Name

+

Description

+

Type

+

Value Range

+

name

+

Parameter to be optimized.

+

Character string

+

-

+

desc

+

Description of parameters to be optimized.

+

Character string

+

-

+

get

+

Script for querying parameter values.

+

-

+

-

+

set

+

Script for setting parameter values.

+

-

+

-

+

needrestart

+

Specifies whether to restart the service for the parameter to take effect.

+

Enumeration

+

true or false

+

type

+

Parameter type. Currently, the discrete and continuous types are supported.

+

Enumeration

+

discrete or continuous

+

dtype

+

This parameter is available only when type is set to discrete. Currently, only int and string are supported.

+

Enumeration

+

int, string

+

scope

+

Parameter setting range. This parameter is valid only when type is set to discrete and dtype is set to int, or type is set to continuous.

+

Integer

+

The value is user-defined and must be within the valid range of this parameter.

+

step

+

Parameter value step, which is used when dtype is set to int.

+

Integer

+

This value is user-defined.

+

items

+

Enumerated value of which the parameter value is not within the scope. This is used when dtype is set to int.

+

Integer

+

The value is user-defined and must be within the valid range of this parameter.

+

options

+

Enumerated value range of the parameter value, which is used when dtype is set to string.

+

Character string

+

The value is user-defined and must be within the valid range of this parameter.

+

ref

+

Recommended initial value of the parameter

+

Integer or character string

+

The value is user-defined and must be within the valid range of this parameter.

+
+ +**Table 3** Description of configuration items of a YAML file on the client + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Name

+

Description

+

Type

+

Value Range

+

project

+

Project name, which must be the same as that in the configuration file on the server.

+

Character string

+

-

+

iterations

+

Number of optimization iterations.

+

Integer

+

≥ 10

+

benchmark

+

Performance test script.

+

-

+

-

+

evaluations

+

Performance test evaluation index.

+

For details about the evaluations configuration items, see Table 4.

+

-

+

-

+
+ +**Table 4** Description of evaluations configuration item + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Name

+

Description

+

Type

+

Value Range

+

name

+

Evaluation index name.

+

Character string

+

-

+

get

+

Script for obtaining performance evaluation results.

+

-

+

-

+

type

+

Specifies a positive or negative type of the evaluation result. The value positive indicates that the performance value is minimized, and the value negative indicates that the performance value is maximized.

+

Enumeration

+

positive or negative

+

weight

+

Weight of the index. The value ranges from 0 to 100.

+

Integer

+

0-100

+

threshold

+

Minimum performance requirement of the index.

+

Integer

+

User-defined

+
+ +## Example + +The following is an example of the YAML file configuration on a server: + +``` +project: "example" +maxiterations: 10 +startworkload: "" +stopworkload: "" +object : + - + name : "vm.swappiness" + info : + desc : "the vm.swappiness" + get : "sysctl -a | grep vm.swappiness" + set : "sysctl -w vm.swappiness=$value" + needrestart: "false" + type : "continuous" + scope : + - 0 + - 10 + ref : 1 + - + name : "irqbalance" + info : + desc : "system irqbalance" + get : "systemctl status irqbalance" + set : "systemctl $value sysmonitor;systemctl $value irqbalance" + needrestart: "false" + type : "discrete" + options: + - "start" + - "stop" + dtype : "string" + ref : "start" + - + name : "net.tcp_min_tso_segs" + info : + desc : "the minimum tso number" + get : "cat /proc/sys/net/ipv4/tcp_min_tso_segs" + set : "echo $value > /proc/sys/net/ipv4/tcp_min_tso_segs" + needrestart: "false" + type : "continuous" + scope: + - 1 + - 16 + ref : 2 + - + name : "prefetcher" + info : + desc : "" + get : "cat /sys/class/misc/prefetch/policy" + set : "echo $value > /sys/class/misc/prefetch/policy" + needrestart: "false" + type : "discrete" + options: + - "0" + - "15" + dtype : "string" + ref : "15" + - + name : "kernel.sched_min_granularity_ns" + info : + desc : "Minimal preemption granularity for CPU-bound tasks" + get : "sysctl kernel.sched_min_granularity_ns" + set : "sysctl -w kernel.sched_min_granularity_ns=$value" + needrestart: "false" + type : "continuous" + scope: + - 5000000 + - 50000000 + ref : 10000000 + - + name : "kernel.sched_latency_ns" + info : + desc : "" + get : "sysctl kernel.sched_latency_ns" + set : "sysctl -w kernel.sched_latency_ns=$value" + needrestart: "false" + type : "continuous" + scope: + - 10000000 + - 100000000 + ref : 16000000 + +``` + +   + +The following is an example of the YAML file configuration on a client: + +``` +project: "example" +iterations : 10 +benchmark : "sh /home/Benchmarks/mysql/tunning_mysql.sh" +evaluations : + - + name: "tps" + info: + get: "echo -e '$out' |grep 'transactions:' |awk '{print $3}' | cut -c 2-" + type: "negative" + weight: 100 + threshold: 100 +``` + +   + +## Example + +- Perform tuning. + + ``` + # atune-adm tuning example-client.yaml + ``` + +- Restore the initial configuration before tuning. The example value is the project name in the YAML file. + + ``` + # atune-adm tuning --restore --project example + ``` + + diff --git a/content/en/docs/A-Tune/undefine.md b/content/en/docs/A-Tune/undefine.md new file mode 100644 index 000000000..9a4acd425 --- /dev/null +++ b/content/en/docs/A-Tune/undefine.md @@ -0,0 +1,18 @@ +# undefine + +## Function + +Delete a user-defined workload type. + +## Format + +**atune-adm undefine** + +## Example + +Delete the **test\_type** workload type. + +``` +# atune-adm undefine test_type +``` + diff --git a/content/en/docs/A-Tune/update.md b/content/en/docs/A-Tune/update.md new file mode 100644 index 000000000..e5fbd8e7d --- /dev/null +++ b/content/en/docs/A-Tune/update.md @@ -0,0 +1,18 @@ +# update + +## Function + +Update an optimization item of a workload type to the content in the **new.conf** file. + +## Format + +**atune-adm update** + +## Example + +Update the workload type to **test\_type** and the optimization item of test\_name to **new.conf**. + +``` +# atune-adm update test_type test_name ./new.conf +``` + diff --git a/content/en/docs/A-Tune/updating-a-profile.md b/content/en/docs/A-Tune/updating-a-profile.md new file mode 100644 index 000000000..69ea874bd --- /dev/null +++ b/content/en/docs/A-Tune/updating-a-profile.md @@ -0,0 +1,7 @@ +# Updating a Profile + +You can update the existing profile as required. + + + + diff --git a/content/en/docs/A-Tune/updating-database.md b/content/en/docs/A-Tune/updating-database.md new file mode 100644 index 000000000..2a1922369 --- /dev/null +++ b/content/en/docs/A-Tune/updating-database.md @@ -0,0 +1,6 @@ +# Updating Database + +   + + + diff --git a/content/en/docs/A-Tune/upgrade.md b/content/en/docs/A-Tune/upgrade.md new file mode 100644 index 000000000..7acfa97aa --- /dev/null +++ b/content/en/docs/A-Tune/upgrade.md @@ -0,0 +1,25 @@ +# upgrade + +## Function + +Update the system database. + +## Format + +**atune-adm upgrade** + +## Parameter Description + +- DB\_FILE + + New database file path. + + +## Example + +The database is updated to **new\_sqlite.db**. + +``` +# atune-adm upgrade ./new_sqlite.db +``` + diff --git a/content/en/docs/A-Tune/user-defined-model.md b/content/en/docs/A-Tune/user-defined-model.md new file mode 100644 index 000000000..e48b7c886 --- /dev/null +++ b/content/en/docs/A-Tune/user-defined-model.md @@ -0,0 +1,11 @@ +# User-defined Model + +A-Tune allows users to define and learn new models. To define a new model, perform the following steps: + +1. Run the **define** command to define workload\_type and profile. +2. Run the **collection** command to collect the profile data corresponding to workload\_type. +3. Run the **train** command to train the model. + + + + diff --git a/content/en/docs/A-Tune/workload-type-analysis-and-auto-optimization.md b/content/en/docs/A-Tune/workload-type-analysis-and-auto-optimization.md new file mode 100644 index 000000000..5ccd1909b --- /dev/null +++ b/content/en/docs/A-Tune/workload-type-analysis-and-auto-optimization.md @@ -0,0 +1,5 @@ +# Workload Type Analysis and Auto Optimization + + + + diff --git a/content/en/docs/Container/about-this-document.md b/content/en/docs/Container/about-this-document.md new file mode 100644 index 000000000..5b281829e --- /dev/null +++ b/content/en/docs/Container/about-this-document.md @@ -0,0 +1,51 @@ +# About This Document + +## Overview + +The openEuler software package provides iSula, the basic platform for running containers. + +iSula is a brand of Huawei's container technology solution. It originally means a kind of ant. This ant is also known as "bullet ant" due to the extremely painful sting, which has been compared to being shot by a bullet. In the eyes of Brazilian natives living in the Amazon jungle in Central and South America, iSula is one of the most powerful insects in the world. Huawei names the container technology solution brand based on its meaning. + +The basic container platform iSula provides both Docker engine and lightweight container engine iSulad. You can select either of them as required. + +In addition, the following container forms are provided on different application scenarios: + +- Common containers applicable to most common scenarios +- Secure containers applicable to strong isolation and multi-tenant scenarios +- System containers applicable to scenarios where the systemd is used to manage services + +This document describes how to install and use the container engines and how to deploy and use containers in different forms. + +## Intended Audience + +This document is intended for openEuler users who need to install containers. You can better understand this document if you: + +- Be familiar with basic Linux operations. +- Have a basic understanding of containers. + +## Symbol Conventions + +The symbols that may be found in this document are defined as follows. + + + + + + + + + + + + + +

Symbol

+

Description

+

+

Indicates a potentially hazardous situation which, if not avoided, could result in equipment damage, data loss, performance deterioration, or unanticipated results.

+

NOTICE is used to address practices not related to personal injury.

+

+

Supplements the important information in the main text.

+

NOTE is used to address information not related to personal injury, equipment damage, and environment deterioration.

+
+ diff --git a/content/en/docs/Container/adding-a-pod-to-the-cni-network-list.md b/content/en/docs/Container/adding-a-pod-to-the-cni-network-list.md new file mode 100644 index 000000000..0f7d278a0 --- /dev/null +++ b/content/en/docs/Container/adding-a-pod-to-the-cni-network-list.md @@ -0,0 +1,20 @@ +# Adding a Pod to the CNI Network List + +If **--network-plugin=cni** is configured for iSulad and the default network plane is configured, a pod is automatically added to the default network plane when the pod is started. If the additional network configuration is configured in the pod configuration, the pod is added to these additional network planes when the pod is started. + +**port\_mappings** in the pod configuration is also a network configuration item, which is used to set the port mapping of the pod. To set port mapping, perform the following steps: + +``` +"port_mappings":[ + { + "protocol": 1, + "container_port": 80, + "host_port": 8080 + } +] +``` + +- **protocol**: protocol used for mapping. The value can be **tcp** \(identified by 0\) or **udp** \(identified by 1\). +- **container\_port**: port through which the container is mapped. +- **host\_port**: port mapped to the host. + diff --git a/content/en/docs/Container/apis-19.md b/content/en/docs/Container/apis-19.md new file mode 100644 index 000000000..9c6c5d992 --- /dev/null +++ b/content/en/docs/Container/apis-19.md @@ -0,0 +1,16 @@ +# APIs + +Both iSulad and iSula provide the hook APIs. The default hook configurations provided by iSulad apply to all containers. The hook APIs provided by iSula apply only to the currently created container. + +The default OCI hook configurations provided by iSulad are as follows: + +- Set the configuration item **hook-spec** in the **/etc/isulad/daemon.json** configuration file to specify the path of the hook configuration file. Example: **"hook-spec": "/etc/default/isulad/hooks/default.json"** +- Use the **isulad --hook-spec** parameter to set the path of the hook configuration file. + +The OCI hook configurations provided by iSula are as follows: + +- **isula create --hook-spec**: specifies the path of the hook configuration file in JSON format. +- **isula run --hook-spec**: specifies the path of the hook configuration file in JSON format. + +The configuration for **run** takes effect in the creation phase. + diff --git a/content/en/docs/Container/apis-32.md b/content/en/docs/Container/apis-32.md new file mode 100644 index 000000000..aba7d770a --- /dev/null +++ b/content/en/docs/Container/apis-32.md @@ -0,0 +1,401 @@ +# APIs + +**Table 1** Commands related to the kata-runtime network + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Command

+

Subcommand

+

File Example

+

Field

+

Description

+

Remarks

+

kata-network

+
NOTE:
  • The kata-network command must be used in groups. Network devices that are not added using kata-runtime kata-network cannot be deleted or listed using kata-runtime kata-network. The reverse is also true.
  • kata-runtime kata-network imports configuration parameters through a file or stdin.
+
+

add-iface

+
NOTE:
  • An interface can be added to only one container.
  • The execution result is subject to the returned value (non-zero return value).
+
+

  

+

{

+

"device":"tap1",

+

"name":"eth1",

+

"IPAddresses":[{"address":"172.17.1.10","mask":"24"}],

+

"mtu":1300,

+

"hwAddr":"02:42:20:6f:a2:80"

+

"vhostUserSocket":"/usr/local/var/run/openvswitch/vhost-user1"

+

}

+

  

+

device

+

Sets the name of the NIC on a host.

+

Mandatory. The value can contain a maximum of 15 characters, including letters, digits, underscores (_), hyphens (-), and periods (.). It must start with a letter. The device name must be unique on the same host.

+

name

+

Sets the name of the NIC in the container.

+

Mandatory. The value can contain a maximum of 15 characters, including letters, digits, underscores (_), hyphens (-), and periods (.). It must start with a letter. Ensure that the name is unique in the same sandbox.

+

IPAddresses

+

Sets the IP address of an NIC.

+

Optional.

+

Currently, one IP address can be configured for each NIC. If no IP address is configured for the NIC, no IP address will be configured in the container, either.

+

mtu

+

Sets the MTU of an NIC.

+

Mandatory.

+

The value ranges from 46 to 9600.

+

hwAddr

+

Sets the MAC address of an NIC.

+

Mandatory.

+

vhostUserSocket

+

Sets the DPDK polling socket path.

+

Optional.

+

The path contains a maximum of 128 bytes. The naming rule can contain digits, letters, and hyphens (-). The path name must start with a letter.

+

del-iface

+

{

+

"name":"eth1"

+

}

+

None

+

Deletes an NIC from a container.

+
NOTE:

When deleting a NIC, you can only delete it based on the name field in the NIC container. Kata does not identify other fields.

+
+

list-ifaces

+

None

+

None

+

Queries the NIC list in a container.

+

None

+

add-route

+

{

+

"dest":"172.17.10.10/24",

+

"gateway":"",

+

"device":"eth1"

+

}

+

dest

+

Sets the network segment corresponding to the route.

+

The value is in the format of <ip>/<mask>. <ip> is mandatory.

+

There are three cases:

+

1. Both IP address and mask are configured.

+

2. If only an IP address is configured, the default mask is 32.

+

3. If "dest":"default" is configured, there is no destination by default. In this case, the gateway needs to be configured.

+

gateway

+

Sets the next-hop gateway of the route.

+

When "dest":"default" is configured, the gateway is mandatory. In other cases, this parameter is optional.

+

device

+

Sets the name of the NIC corresponding to the route.

+

Mandatory.

+

The value contains a maximum of 15 characters.

+

del-route

+

{

+

"dest":"172.17.10.10/24"

+

}

+

None

+

Deletes a container routing rule.

+

dest is mandatory, and both device and gateway are optional.

+
NOTE:

Kata performs fuzzy match based on different fields and deletes the corresponding routing rules.

+
+

list-routes

+

None

+

None

+

Queries the route list in a container.

+

None

+
+ +**Table 2** kata-ipvs command line interfaces + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Command

+

Subcommand

+

Field

+

Parameter

+

Sub-parameter

+

Description

+

Remarks

+

kata-ipvs

+

ipvsadm

+

--parameters

+

-A, --add-service

+

-t, --tcp-service

+

-u, --udp-service

+

Virtual service type.

+

Mandatory. You can select --tcp-service or --udp-service. The format is ip:port. The value of port ranges from 1 to 65535.

+

Example:

+
kata-runtime kata-ipvs ipvsadm --parameters "--add-service --tcp-service 172.17.0.7:80 --scheduler rr --persistent 3000" <container-id>
+

-s, --scheduler

+

Load balancing scheduling algorithm.

+

Mandatory. Value range: rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq.

+

-p, --persistent

+

Service duration.

+

Mandatory. The value ranges from 1 to 2678400, in seconds.

+

-E, --edit-service

+

-t, --tcp-service

+

-u, --udp-service

+

Virtual service type.

+

Mandatory. You can select --tcp-service or --udp-service. The format is ip:port. The value of port ranges from 1 to 65535.

+

-s, --scheduler

+

Load balancing scheduling algorithm.

+

Mandatory. Value range: rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq.

+

-p, --persistent

+

Service duration.

+

Mandatory. The value ranges from 1 to 2678400, in seconds.

+

-D, --delete-service

+

-t, --tcp-service

+

-u, --udp-service

+

Virtual service type.

+

Mandatory. You can select --tcp-service or --udp-service. The format is ip:port. The value of port ranges from 1 to 65535.

+

-a, --add-server

+

-t, --tcp-service

+

-u, --udp-service

+

Virtual service type.

+

Mandatory. You can select --tcp-service or --udp-service. The format is ip:port. The value of port ranges from 1 to 65535.

+

Example:

+
kata-runtime kata-ipvs ipvsadm --parameters "--add-server --tcp-service 172.17.0.7:80 --real-server 172.17.0.4:80 --weight 100" <container-id>
+

-r, --real-server

+

Real server address.

+

Mandatory. The format is ip:port. The value of port ranges from 1 to 65535.

+

-w, --weight

+

Weight

+

Optional. The value ranges from 0 to 65535.

+

-e, --edit-server

+

-t, --tcp-service

+

-u, --udp-service

+

Virtual service type.

+

Mandatory. You can select --tcp-service or --udp-service. The format is ip:port. The value of port ranges from 1 to 65535.

+

-r, --real-server

+

Real server address.

+

Mandatory. The format is ip:port. The value of port ranges from 1 to 65535.

+

-w, --weight

+

Weight

+

Optional. The value ranges from 0 to 65535.

+

-d, --delete-server

+

-t, --tcp-service

+

-u, --udp-service

+

Virtual service type.

+

Mandatory. You can select --tcp-service or --udp-service. The format is ip:port. The value of port ranges from 1 to 65535.

+

-r, --real-server

+

Real server address.

+

Mandatory. The format is ip:port. The value of port ranges from 1 to 65535.

+

-L, --list

+

-t, --tcp-service

+

-u, --udp-service

+

Queries virtual service information.

+

Optional.

+

Example:

+
kata-runtime kata-ipvs ipvsadm --parameters "--list --tcp-service ip:port" <container-id>
+

--set

+

--tcp

+

TCP timeout.

+

Mandatory. The value ranges from 0 to 1296000.

+

Example:

+
kata-runtime kata-ipvs ipvsadm --parameters "--set 100 100 200" <container-id>
+

--tcpfin

+

TCP FIN timeout.

+

Mandatory. The value ranges from 0 to 1296000.

+

--udp

+

UDP timeout.

+

Mandatory. The value ranges from 0 to 1296000.

+

--restore

+

-

+

Imports standard inputs in batches.

+

Rule files can be specified.

+

Example:

+
kata-runtime kata-ipvs ipvsadm --restore - < <rule file path> <container-id>
+
NOTE:

By default, the NAT mode is used for adding a single real server. To add real servers in batches, you need to manually add the -m option to use the NAT mode.

+

The following is an example of the rule file content:

+

-A -t 10.10.11.12:100 -s rr -p 3000

+

-a -t 10.10.11.12:100 -r 172.16.0.1:80 -m

+

-a -t 10.10.11.12:100 -r 172.16.0.1:81 -m

+

-a -t 10.10.11.12:100 -r 172.16.0.1:82 -m

+
+

cleanup

+

--parameters

+

-d, --orig-dst

+

Specifies the IP address.

+

Mandatory.

+

Example:

+
kata-runtime kata-ipvs cleanup --parameters "--orig-dst 172.17.0.4 --protonum tcp" <container-id>
+

-p, --protonum

+

Protocol type.

+

Mandatory. The value can be tcp or udp.

+
+ diff --git a/content/en/docs/Container/apis.md b/content/en/docs/Container/apis.md new file mode 100644 index 000000000..71bd582f9 --- /dev/null +++ b/content/en/docs/Container/apis.md @@ -0,0 +1,1660 @@ +# APIs + +The following tables list the parameters that may be used in each API. Some parameters do not take effect now, which have been noted in the corresponding parameter description. + +## API Parameters + +- **DNSConfig** + + The API is used to configure DNS servers and search domains of a sandbox. + + + + + + + + + + + + + + + + +

Parameter

+

Description

+

repeated string servers

+

DNS server list of a cluster.

+

repeated string searches

+

DNS search domain list of a cluster.

+

repeated string options

+

DNS option list. For details, see https://linux.die.net/man/5/resolv.conf.

+
+ +- **Protocol** + + The API is used to specify enum values of protocols. + + + + + + + + + + + + + +

Parameter

+

Description

+

TCP = 0↵

+

Transmission Control Protocol (TCP).

+

UDP = 1

+

User Datagram Protocol (UDP).

+
+ +- **PortMapping** + + The API is used to configure the port mapping for a sandbox. + + + + + + + + + + + + + + + + + + + +

Parameter

+

Description

+

Protocol protocol

+

Protocol used for port mapping.

+

int32 container_port

+

Port number in the container.

+

int32 host_port

+

Port number on the host.

+

string host_ip

+

Host IP address.

+
+ +- **MountPropagation** + + The API is used to specify enums of mount propagation attributes. + + + + + + + + + + + + + + + + +

Parameter

+

Description

+

PROPAGATION_PRIVATE = 0

+

No mount propagation attributes, that is, private in Linux.

+

PROPAGATION_HOST_TO_CONTAINER = 1

+

Mount attribute that can be propagated from the host to the container, that is, rslave in Linux.

+

PROPAGATION_BIDIRECTIONAL = 2

+

Mount attribute that can be propagated between a host and a container, that is, rshared in Linux.

+
+ +- **Mount** + + The API is used to mount a volume on the host to a container. \(Only files and folders are supported.\) + + + + + + + + + + + + + + + + + + + + + + +

Parameter

+

Description

+

string container_path

+

Path in the container.

+

string host_path

+

Path on the host.

+

bool readonly

+

Whether the configuration is read-only in the container.

+

Default value: false

+

bool selinux_relabel

+

Whether to set the SELinux label. This parameter does not take effect now.

+

MountPropagation propagation

+

Mount propagation attribute.

+

The value can be 0, 1, or 2, corresponding to the private, rslave, and rshared propagation attributes respectively.

+

Default value: 0

+
+ + +- **NamespaceOption** + + + + + + + + + + + + + + + + +

Parameter

+

Description

+

bool host_network

+

Whether to use host network namespaces.

+

bool host_pid

+

Whether to use host PID namespaces.

+

bool host_ipc

+

Whether to use host IPC namespaces.

+
+ +- **Capability** + + This API is used to specify the capabilities to be added and deleted. + + + + + + + + + + + + + +

Parameter

+

Description

+

repeated string add_capabilities

+

Capabilities to be added.

+

repeated string drop_capabilities

+

Capabilities to be deleted.

+
+ + +- **Int64Value** + + The API is used to encapsulate data of the signed 64-bit integer type. + + + + + + + + + + +

Parameter

+

Description

+

int64 value

+

Actual value of the signed 64-bit integer type.

+
+ +- **UInt64Value** + + The API is used to encapsulate data of the unsigned 64-bit integer type. + + + + + + + + + + +

Parameter

+

Description

+

uint64 value

+

Actual value of the unsigned 64-bit integer type.

+
+ +- **LinuxSandboxSecurityContext** + + The API is used to configure the Linux security options of a sandbox. + + Note that these security options are not applied to containers in the sandbox, and may not be applied to the sandbox without any running process. + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Parameter

+

Description

+

NamespaceOption namespace_options

+

Sandbox namespace options.

+

SELinuxOption selinux_options

+

SELinux options. This parameter does not take effect now.

+

Int64Value run_as_user

+

Process UID in the sandbox.

+

bool readonly_rootfs

+

Whether the root file system of the sandbox is read-only.

+

repeated int64 supplemental_groups

+

Information of the user group of the init process in the sandbox (except the primary GID).

+

bool privileged

+

Whether the sandbox is a privileged container.

+

string seccomp_profile_path

+

Path of the seccomp configuration file. Valid values are as follows:

+

// unconfined: Seccomp is not configured.

+

// localhost/ Full path of the configuration file: configuration file path installed in the system.

+

// Full path of the configuration file: full path of the configuration file.

+

// unconfined is the default value.

+
+ +- **LinuxPodSandboxConfig** + + The API is used to configure information related to the Linux host and containers. + + + + + + + + + + + + + + + + +

Parameter

+

Description

+

string cgroup_parent

+

Parent path of the cgroup of the sandbox. The runtime can use the cgroupfs or systemd syntax based on site requirements. This parameter does not take effect now.

+

LinuxSandboxSecurityContext security_context

+

Security attribute of the sandbox.

+

map<string, string> sysctls

+

Linux sysctls configuration of the sandbox.

+
+ +- **PodSandboxMetadata** + + Sandbox metadata contains all information that constructs a sandbox name. It is recommended that the metadata be displayed on the user interface during container running to improve user experience. For example, a unique sandbox name can be generated based on the metadata during running. + + + + + + + + + + + + + + + + + + + +

Parameter

+

Description

+

string name

+

Sandbox name.

+

string uid

+

Sandbox UID.

+

string namespace

+

Sandbox namespace.

+

uint32 attempt

+

Number of attempts to create a sandbox.

+

Default value: 0

+
+ +- **PodSandboxConfig** + + This API is used to specify all mandatory and optional configurations for creating a sandbox. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Parameter

+

Description

+

PodSandboxMetadata metadata

+

Sandbox metadata, which uniquely identifies a sandbox. The runtime must use the information to ensure that operations are correctly performed, and to improve user experience, for example, construct a readable sandbox name.

+

string hostname

+

Host name of the sandbox.

+

string log_directory

+

Folder for storing container log files in the sandbox.

+

DNSConfig dns_config

+

Sandbox DNS configuration.

+

repeated PortMapping port_mappings

+

Sandbox port mapping.

+

map<string, string> labels

+

Key-value pair that can be used to identify a sandbox or a series of sandboxes.

+

map<string, string> annotations

+

Key-value pair that stores any information, whose values cannot be changed and can be queried by using the PodSandboxStatus API.

+

LinuxPodSandboxConfig linux

+

Options related to the Linux host.

+
+ +- **PodSandboxNetworkStatus** + + The API is used to describe the network status of a sandbox. + + + + + + + + + + + + + + + + +

Parameter

+

Description

+

string ip

+

IP address of the sandbox.

+

string name

+

Network interface name in the sandbox.

+

string network

+

Name of the additional network.

+
+ +- **Namespace** + + The API is used to set namespace options. + + + + + + + + + + +

Parameter

+

Description

+

NamespaceOption options

+

Linux namespace options.

+
+ +- **LinuxPodSandboxStatus** + + The API is used to describe the status of a Linux sandbox. + + + + + + + + + + +

Parameter

+

Description

+

Namespace namespaces

+

Sandbox namespace.

+
+ +- **PodSandboxState** + + The API is used to specify enum data of the sandbox status values. + + + + + + + + + + + + + +

Parameter

+

Description

+

SANDBOX_READY = 0

+

The sandbox is ready.

+

SANDBOX_NOTREADY = 1

+

The sandbox is not ready.

+
+ +- **PodSandboxStatus** + + The API is used to describe the PodSandbox status. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Parameter

+

Description

+

string id

+

Sandbox ID.

+

PodSandboxMetadata metadata

+

Sandbox metadata.

+

PodSandboxState state

+

Sandbox status value.

+

int64 created_at

+

Sandbox creation timestamp (unit: ns).

+

repeated PodSandboxNetworkStatus networks

+

Multi-plane network status of the sandbox.

+

LinuxPodSandboxStatus linux

+

Sandbox status complying with the Linux specifications.

+

map<string, string> labels

+

Key-value pair that can be used to identify a sandbox or a series of sandboxes.

+

map<string, string> annotations

+

Key-value pair that stores any information, whose values cannot be changed by the runtime.

+
+ +- **PodSandboxStateValue** + + The API is used to encapsulate [PodSandboxState](#en-us_topic_0182207110_li1818214574195). + + + + + + + + + + +

Parameter

+

Description

+

PodSandboxState state

+

Sandbox status value.

+
+ +- **PodSandboxFilter** + + The API is used to add filter criteria for the sandbox list. The intersection of multiple filter criteria is displayed. + + + + + + + + + + + + + + + + +

Parameter

+

Description

+

string id

+

Sandbox ID.

+

PodSandboxStateValue state

+

Sandbox status.

+

map<string, string> label_selector

+

Sandbox label, which does not support regular expressions and must be fully matched.

+
+ +- **PodSandbox** + + This API is used to provide a minimum description of a sandbox. + + + + + + + + + + + + + + + + + + + + + + + + + +

Parameter

+

Description

+

string id

+

Sandbox ID.

+

PodSandboxMetadata metadata

+

Sandbox metadata.

+

PodSandboxState state

+

Sandbox status value.

+

int64 created_at

+

Sandbox creation timestamp (unit: ns).

+

map<string, string> labels

+

Key-value pair that can be used to identify a sandbox or a series of sandboxes.

+

map<string, string> annotations

+

Key-value pair that stores any information, whose values cannot be changed by the runtime.

+
+ +- **KeyValue** + + The API is used to encapsulate key-value pairs. + + + + + + + + + + + + + +

Parameter

+

Description

+

string key

+

Key

+

string value

+

Value

+
+ +- **SELinuxOption** + + The API is used to specify the SELinux label of a container. + + + + + + + + + + + + + + + + + + + +

Parameter

+

Description

+

string user

+

User

+

string role

+

Role

+

string type

+

Type

+

string level

+

Level

+
+ +- **ContainerMetadata** + + Container metadata contains all information that constructs a container name. It is recommended that the metadata be displayed on the user interface during container running to improve user experience. For example, a unique container name can be generated based on the metadata during running. + + + + + + + + + + + + + +

Parameter

+

Description

+

string name

+

Container name.

+

uint32 attempt

+

Number of attempts to create a container.

+

Default value: 0

+
+ +- **ContainerState** + + The API is used to specify enums of container status values. + + + + + + + + + + + + + + + + + + + +

Parameter

+

Description

+

CONTAINER_CREATED = 0

+

The container is created.

+

CONTAINER_RUNNING = 1

+

The container is running.

+

CONTAINER_EXITED = 2

+

The container exits.

+

CONTAINER_UNKNOWN = 3

+

Unknown container status.

+
+ +- **ContainerStateValue** + + The API is used to encapsulate the data structure of [ContainerState](#en-us_topic_0182207110_li65182518309). + + + + + + + + + + +

Parameter

+

Description

+

ContainerState state

+

Container status value.

+
+ +- **ContainerFilter** + + The API is used to add filter criteria for the container list. The intersection of multiple filter criteria is displayed. + + + + + + + + + + + + + + + + + + + +

Parameter

+

Description

+

string id

+

Container ID.

+

PodSandboxStateValue state

+

Container status.

+

string pod_sandbox_id

+

Sandbox ID.

+

map<string, string> label_selector

+

Container label, which does not support regular expressions and must be fully matched.

+
+ +- **LinuxContainerSecurityContext** + + The API is used to specify container security configurations. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Parameter

+

Description

+

Capability capabilities

+

Added or removed capabilities.

+

bool privileged

+

Whether the container is in privileged mode. Default value: false

+

NamespaceOption namespace_options

+

Container namespace options.

+

SELinuxOption selinux_options

+

SELinux context, which is optional. This parameter does not take effect now.

+

Int64Value run_as_user

+

UID for running container processes. Only run_as_user or run_as_username can be specified at a time. run_as_username takes effect preferentially.

+

string run_as_username

+

Username for running container processes. If specified, the user must exist in /etc/passwd in the container image and be parsed by the runtime. Otherwise, an error must occur during running.

+

bool readonly_rootfs

+

Whether the root file system in a container is read-only. The default value is configured in config.json.

+

repeated int64 supplemental_groups

+

List of user groups of the init process running in the container (except the primary GID).

+

string apparmor_profile

+

AppArmor configuration file of the container. This parameter does not take effect now.

+

string seccomp_profile_path

+

Path of the seccomp configuration file of the container.

+

bool no_new_privs

+

Whether to set the no_new_privs flag in the container.

+
+ +- **LinuxContainerResources** + + The API is used to specify configurations of Linux container resources. + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Parameter

+

Description

+

int64 cpu_period

+

CPU CFS period. Default value: 0

+

int64 cpu_quota

+

CPU CFS quota. Default value: 0

+

int64 cpu_shares

+

CPU share (relative weight). Default value: 0

+

int64 memory_limit_in_bytes

+

Memory limit (unit: byte). Default value: 0

+

int64 oom_score_adj

+

OOMScoreAdj that is used to adjust the OOM killer. Default value: 0

+

string cpuset_cpus

+

CPU core used by the container. Default value: null

+

string cpuset_mems

+

Memory nodes used by the container. Default value: null

+
+ +- **Image** + + The API is used to describe the basic information about an image. + + + + + + + + + + + + + + + + + + + + + + + + +

Parameter

+

Description

+

string id

+

Image ID.

+

repeated string repo_tags

+

Image tag name repo_tags.

+

repeated string repo_digests

+

Image digest information.

+

uint64 size

+

Image size.

+

Int64Value uid

+

Default image UID.

+

string username

+

Default image username.

+
+ +- **ImageSpec** + + The API is used to represent the internal data structure of an image. Currently, ImageSpec encapsulates only the container image name. + + + + + + + + + + +

Parameter

+

Description

+

string image

+

Container image name.

+
+ +- **StorageIdentifier** + + The API is used to specify the unique identifier for defining the storage. + + + + + + + + + + +

Parameter

+

Description

+

string uuid

+

Device UUID.

+
+ +- **FilesystemUsage** + + + + + + + + + + + + + + + + + + +

Parameter

+

Description

+

int64 timestamp

+

Timestamp when file system information is collected.

+

StorageIdentifier storage_id

+

UUID of the file system that stores images.

+

UInt64Value used_bytes

+

Size of the metadata that stores images.

+

UInt64Value inodes_used

+

Number of inodes of the metadata that stores images.

+
+ +- **AuthConfig** + + + + + + + + + + + + + + + + + + + + + + + + +

Parameter

+

Description

+

string username

+

Username used for downloading images.

+

string password

+

Password used for downloading images.

+

string auth

+

Authentication information used for downloading images. The value is encoded by using Base64.

+

string server_address

+

IP address of the server where images are downloaded. This parameter does not take effect now.

+

string identity_token

+

Information about the token used for the registry authentication. This parameter does not take effect now.

+

string registry_token

+

Information about the token used for the interaction with the registry. This parameter does not take effect now.

+
+ +- **Container** + + The API is used to describe container information, such as the ID and status. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Parameter

+

Description

+

string id

+

Container ID.

+

string pod_sandbox_id

+

ID of the sandbox to which the container belongs.

+

ContainerMetadata metadata

+

Container metadata.

+

ImageSpec image

+

Image specifications.

+

string image_ref

+

Image used by the container. This parameter is an image ID for most runtime.

+

ContainerState state

+

Container status.

+

int64 created_at

+

Container creation timestamp (unit: ns).

+

map<string, string> labels

+

Key-value pair that can be used to identify a container or a series of containers.

+

map<string, string> annotations

+

Key-value pair that stores any information, whose values cannot be changed by the runtime.

+
+ +- **ContainerStatus** + + The API is used to describe the container status information. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Parameter

+

Description

+

string id

+

Container ID.

+

ContainerMetadata metadata

+

Container metadata.

+

ContainerState state

+

Container status.

+

int64 created_at

+

Container creation timestamp (unit: ns).

+

int64 started_at

+

Container start timestamp (unit: ns).

+

int64 finished_at

+

Container exit timestamp (unit: ns).

+

int32 exit_code

+

Container exit code.

+

ImageSpec image

+

Image specifications.

+

string image_ref

+

Image used by the container. This parameter is an image ID for most runtime.

+

string reason

+

Brief description of the reason why the container is in the current status.

+

string message

+

Information that is easy to read and indicates the reason why the container is in the current status.

+

map<string, string> labels

+

Key-value pair that can be used to identify a container or a series of containers.

+

map<string, string> annotations

+

Key-value pair that stores any information, whose values cannot be changed by the runtime.

+

repeated Mount mounts

+

Information about the container mount point.

+

string log_path

+

Path of the container log file that is in the log_directory folder configured in PodSandboxConfig.

+
+ +- **ContainerStatsFilter** + + The API is used to add filter criteria for the container stats list. The intersection of multiple filter criteria is displayed. + + + + + + + + + + + + + + + + +

Parameter

+

Description

+

string id

+

Container ID.

+

string pod_sandbox_id

+

Sandbox ID.

+

map<string, string> label_selector

+

Container label, which does not support regular expressions and must be fully matched.

+
+ +- **ContainerStats** + + The API is used to add filter criteria for the container stats list. The intersection of multiple filter criteria is displayed. + + + + + + + + + + + + + + + + + + + +

Parameter

+

Description

+

ContainerAttributes attributes

+

Container information.

+

CpuUsage cpu

+

CPU usage information.

+

MemoryUsage memory

+

Memory usage information.

+

FilesystemUsage writable_layer

+

Information about the writable layer usage.

+
+ +- **ContainerAttributes** + + The API is used to list basic container information. + + + + + + + + + + + + + + + + + + + +

Parameter

+

Description

+

string id

+

Container ID.

+

ContainerMetadata metadata

+

Container metadata.

+

map<string,string> labels

+

Key-value pair that can be used to identify a container or a series of containers.

+

map<string,string> annotations

+

Key-value pair that stores any information, whose values cannot be changed by the runtime.

+
+ +- **CpuUsage** + + The API is used to list the CPU usage information of a container. + + + + + + + + + + + + + +

Parameter

+

Description

+

int64 timestamp

+

Timestamp.

+

UInt64Value usage_core_nano_seconds

+

CPU usage (unit: ns).

+
+ +- **MemoryUsage** + + The API is used to list the memory usage information of a container. + + + + + + + + + + + + + +

Parameter

+

Description

+

int64 timestamp

+

Timestamp.

+

UInt64Value working_set_bytes

+

Memory usage.

+
+ +- **FilesystemUsage** + + The API is used to list the read/write layer information of a container. + + + + + + + + + + + + + + + + + + + +

Parameter

+

Description

+

int64 timestamp

+

Timestamp.

+

StorageIdentifier storage_id

+

Writable layer directory.

+

UInt64Value used_bytes

+

Number of bytes occupied by images at the writable layer.

+

UInt64Value inodes_used

+

Number of inodes occupied by images at the writable layer.

+
+ +- **Device** + + The API is used to specify the host volume to be mounted to a container. + + + + + + + + + + + + + + + +

Parameter

+

Description

+

string container_path

+

Mounting path of a container.

+

string host_path

+

Mounting path on the host.

+

string permissions

+

Cgroup permission of a device. (r indicates that containers can be read from a specified device. w indicates that containers can be written to a specified device. m indicates that containers can create new device files.)

+
+ +- **LinuxContainerConfig** + + The API is used to specify Linux configurations. + + + + + + + + + + + + +

Parameter

+

Description

+

LinuxContainerResources resources

+

Container resource specifications.

+

LinuxContainerSecurityContext security_context

+

Linux container security configuration.

+
+ +- **ContainerConfig** + + The API is used to specify all mandatory and optional fields for creating a container. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Parameter

+

Description

+

ContainerMetadata metadata

+

Container metadata. The information will uniquely identify a container and should be used at runtime to ensure correct operations. The information can also be used at runtime to optimize the user experience (UX) design, for example, construct a readable name. This parameter is mandatory.

+

ImageSpec image

+

Image used by the container. This parameter is mandatory.

+

repeated string command

+

Command to be executed. Default value: /bin/sh

+

repeated string args

+

Parameters of the command to be executed.

+

string working_dir

+

Current working path of the command.

+

repeated KeyValue envs

+

Environment variables configured in the container.

+

repeated Mount mounts

+

Information about the mount point to be mounted in the container.

+

repeated Device devices

+

Information about the device to be mapped in the container.

+

map<string, string> labels

+

Key-value pair that can be used to index and select a resource.

+

map<string, string> annotations

+

Unstructured key-value mappings that can be used to store and retrieve any metadata.

+

string log_path

+

Relative path to PodSandboxConfig.LogDirectory, which is used to store logs (STDOUT and STDERR) on the container host.

+

bool stdin

+

Whether to open stdin of the container.

+

bool stdin_once

+

Whether to immediately disconnect other data flows connected with stdin when a data flow connected with stdin is disconnected. This parameter does not take effect now.

+

bool tty

+

Whether to use a pseudo terminal to connect to stdio of the container.

+

LinuxContainerConfig linux

+

Container configuration information in the Linux system.

+
+ +- **NetworkConfig** + + This API is used to specify runtime network configurations. + + + + + + + + + +

Parameter

+

Description

+

string pod_cidr

+

CIDR used by pod IP addresses.

+
+ +- **RuntimeConfig** + + This API is used to specify runtime network configurations. + + + + + + + + + +

Parameter

+

Description

+

NetworkConfig network_config

+

Runtime network configurations.

+
+ +- **RuntimeCondition** + + The API is used to describe runtime status information. + + + + + + + + + + + + + + + + + + +

Parameter

+

Description

+

string type

+

Runtime status type.

+

bool status

+

Runtime status.

+

string reason

+

Brief description of the reason for the runtime status change.

+

string message

+

Message with high readability, which indicates the reason for the runtime status change.

+
+ +- **RuntimeStatus** + + The API is used to describe runtime status. + + + + + + + + + +

Parameter

+

Description

+

repeated RuntimeCondition conditions

+

List of current runtime status.

+
+ + + + diff --git a/content/en/docs/Container/appendix-23.md b/content/en/docs/Container/appendix-23.md new file mode 100644 index 000000000..2719ae844 --- /dev/null +++ b/content/en/docs/Container/appendix-23.md @@ -0,0 +1,2 @@ +# Appendix + diff --git a/content/en/docs/Container/appendix-30.md b/content/en/docs/Container/appendix-30.md new file mode 100644 index 000000000..98ea83c33 --- /dev/null +++ b/content/en/docs/Container/appendix-30.md @@ -0,0 +1 @@ +# Appendix diff --git a/content/en/docs/Container/appendix.md b/content/en/docs/Container/appendix.md new file mode 100644 index 000000000..4e5d65d79 --- /dev/null +++ b/content/en/docs/Container/appendix.md @@ -0,0 +1 @@ +# Appendix diff --git a/content/en/docs/Container/application-scenarios-28.md b/content/en/docs/Container/application-scenarios-28.md new file mode 100644 index 000000000..f1862606b --- /dev/null +++ b/content/en/docs/Container/application-scenarios-28.md @@ -0,0 +1,4 @@ +# Application Scenarios + +This section describes how to use a secure container. + diff --git a/content/en/docs/Container/application-scenarios.md b/content/en/docs/Container/application-scenarios.md new file mode 100644 index 000000000..c67dba76a --- /dev/null +++ b/content/en/docs/Container/application-scenarios.md @@ -0,0 +1,5 @@ +# Application Scenarios + + + + diff --git a/content/en/docs/Container/attach-41.md b/content/en/docs/Container/attach-41.md new file mode 100644 index 000000000..17a482a77 --- /dev/null +++ b/content/en/docs/Container/attach-41.md @@ -0,0 +1,19 @@ +# attach + +Syntax: **docker attach \[**_options_**\]** _container_ + +Function: Attaches an option to a running container. + +Parameter description: + +**--no-stdin=false**: Does not attach any STDIN. + +**--sig-proxy=true**: Proxies all signals of the container, except SIGCHLD, SIGKILL, and SIGSTOP. + +Example: + +``` +$ sudo docker attach attach_test +root@2988b8658669:/# ls bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var +``` + diff --git a/content/en/docs/Container/attach.md b/content/en/docs/Container/attach.md new file mode 100644 index 000000000..021eca78b --- /dev/null +++ b/content/en/docs/Container/attach.md @@ -0,0 +1,64 @@ +# Attach + +## Prototype + +``` +rpc Attach(AttachRequest) returns (AttachResponse) {} +``` + +## Description + +This API is used to take over the init process of a container through the gRPC communication method, that is, obtain URLs from the CRI server, and then use the obtained URLs to establish a long connection to the WebSocket server, implementing the interaction with the container. Only containers whose runtime is of the LCR type are supported. + +## Parameters + + + + + + + + + + + + + + + + + + + + + +

Parameter

+

Description

+

string container_id

+

Container ID.

+

bool tty

+

Whether to run the command in a TTY.

+

bool stdin

+

Whether to generate the standard input stream.

+

bool stdout

+

Whether to generate the standard output stream.

+

bool stderr

+

Whether to generate the standard error output stream.

+
+ +## Return Values + + + + + + + + + +

Return Value

+

Description

+

string url

+

Fully qualified URL of the attach streaming server.

+
+ diff --git a/content/en/docs/Container/attaching-to-a-container.md b/content/en/docs/Container/attaching-to-a-container.md new file mode 100644 index 000000000..fab698dcc --- /dev/null +++ b/content/en/docs/Container/attaching-to-a-container.md @@ -0,0 +1,61 @@ +# Attaching to a Container + +## Description + +To attach standard input, standard output, and standard error of the current terminal to a running container, run the **isula attach** command. Only containers whose runtime is of the LCR type are supported. + +## **Usage** + +``` +isula attach [OPTIONS] CONTAINER +``` + +## Parameters + +The following table lists the parameters supported by the **attach** command. + +**Table 1** Parameter description + + + + + + + + + + + + + + + + + + +

Command

+

Parameter

+

Description

+

attach

+

--help

+

Displays help information.

+

-H, --host

+

Specifies the iSulad socket file path to be accessed.

+

-D, --debug

+

Enables the debug mode.

+
+ +## Constraints + +- For the native Docker, running the **attach** command will directly enter the container. For the iSulad container, you have to run the **attach** command and press **Enter** to enter the container. + +## Example + +Attach to a running container. + +``` +$ isula attach fd7376591a9c3d8ee9a14f5d2c2e5255b02cc44cddaabca82170efd4497510e1 +/ # +/ # +``` + diff --git a/content/en/docs/Container/audit-component.md b/content/en/docs/Container/audit-component.md new file mode 100644 index 000000000..333fed3fe --- /dev/null +++ b/content/en/docs/Container/audit-component.md @@ -0,0 +1,34 @@ +# Audit Component + +You can configure audit for Docker. However, this configuration is not mandatory. For example: + +``` +-w /var/lib/docker -k docker +-w /etc/docker -k docker +-w /usr/lib/systemd/system/docker.service -k docker +-w /usr/lib/systemd/system/docker.socket -k docker +-w /etc/sysconfig/docker -k docker +-w /usr/bin/docker-containerd -k docker +-w /usr/bin/docker-runc -k docker +-w /etc/docker/daemon.json -k docker +``` + +Configuring audit for Docker brings certain benefits for auditing, while it does not have any substantial effects on attack defense. In addition, the audit configurations cause serious efficiency problems, for example, the system may not respond smoothly. Therefore, exercise caution in the production environment. + +The following uses **-w /var/lib/docker -k docker** as an example to describe how to configure Docker audit. + +``` +[root@localhost signal]# cat /etc/audit/rules.d/audit.rules | grep docker -w /var/lib/docker/ -k docker +[root@localhost signal]# auditctl -R /etc/audit/rules.d/audit.rules | grep docker +[root@localhost signal]# auditctl -l | grep docker -w /var/lib/docker/ -p rwxa -k docker +``` + +>![](public_sys-resources/icon-note.gif) **NOTE:** +>**-p \[r|w|x|a\]** and **-w** are used together to monitor the read, write, execution, and attribute changes \(such as timestamp changes\) of the directory. In this case, any file or directory operation in the **/var/lib/docker** directory will be recorded in the **audit.log** file. As a result, too many logs will be recorded in the **audit.log** file, which severely affects the memory or CPU usage of the auditd, and further affects the OS. For example, logs similar to the following will be recorded in the **/var/log/audit/audit.log** file each time the **ls /var/lib/docker/containers** command is executed: + +``` +type=SYSCALL msg=audit(1517656451.457:8097): arch=c000003e syscall=257 success=yes exit=3 a0=ffffffffffffff9c a1=1b955b0 a2=90800 a3=0 items=1 ppid=17821 pid=1925 auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts6 ses=4 comm="ls" exe="/usr/bin/ls" subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key="docker"type=CWD msg=audit(1517656451.457:8097): cwd="/root"type=PATH msg=audit(1517656451.457:8097): item=0 name="/var/lib/docker/containers" inode=1049112 dev=fd:00 mode=040700 ouid=0 ogid=0 rdev=00:00 obj=unconfined_u:object_r:container_var_lib_t:s0 objtype=NORMAL +``` + +   + diff --git a/content/en/docs/Container/basic-installation-configuration.md b/content/en/docs/Container/basic-installation-configuration.md new file mode 100644 index 000000000..0759438e5 --- /dev/null +++ b/content/en/docs/Container/basic-installation-configuration.md @@ -0,0 +1,4 @@ +# Basic Installation Configuration + + + diff --git a/content/en/docs/Container/build.md b/content/en/docs/Container/build.md new file mode 100644 index 000000000..f289212c3 --- /dev/null +++ b/content/en/docs/Container/build.md @@ -0,0 +1,211 @@ +# build + +Syntax: **docker build \[**_options_**\]** _path_ **|** _URL_ **| -** + +Function: Builds an image using the Dockerfile in the specified path. + +Parameter description: Common parameters are as follows. For details about more parameters, see the **docker help build** command section. + +**Table 1** Parameter description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Parameter

+

Description

+

--force-rm=false

+

Deletes containers generated during the build process even if the build is not successful.

+

--no-cache=false

+

Builds cache without using cache.

+

-q, --quiet=false

+

Prevents the redundant information generation during the build.

+

--rm=true

+

Deletes the container generated during the build after the build is successful.

+

-t, --tag=""

+

Tag name of the image generated during the build.

+

--build-arg=[]

+

Configures the build parameters.

+

--label=[]

+

Image-related parameters. The description of each parameter is similar to that of the create command.

+

--isolation

+

Container isolation method.

+

--pull

+

Obtains the latest image during the build.

+
+ +**Dockerfile Command** + +Dockerfile is used to describe how to build an image and automatically build a container. The format of all **Dockerfile** commands is _instruction_ _arguments_. + +   + +**FROM Command** + +Syntax: **FROM** _image_ or **FROM** _image_:_tag_ + +Function: Specifies a basic image, which is the first command for all Dockerfile files. If the tag of a basic image is not specified, the default tag name **latest** is used. + +   + +**RUN Command** + +Syntax: **RUN** _command_ \(for example, **run in a shell - \`/bin/sh -c\`**\) or + +**RUN \[**_executable_, _param1_, _param2_ ... **\]** \(in the **exec** command format\) + +Function: Runs any command in the image specified by the **FROM** command and then commits the result. The committed image can be used in later commands. The **RUN** command is equivalent to: + +**docker run** _image_ _command_ + +**docker commit** _container\_id_ + +   + +**Remarks** + +The number sign \(\#\) is used to comment out. + +   + +**MAINTAINER Command** + +Syntax: **MAINTAINER **_name_ + +Function: Specifies the name and contact information of the maintenance personnel. + +   + +**ENTRYPOINT Command** + +Syntax: **ENTRYPOINT cmd **_param1 param2..._ or **ENTRYPOINT \[**_"cmd", "param1", "param2"..._**\]** + +Function: Configures the command to be executed during container startup. + +   + +**USER Command** + +Syntax: **USER **_name_ + +Function: Specifies the running user of memcached. + +   + +**EXPOSE Command** + +Syntax: **EXPOSE **_port_** \[**_port_**...\]** + +Function: Enables one or more ports for images. + +   + +**ENV Command** + +Syntax: **ENV**_ key value_ + +Function: Configures environment variables. After the environment variables are configured, the **RUN** commands can be subsequently used. + +   + +**ADD Command** + +Syntax: **ADD**_ src dst_ + +Function: Copies a file from the _src_ directory to the _dest_ directory of a container. _src_ indicates the relative path of the source directory to be built. It can be the path of a file or directory, or a remote file URL. _dest_ indicates the absolute path of the container. + +   + +**VOLUME Command** + +Syntax: **VOLUME \["**_mountpoint_**"\]** + +Function: Creates a mount point for sharing a directory. + +   + +**WORKDIR Command** + +Syntax: **workdir **_path_ + +Function: Runs the **RUN**, **CMD**, and **ENTRYPOINT** commands to set the current working path. The current working path can be set multiple times. If the current working path is a relative path, it is relative to the previous **WORKDIR** command. + +   + +**CMD command** + +Syntax: **CMD \[**_"executable","param1","param2"_**\]** \(This command is similar to the **exec** command and is preferred.\) + +**CMD \["**_param1_**","**_param2_**"\]** \(The parameters are the default parameters for ENTRYPOINT.\) + +**CMD** _command_ _param1_ _param2_ \(This command is similar to the **shell** command.\) + +Function: A Dockerfile can contain only one CMD command. If there are multiple CMD commands, only the last one takes effect. + +   + +**ONBUILD Commands** + +Syntax: **ONBUILD \[**_other commands_**\]** + +Function: This command is followed by other commands, such as the **RUN** and **COPY** commands. This command is not executed during image build and is executed only when the current image is used as the basic image to build the next-level image. + +The following is a complete example of the Dockerfile command that builds an image with the sshd service installed. + + + + + +
FROM busybox
+ENV  http_proxy http://192.168.0.226:3128
+ENV  https_proxy https://192.168.0.226:3128
+RUN apt-get update && apt-get install -y openssh-server
+RUN mkdir -p /var/run/sshd
+EXPOSE 22
+ENTRYPOINT /usr/sbin/sshd -D
+
+ +Example: + +1. Run the following command to build an image using the preceding Dockerfile: + + ``` + $ sudo docker build -t busybox:latest + ``` + +2. Run the following command to view the generated image: + + ``` + docker images | grep busybox + ``` + + diff --git a/content/en/docs/Container/capabilities-security-configuration.md b/content/en/docs/Container/capabilities-security-configuration.md new file mode 100644 index 000000000..a0f620c0d --- /dev/null +++ b/content/en/docs/Container/capabilities-security-configuration.md @@ -0,0 +1,5 @@ +# capabilities Security Configuration + + + + diff --git a/content/en/docs/Container/check-rules.md b/content/en/docs/Container/check-rules.md new file mode 100644 index 000000000..1d654b991 --- /dev/null +++ b/content/en/docs/Container/check-rules.md @@ -0,0 +1,32 @@ +# Check Rules + +1. After a container is started, the container status is **health:starting**. +2. After the period specified by **start-period**, the **cmd** command is periodically executed in the container at the interval specified by **interval**. That is, after the command is executed, the command will be executed again after the specified period. +3. If the **cmd** command is successfully executed within the time specified by **timeout** and the return value is **0**, the check is successful. Otherwise, the check fails. If the check is successful, the container status changes to **health:healthy**. +4. If the **cmd** command fails to be executed for the number of times specified by **retries**, the container status changes to **health:unhealthy**, and the container continues the health check. +5. When the container status is **health:unhealthy**, the container status changes to **health:healthy** if a check succeeds. +6. If **--exit-on-unhealthy** is set, and the container exits due to reasons other than being killed \(the returned exit code is **137**\), the health check takes effect only after the container is restarted. +7. When the **cmd** command execution is complete or times out, Docker daemon will record the start time, return value, and standard output of the check to the configuration file of the container. A maximum of five records can be recorded. In addition, the configuration file of the container stores health check parameters. +8. When the container is running, the health check status is written into the container configurations. You can run the **isula inspect** command to view the status. + +``` +"Health": { + "Status": "healthy", + "FailingStreak": 0, + "Log": [ + { + "Start": "2018-03-07T07:44:15.481414707-05:00", + "End": "2018-03-07T07:44:15.556908311-05:00", + "ExitCode": 0, + "Output": "" + }, + { + "Start": "2018-03-07T07:44:18.557297462-05:00", + "End": "2018-03-07T07:44:18.63035891-05:00", + "ExitCode": 0, + "Output": "" + }, + ...... +} +``` + diff --git a/content/en/docs/Container/checking-the-container-health-status.md b/content/en/docs/Container/checking-the-container-health-status.md new file mode 100644 index 000000000..50ec97bd2 --- /dev/null +++ b/content/en/docs/Container/checking-the-container-health-status.md @@ -0,0 +1,3 @@ +# Checking the Container Health Status + + diff --git a/content/en/docs/Container/cni-network-configuration-description.md b/content/en/docs/Container/cni-network-configuration-description.md new file mode 100644 index 000000000..af45921c0 --- /dev/null +++ b/content/en/docs/Container/cni-network-configuration-description.md @@ -0,0 +1,7 @@ +# CNI Network Configuration Description + +The CNI network configuration includes two types, both of which are in the .json file format. + +- Single-network plane configuration file with the file name extension .conf or .json. For details about the configuration items, see [Table 1](cni-parameters.md#en-us_topic_0184347952_table425023335913) in the appendix. +- Multi-network plane configuration file with the file name extension .conflist. For details about the configuration items, see [Table 3](cni-parameters.md#en-us_topic_0184347952_table657910563105) in the appendix. + diff --git a/content/en/docs/Container/cni-parameters.md b/content/en/docs/Container/cni-parameters.md new file mode 100644 index 000000000..f0e65e8d5 --- /dev/null +++ b/content/en/docs/Container/cni-parameters.md @@ -0,0 +1,511 @@ +# CNI Parameters + +**Table 1** CNI single network parameters + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Parameter

+

Type

+

Mandatory or Not

+

Description

+

cniVersion

+

string

+

Yes

+

CNI version. Only 0.3.0 and 0.3.1 are supported.

+

name

+

string

+

Yes

+

Network name, which is user-defined and must be unique.

+

type

+

string

+

Yes

+

Network type. The following types are supported:

+

underlay_ipvlan

+

overlay_l2

+

underlay_l2

+

vpc-router

+

dpdk-direct

+

phy-direct

+

ipmasp

+

bool

+

No

+

Configures the IP masquerade.

+

ipam

+

structure

+

No

+

For details, see the IPAM parameter definition.

+

ipam.type

+

string

+

No

+

IPAM type. The following types are supported:

+

(1) For underlay_l2, overlay_l2, and vpc-router networking, only the default value distributed_l2 is supported.

+

(2) For underlay_ipvlan networking, the default value is distributed_l2. In the CCN scenario, only null and fixed are supported. In the CCE and FST 5G core scenarios, only null and distributed_l2 are supported.

+

(3) For phy-direct and dpdk-direct networking, the default value is l2, and optional values are null and distributed_l2. In the FST 5G core scenario, only null and distributed_l2 are supported.

+

Description:

+

If the value is out of the range (for example, host-local), Canal automatically sets the value to the default value and no error is returned.

+

null: Canal is not used to manage IP addresses.

+

fixed: fixed IP address, which is used in the CCN scenario.

+

l2: This value is not used in any scenario.

+

distributed_l2: The distributed small subnet is used to manage IP addresses.

+

ipam.subnet

+

string

+

No

+

Subnet information. Canal supports the subnet mask ranging from 8 to 29. The IP address cannot be a multicast address (for example, 224.0.0.0/4), reserved address (240.0.0.0/4), local link address (169.254.0.0/16), or local loop address (127.0.0.0/8).

+

ipam.gateway

+

string

+

No

+

Gateway IP address.

+

ipam.range-start

+

string

+

No

+

Available start IP address.

+

ipam.range-end

+

string

+

No

+

Available end IP address.

+

ipam.routes

+

structure

+

No

+

Subnet list. Each element is a route dictionary. For details, see the route definition.

+

ipam.routes.dst

+

string

+

No

+

Destination network.

+

ipam.routes.gw

+

string

+

No

+

Gateway address.

+

dns

+

structure

+

No

+

Contains some special DNS values.

+

dns.nameservers

+

[]string

+

No

+

NameServers

+

dns.domain

+

string

+

No

+

Domain

+

dns.search

+

[]string

+

No

+

Search

+

dns.options

+

[]string

+

No

+

Options

+

multi_entry

+

int

+

No

+

Number of IP addresses required by a vNIC. The value ranges from 0 to 16. For physical passthrough, a maximum of 128 IP addresses can be applied for a single NIC.

+

backup_mode

+

bool

+

No

+

Active/Standby mode, which is used only for phy-direct and dpdk-direct networking.

+

vlanID

+

int

+

No

+

The value ranges from 0 to 4095. It can be specified through PaaS.

+

vlan_inside

+

bool

+

No

+

The value true indicates that the VLAN function is implemented internally on the node, and the value false indicates that the VLAN function is implemented externally.

+

vxlanID

+

int

+

No

+

The value ranges from 0 to 16777215. It can be specified through PaaS.

+

vxlan_inside

+

bool

+

No

+

The value true indicates that the VLAN function is implemented internally on the node, and the value false indicates that the VLAN function is implemented externally.

+

action

+

string

+

No

+

This parameter can be used only with the special container ID 000000000000.

+

Create: creates a network.

+

Delete: deletes a network.

+

args

+

map[string]interface{}

+

No

+

Key-value pair type.

+

runtimeConfig

+

structure

+

No

+

None

+

capabilities

+

structure

+

No

+

None

+
+ +**Table 2** CNI args parameters + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Parameter

+

Type

+

Mandatory

+

Description

+

K8S_POD_NAME

+

string

+

No

+

Set this parameter when you apply for a fixed IP address (runtimeConfig.ican_caps.fixed_ip is set to true).

+

K8S_POD_NAMESPACE

+

string

+

No

+

Set this parameter when you apply for a fixed IP address (runtimeConfig.ican_caps.fixed_ip is set to true).

+

SECURE_CONTAINER

+

string

+

No

+

Secure container flag.

+

multi_port

+

int

+

No

+

The value ranges from 1 to 8. The default value is 1. Specifies the number of passthrough NICs. Only phy-direct and dpdk-direct networks are supported.

+

phy-direct

+

string

+

No

+

Specifies the NIC to be connected when you create an SR-IOV container network.

+

dpdk-direct

+

string

+

No

+

Specifies the NIC to be connected when you create a DPDK passthrough container network.

+

tenant_id

+

string

+

No

+

Indicates the tenant ID.

+

Only vpc-router networks are supported.

+

vpc_id

+

string

+

No

+

VPC ID.

+

Only vpc-router networks are supported.

+

secret_name

+

string

+

No

+

Specifies the AK/SK object name on the K8S APIServer.

+

Only vpc-router networks are supported.

+

For details, see the configuration of VPC-Router logical networks.

+

IP

+

string

+

No

+

IP address specified by the user, in the format of 192.168.0.10.

+

K8S_POD_NETWORK_ARGS

+

string

+

No

+

Specifies an IP address, in the format of 192.168.0.10. If both IP and K8S_POD_NETWORK_ARGS in args are not empty, the value of K8S_POD_NETWORK_ARGS prevails.

+

INSTANCE_NAME

+

string

+

No

+

INSTANCE ID.

+

Refer to fixed IP addresses that support containers.

+

dist_gateway_disable

+

bool

+

No

+

The value true indicates that no gateway is created, and the value false indicates that a gateway is created.

+

phynet

+

string or []string

+

No

+

Specifies the name of the physical plane to be added. The physical plane name is predefined and corresponds to that in the SNC system. When two plane names are entered, the active and standby planes are supported. Example: phy_net1 or ["phy_net2","phy_net3"]

+

endpoint_policies

+

struct

+

No

+

"endpoint_policies": [

+

{

+

"Type": "",

+

"ExceptionList": [

+

""

+

],

+

"NeedEncap": true,

+

"DestinationPrefix": ""

+

}

+

]

+

port_map

+

struct

+

No

+

On a NAT network, container ports can be advertised to host ports.

+

"port_map": [

+

{

+

"local_port": number,

+

"host_port": number,

+

"protocol": [string...]

+

}...

+

]

+
+ +**Table 3** CNI multiple network parameters + + + + + + + + + + + + + + + + + + + + + + + + +

Parameter

+

Type

+

Mandatory

+

Description

+

cniVersion

+

string

+

Yes

+

CNI version. Only 0.3.0 and 0.3.1 are supported.

+

name

+

string

+

Yes

+

Network name, which is user-defined and must be unique.

+

plugins

+

struct

+

Yes

+

For details, see CNI single network parameters

+
+ diff --git a/content/en/docs/Container/command-line-interface-list.md b/content/en/docs/Container/command-line-interface-list.md new file mode 100644 index 000000000..d9f88562a --- /dev/null +++ b/content/en/docs/Container/command-line-interface-list.md @@ -0,0 +1,88 @@ +# Command Line Interface List + +This section lists commands in system containers, which are different from those in common containers. For details about other commands, refer to sections related to the iSulad container engine or run the **isula **_XXX_** --help** command. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Command

+

Parameters

+

Value Description

+

isula create/run

+

--external-rootfs

+
  • Variable of the string type.
  • Absolute path on the host.
  • Specifies the rootfs of a VM when running a system container.
+

--system-container

+
  • Boolean variable.
  • Specifies whether a container is a system container. In a system container scenario, this function must be enabled.
+

--add-host

+
  • Variable of the string type.
  • Specifies the hosts configuration for a container. The format is hostname:ip. Multiple values can be set.
+

--dns, --dns-option, --dns-search

+
  • Variable of the string type.
  • Specifies the DNS configuration for a container. Multiple values can be set.
+

--ns-change-opt

+
  • Variable of the string type.
  • Container namespace kernel parameter. The value can only be net or ipc. If multiple values are set, separate them with commas (,), for example, --ns-change-opt=net,ipc.
+

--oom-kill-disable

+
  • Boolean variable.
  • Indicates whether to enable the oom-kill-disable function.
+

--shm-size

+
  • Variable of the string type.
  • Sets the size of /dev/shm. The default value is 64 MB. The unit can be byte (B), kilobyte (KB), megabyte (MB), gigabyte (GB), terabyte (TB), or petabyte (PB).
+

--sysctl

+
  • Variable of the string type.
  • Specifies container kernel parameters. The format is key=value. Multiple values can be set. The sysctl whitelist is as follows:
+

kernel.msgmax, kernel.msgmnb, kernel.msgmni, kernel.sem, kernel.shmall, kernel.shmmax, kernel.shmmni, kernel.shm_rmid_forced, kernel.pid_max, net., and fs.mqueue

+
NOTE:

The kernel.pid_max kernel parameter in a container must be able to be namespaced. Otherwise, an error is reported.

+

Parameter restrictions (including the parameter types and value ranges) of the sysctl whitelist in a container must be the same as those of kernel parameters in the physical machine.

+
+

--env-target-file

+
  • Variable of the string type.
  • Specifies the env persistent file path. (The path must be an absolute path and the file must be in the rootfs directory.) The file size cannot exceed 10 MB. If the value of --env conflicts with that of env in the file, the value of --env takes effect.
  • The root directory of the absolute path is the rootfs root directory. That is, to set the file path to /etc/environment in the container, you need to specify env-target-file=/etc/environment only.
+

--cgroup-parent

+
  • Variable of the string type.
  • Specifies the cgroup parent directory of a container. The cgroup root directory is /sys/fs/cgroup/controller.
+

--host-channel

+
  • Variable of the string type.
  • Specifies the memory space shared between the host and a container (tmpfs). The format is as follows:
+

host path:container path:rw/ro:size limit

+

--files-limit

+
  • Variable of the string type.
  • Specifies the maximum number of file handles in a container. The value must be an integer.
+

--user-remap

+
  • Variable of the string type.
  • The parameter format is uid:gid:offset.
+
+ diff --git a/content/en/docs/Container/command-line-parameters.md b/content/en/docs/Container/command-line-parameters.md new file mode 100644 index 000000000..c4c7f63f0 --- /dev/null +++ b/content/en/docs/Container/command-line-parameters.md @@ -0,0 +1,197 @@ +# Command Line Parameters + +**Table 1** login command parameters + + + + + + + + + + + + + + + + + + + + +

Command

+

Parameter

+

Description

+

login

+

  

+

  

+

-H, --host

+

Specifies the iSulad socket file path to be accessed.

+

-p, --password

+

Specifies the password for logging in to the registry.

+

--password-stdin

+

Specifies the password for obtaining the registry from standard input.

+

-u, --username

+

Specifies the username for logging in to the registry.

+
+ +**Table 2** logout command parameters + + + + + + + + + + + +

Command

+

Parameter

+

Description

+

logout

+

-H, --host

+

Specifies the iSulad socket file path to be accessed.

+
+ +**Table 3** pull command parameters + + + + + + + + + + + +

Command

+

Parameter

+

Description

+

pull

+

-H, --host

+

Specifies the iSulad socket file path to be accessed.

+
+ +**Table 4** rmi command parameters + + + + + + + + + + + + + + +

Command

+

Parameter

+

Description

+

rmi

+

  

+

-H, --host

+

Specifies the iSulad socket file path to be accessed.

+

-f, --force

+

Forcibly removes an image.

+
+ +**Table 5** load command parameters + + + + + + + + + + + + + + + + + + + + +

Command

+

Parameter

+

Description

+

load

+

-H, --host (supported only by iSula)

+

Specifies the iSulad socket file path to be accessed.

+

-i, --input

+

Specifies where to import an image. If the image is of the docker type, the value is the image package path. If the image is of the embedded type, the value is the image manifest path.

+

--tag

+

Uses the image name specified by TAG instead of the default image name. This parameter is supported when the type is set to docker.

+

-t, --type

+

Specifies the image type. The value can be embedded or docker (default value).

+
+ +**Table 6** images command parameters + + + + + + + + + + + + + + +

Command

+

Parameter

+

Description

+

images

+

  

+

-H, --host

+

Specifies the iSulad socket file path to be accessed.

+

-q, --quit

+

Displays only the image name.

+
+ +**Table 7** inspect command parameters + + + + + + + + + + + + + + + + + + +

Command

+

Parameter

+

Description

+

inspect

+

-H, --host

+

Specifies the iSulad socket file path to be accessed.

+

-f, --format

+

Outputs using a template.

+

-t, --time

+

Timeout interval, in seconds. If the inspect command fails to query container information within the specified period, the system stops waiting and reports an error immediately. The default value is 120s. If the value is less than or equal to 0, the inspect command keeps waiting until the container information is obtained successfully.

+
+ diff --git a/content/en/docs/Container/command-reference.md b/content/en/docs/Container/command-reference.md new file mode 100644 index 000000000..4c3c01e4b --- /dev/null +++ b/content/en/docs/Container/command-reference.md @@ -0,0 +1,2 @@ +# Command Reference + diff --git a/content/en/docs/Container/commit.md b/content/en/docs/Container/commit.md new file mode 100644 index 000000000..0086b4483 --- /dev/null +++ b/content/en/docs/Container/commit.md @@ -0,0 +1,29 @@ +# commit + +Syntax: **docker commit \[**_options_**\] **_container _**\[**_repository\[:tag\]_**\]** + +Function: creates an image from a container. + +Parameter description: + +**-a**, **--author=""**: specifies an author. + +**-m**, **--message=""**: specifies the submitted information. + +**-p**, **--pause=true**: pauses the container during submission. + +Example: + +Run the following command to start a container and submit the container as a new image: + +``` +$ sudo docker commit test busybox:test +sha256:be4672959e8bd8a4291fbdd9e99be932912fe80b062fba3c9b16ee83720c33e1 + +$ sudo docker images +REPOSITORY TAG IMAGE ID CREATED SIZE +busybox latest e02e811dd08f 2 years ago 1.09MB +``` + +   + diff --git a/content/en/docs/Container/common-cnis.md b/content/en/docs/Container/common-cnis.md new file mode 100644 index 000000000..c89b05a9d --- /dev/null +++ b/content/en/docs/Container/common-cnis.md @@ -0,0 +1,70 @@ +# Common CNIs + +Common CNIs include CNI network configuration items in the CNI network configuration and pod configuration. These CNIs are visible to users. + +- CNI network configuration items in the CNI network configuration refer to those used to specify the path of the CNI network configuration file, path of the binary file of the CNI network plug-in, and network mode. For details, see [Table 1](#en-us_topic_0183259146_table18221919589). +- CNI network configuration items in the pod configuration refer to those used to set the additional CNI network list to which the pod is added. By default, the pod is added only to the default CNI network plane. You can add the pod to multiple CNI network planes as required. + +**Table 1** CNI network configuration items + + + + + + + + + + + + + + + + + + + + + + + + +

Function

+

Command

+

Configuration File

+

Description

+

Path of the binary file of the CNI network plug-in

+

--cni-bin-dir

+

"cni-bin-dir": "",

+

The default value is /opt/cni/bin.

+

Path of the CNI network configuration file

+

--cni-conf-dir

+

"cni-conf-dir": "",

+

The system traverses all files with the extension .conf, .conflist, or .json in the directory. The default value is /etc/cni/net.d.

+

Network mode

+

--network-plugin

+

"network-plugin": "",

+

Specifies a network plug-in. The value is a null character by default, indicating that no network configuration is available and the created sandbox has only the loop NIC. The CNI and null characters are supported. Other invalid values will cause iSulad startup failure.

+
+ +Additional CNI network configuration mode: + +Add the network plane configuration item "network.alpha.kubernetes.io/network" to annotations in the pod configuration file. + +The network plane is configured in JSON format, including: + +- **name**: specifies the name of the CNI network plane. +- **interface**: specifies the name of a network interface. + +The following is an example of the CNI network configuration method: + +``` +"annotations" : { + "network.alpha.kubernetes.io/network": "{\"name\": \"mynet\", \"interface\": \"eth1\"}" + } +``` + +   + + diff --git a/content/en/docs/Container/configurable-cgroup-path.md b/content/en/docs/Container/configurable-cgroup-path.md new file mode 100644 index 000000000..8519d9b3a --- /dev/null +++ b/content/en/docs/Container/configurable-cgroup-path.md @@ -0,0 +1,96 @@ +# Configurable Cgroup Path + +## Function Description + +System containers provide the capabilities of isolating and reserving container resources on hosts. You can use the **--cgroup-parent** parameter to specify the cgroup directory used by a container to another directory, thereby flexibly allocating host resources. For example, if the cgroup parent path of containers A, B, and C is set to **/lxc/cgroup1**, and the cgroup parent path of containers D, E, and F is set to **/lxc/cgroup2**, the containers are divided into two groups through the cgroup paths, implementing resource isolation at the cgroup level. + +## Parameter Description + + + + + + + + + + + + +

Command

+

Parameter

+

Value Description

+

isula create/run

+

--cgroup-parent

+
  • Variable of the string type.
  • Specifies the cgroup parent path of the container.
+
+ +In addition to specifying the cgroup parent path for a system container using commands, you can also specify the cgroup paths of all containers by modifying the startup configuration files of the iSulad container engine. + + + + + + + + + + + + +

Configuration File Path

+

Parameter

+

Description

+

/etc/isulad/daemon.json

+

--cgroup-parent

+
  • Variable of the string type.
  • Specifies the default cgroup parent path of the container.
  • Example: "cgroup-parent": "/lxc/mycgroup"
+
+ +## Constraints + +- If the **cgroup parent** parameter is set on both the daemon and client, the value specified on the client takes effect. +- If container A is started before container B, the cgroup parent path of container B is specified as the cgroup path of container A. When deleting a container, you need to delete container B and then container A. Otherwise, residual cgroup resources exist. + +## Example + +Start a system container and specify the **--cgroup-parent** parameter. + +``` +[root@localhost ~]# isula run -tid --cgroup-parent /lxc/cgroup123 --system-container --external-rootfs /root/myrootfs none init +115878a4dfc7c5b8c62ef8a4b44f216485422be9a28f447a4b9ecac4609f332e +``` + +Check the cgroup information of the init process in the container. + +``` +[root@localhost ~]# isula inspect -f "{{json .State.Pid}}" 11 +22167 +[root@localhost ~]# cat /proc/22167/cgroup +13:blkio:/lxc/cgroup123/115878a4dfc7c5b8c62ef8a4b44f216485422be9a28f447a4b9ecac4609f332e +12:perf_event:/lxc/cgroup123/115878a4dfc7c5b8c62ef8a4b44f216485422be9a28f447a4b9ecac4609f332e +11:cpuset:/lxc/cgroup123/115878a4dfc7c5b8c62ef8a4b44f216485422be9a28f447a4b9ecac4609f332e +10:pids:/lxc/cgroup123/115878a4dfc7c5b8c62ef8a4b44f216485422be9a28f447a4b9ecac4609f332e +9:rdma:/lxc/cgroup123/115878a4dfc7c5b8c62ef8a4b44f216485422be9a28f447a4b9ecac4609f332e +8:devices:/lxc/cgroup123/115878a4dfc7c5b8c62ef8a4b44f216485422be9a28f447a4b9ecac4609f332e +7:hugetlb:/lxc/cgroup123/115878a4dfc7c5b8c62ef8a4b44f216485422be9a28f447a4b9ecac4609f332e +6:memory:/lxc/cgroup123/115878a4dfc7c5b8c62ef8a4b44f216485422be9a28f447a4b9ecac4609f332e +5:net_cls,net_prio:/lxc/cgroup123/115878a4dfc7c5b8c62ef8a4b44f216485422be9a28f447a4b9ecac4609f332e +4:cpu,cpuacct:/lxc/cgroup123/115878a4dfc7c5b8c62ef8a4b44f216485422be9a28f447a4b9ecac4609f332e +3:files:/lxc/cgroup123/115878a4dfc7c5b8c62ef8a4b44f216485422be9a28f447a4b9ecac4609f332e +2:freezer:/lxc/cgroup123/115878a4dfc7c5b8c62ef8a4b44f216485422be9a28f447a4b9ecac4609f332e +1:name=systemd:/lxc/cgroup123/115878a4dfc7c5b8c62ef8a4b44f216485422be9a28f447a4b9ecac4609f332e/init.scope +0::/lxc/cgroup123/115878a4dfc7c5b8c62ef8a4b44f216485422be9a28f447a4b9ecac4609f332e +``` + +The cgroup parent path of the container is set to **/sys/fs/cgroup/**__**/lxc/cgroup123**. + +In addition, you can configure the container daemon file to set the cgroup parent paths for all containers. For example: + +``` +{ + "cgroup-parent": "/lxc/cgroup123", +} +``` + +Restart the container engine for the configuration to take effect. + diff --git a/content/en/docs/Container/configuration-methods.md b/content/en/docs/Container/configuration-methods.md new file mode 100644 index 000000000..8c1821396 --- /dev/null +++ b/content/en/docs/Container/configuration-methods.md @@ -0,0 +1,17 @@ +# Configuration Methods + +Configurations during container startup: + +``` +isula run -itd --health-cmd "echo iSulad >> /tmp/health_check_file || exit 1" --health-interval 5m --health-timeout 3s --health-exit-on-unhealthy busybox bash +``` + +The configurable options are as follows: + +- **--health-cmd**: This option is mandatory. If **0** is returned after a command is run in a container, the command execution succeeds. If a value other than **0** is returned, the command execution fails. +- **--health-interval**: interval between two consecutive command executions. The default value is **30s**. The value ranges from **1s** to the maximum value of Int64 \(unit: nanosecond\). If the input parameter is set to **0s**, the default value is used. +- **--health-timeout**: maximum duration for executing a single check command. If the execution times out, the command execution fails. The default value is **30s**. The value ranges from **1s** to the maximum value of Int64 \(unit: nanosecond\). If the input parameter is set to **0s**, the default value is used. Only containers whose runtime is of the LCR type are supported. +- **--health-start-period**: container initialization time. The default value is **0s**. The value ranges from **1s** to the maximum value of Int64 \(unit: nanosecond\). +- **--health-retries**: maximum number of retries for the health check. The default value is **3**. The maximum value is the maximum value of Int32. +- **--health-exit-on-unhealthy**: specifies whether to kill a container when it is unhealthy. The default value is **false**. + diff --git a/content/en/docs/Container/configuration-toml-31.md b/content/en/docs/Container/configuration-toml-31.md new file mode 100644 index 000000000..a26a476c9 --- /dev/null +++ b/content/en/docs/Container/configuration-toml-31.md @@ -0,0 +1,81 @@ +# configuration.toml + +>![](public_sys-resources/icon-note.gif) **NOTE:** +>The value of each field in the **configuration.toml** file is subject to the **configuration.toml** file in the **kata-containers-<**_version_**\>.rpm package**. You cannot set any field in the configuration file. + +``` +[hypervisor.qemu] +path: specifies the execution path of the virtualization QEMU. +kernel: specifies the execution path of the guest kernel. +initrd: specifies the guest initrd execution path. +image: specifies the execution path of the guest image (not applicable). +machine_type: specifies the type of the analog chip. The value is virt for the ARM architecture and pc for the x86 architecture. +kernel_params: specifies the running parameters of the guest kernel. +firmware: specifies the firmware path. If this parameter is left blank, the default firmware is used. +machine_accelerators: specifies an accelerator. +default_vcpus: specifies the default number of vCPUs for each SB/VM. +default_maxvcpus: specifies the default maximum number of vCPUs for each SB/VM. +default_root_ports: specifies the default number of root ports for each SB/VM. +default_bridges: specifies the default number of bridges for each SB/VM. +default_memory: specifies the default memory size of each SB/VM. The default value is 1024 MiB. +memory_slots: specifies the number of memory slots for each SB/VM. The default value is 10. +memory_offset: specifies the memory offset. The default value is 0. +disable_block_device_use: disables the block device from being used by the rootfs of the container. +shared_fs: specifies the type of the shared file system. The default value is virtio-9p. +virtio_fs_daemon: specifies the path of the vhost-user-fs daemon process. +virtio_fs_cache_size: specifies the default size of the DAX cache. +virtio_fs_cache: specifies the cache mode. +block_device_driver: specifies the driver of a block device. +block_device_cache_set: specifies whether to set cache-related options for a block device. The default value is false. +block_device_cache_direct: specifies whether to enable O_DIRECT. The default value is false. +block_device_cache_noflush: specifies whether to ignore device update requests. The default value is false. +enable_iothreads: enables iothreads. +enable_mem_prealloc: enables VM RAM pre-allocation. The default value is false. +enable_hugepages: enables huge pages. The default value is false. +enable_swap: enables the swap function. The default value is false. +enable_debug: enables QEMU debugging. The default value is false. +disable_nesting_checks: disables nested check. +msize_9p = 8192: specifies the number of bytes transmitted in each 9p packet. +use_vsock: uses vsocks to directly communicate with the agent (the prerequisite is that vsocks is supported). The default value is false. +hotplug_vfio_on_root_bus: enables the hot swap of the VFIO device on the root bus. The default value is false. +disable_vhost_net: disables vhost_net. The default value is false. +entropy_source: specifies the default entropy source. +guest_hook_path: specifies the binary path of the guest hook. + +[factory] +enable_template: enables the VM template. The default value is false. +template_path: specifies the template path. +vm_cache_number: specifies the number of VM caches. The default value is 0. +vm_cache_endpoint: specifies the address of the Unix socket used by the VMCache. The default value is /var/run/kata-containers/cache.sock. + +[proxy.kata] +path: specifies the kata-proxy running path. +enable_debug: enables proxy debugging. The default value is false. + +[shim.kata] +path: specifies the running path of kata-shim. +enable_debug: enables shim debugging. The default value is false. +enable_tracing: enables shim opentracing. + +[agent.kata] +enable_debug: enables the agent debugging function. The default value is false. +enable_tracing: enables the agent tracing function. +trace_mode: specifies the trace mode. +trace_type: specifies the trace type. +enable_blk_mount: enables guest mounting of the block device. + +[netmon] +enable_netmon: enables network monitoring. The default value is false. +path: specifies the kata-netmon running path. +enable_debug: enables netmon debugging. The default value is false. + +[runtime] +enable_debug: enables runtime debugging. The default value is false. +enable_cpu_memory_hotplug: enables CPU and memory hot swap. The default value is false. +internetworking_model: specifies the network interconnection mode between VMs and containers. +disable_guest_seccomp: disables the seccemp security mechanism in the guest application. The default value is true. +enable_tracing: enables runtime opentracing. The default value is false. +disable_new_netns: disables network namespace creation for the shim and hypervisor processes. The default value is false. +experimental: enables the experimental feature, which does not support user-defined configurations. +``` + diff --git a/content/en/docs/Container/configuration-toml.md b/content/en/docs/Container/configuration-toml.md new file mode 100644 index 000000000..41d1df9e0 --- /dev/null +++ b/content/en/docs/Container/configuration-toml.md @@ -0,0 +1,28 @@ +# Configuration.toml + +The secure container provides a global configuration file configuration.toml. Users can also customize the path and configuration options of the secure container configuration file. + +In the **runtimeArges** field of Docker engine, you can use **--kata-config** to specify a private file. The default configuration file path is **/usr/share/defaults/kata-containers/configuration.toml**. + +The following lists the common fields in the configuration file. For details about the configuration file options, see [configuration.toml](configuration-toml-31.md). + +1. hypervisor.qemu + - **path**: specifies the execution path of the virtualization QEMU. + - **kernel**: specifies the execution path of the guest kernel. + - **initrd**: specifies the guest initrd execution path. + - **machine\_type**: specifies the type of the analog chip. The value is **virt** for the ARM architecture and **pc** for the x86 architecture. + - **kernel\_params**: specifies the running parameters of the guest kernel. + +2. proxy.kata + - **path**: specifies the kata-proxy running path. + - **enable\_debug**: enables the debugging function for the kata-proxy process. + +3. agent.kata + - **enable\_blk\_mount**: enables guest mounting of the block device. + - **enable\_debug**: enables the debugging function for the kata-agent process. + +4. runtime + - **enable\_cpu\_memory\_hotplug**: enables CPU and memory hot swap. + - **enable\_debug**: enables debugging for the kata-runtime process. + + diff --git a/content/en/docs/Container/configuring-health-check-during-container-creation.md b/content/en/docs/Container/configuring-health-check-during-container-creation.md new file mode 100644 index 000000000..dcf8e7952 --- /dev/null +++ b/content/en/docs/Container/configuring-health-check-during-container-creation.md @@ -0,0 +1,111 @@ +# Configuring Health Check During Container Creation + +Docker provides the user-defined health check function for containers. You can configure the **HEALTHCHECK CMD** option in the Dockerfile, or configure the **--health-cmd** option when a container is created so that commands are periodically executed in the container to monitor the health status of the container based on return values. + +## Configuration Methods + +- Add the following configurations to the Dockerfile file: + + ``` + HEALTHCHECK --interval=5m --timeout=3s --health-exit-on-unhealthy=true \ + CMD curl -f http://localhost/ || exit 1 + ``` + + The configurable options are as follows: + + 1. **--interval=DURATION**: interval between two consecutive command executions. The default value is **30s**. After a container is started, the first check is performed after the interval time. + 2. **--timeout=DURATION**: maximum duration for executing a single check command. If the execution times out, the command execution fails. The default value is **30s**. + 3. **--start-period=DURATION**: container initialization period. The default value is **0s**. During the initialization, the health check is also performed, while the health check failure is not counted into the maximum number of retries. However, if the health check is successful during initialization, the container is considered as started. All subsequent consecutive check failures are counted in the maximum number of retries. + 4. **--retries=N**. maximum number of retries for the health check. The default value is **3**. + 5. **--health-exit-on-unhealthy=BOOLEAN**: whether to kill a container when it is unhealthy. The default value is **false**. + 6. **CMD**: This option is mandatory. If **0** is returned after a command is run in a container, the command execution succeeds. If a value other than **0** is returned, the command execution fails. + + After **HEALTHCHECK** is configured, related configurations are written into the image configurations during image creation. You can run the **docker inspect** command to view the configurations. For example: + + ``` + "Healthcheck": { + "Test": [ + "CMD-SHELL", + "/test.sh" + ] + }, + ``` + + +- Configurations during container creation: + + ``` + docker run -itd --health-cmd "curl -f http://localhost/ || exit 1" --health-interval 5m --health-timeout 3s --health-exit-on-unhealthy centos bash + ``` + + The configurable options are as follows: + + 1. **--health-cmd**: This option is mandatory. If **0** is returned after a command is run in a container, the command execution succeeds. If a value other than **0** is returned, the command execution fails. + 2. **--health-interval**: interval between two consecutive command executions. The default value is **30s**. The upper limit of the value is the maximum value of Int64 \(unit: nanosecond\). + 3. **--health-timeout**: maximum duration for executing a single check command. If the execution times out, the command execution fails. The default value is **30s**. The upper limit of the value is the maximum value of Int64 \(unit: nanosecond\). + 4. **--health-start-period**: container initialization time. The default value is **0s**. The upper limit of the value is the maximum value of Int64 \(unit: nanosecond\). + 5. **--health-retries**: maximum number of retries for the health check. The default value is **3**. The maximum value is the maximum value of Int32. + 6. **--health-exit-on-unhealthy**: specifies whether to kill a container when it is unhealthy. The default value is **false**. + + After the container is started, the **HEALTHCHECK** configurations are written into the container configurations. You can run the **docker inspect** command to view the configurations. For example: + + ``` + "Healthcheck": { + "Test": [ + "CMD-SHELL", + "/test.sh" + ] + }, + ``` + + + +## Check Rules + +1. After a container is started, the container status is **health:starting**. +2. After the period specified by **start-period**, the **cmd** command is periodically executed in the container at the interval specified by **interval**. That is, after the command is executed, the command will be executed again after the specified period. +3. If the **cmd** command is successfully executed within the time specified by **timeout** and the return value is **0**, the check is successful. Otherwise, the check fails. If the check is successful, the container status changes to **health:healthy**. +4. If the **cmd** command fails to be executed for the number of times specified by **retries**, the container status changes to **health:unhealthy**, and the container continues the health check. +5. When the container status is **health:unhealthy**, the container status changes to **health:healthy** if a check succeeds. +6. If **--health-exit-on-unhealthy** is set, and the container exits due to reasons other than being killed \(the returned exit code is **137**\), the health check takes effect only after the container is restarted. +7. When the **cmd** command execution is complete or times out, Docker daemon will record the start time, return value, and standard output of the check to the configuration file of the container. A maximum of five latest records can be recorded. In addition, the configuration file of the container stores health check parameters. + +Run the **docker ps** command to view the container status. + +``` +[root@bac shm]# docker ps +CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES +7de2228674a2 testimg "bash" About an hour ago Up About an hour (unhealthy) cocky_davinci +``` + +When the container is running, the health check status is written into the container configurations. You can run the **docker inspect** command to view the configurations. + +``` +"Health": { + "Status": "healthy", + "FailingStreak": 0, + "Log": [ + { + "Start": "2018-03-07T07:44:15.481414707-05:00", + "End": "2018-03-07T07:44:15.556908311-05:00", + "ExitCode": 0, + "Output": "" + }, + { + "Start": "2018-03-07T07:44:18.557297462-05:00", + "End": "2018-03-07T07:44:18.63035891-05:00", + "ExitCode": 0, + "Output": "" + }, + ...... +} +``` + +>![](public_sys-resources/icon-note.gif) **NOTE:** +>- A maximum of five health check status records can be stored in a container. The last five records are saved. +>- Only one health check configuration item can take effect in a container at a time. The later items configured in the Dockerfile will overwrite the earlier ones. Configurations during container creation will overwrite those in images. +>- In the Dockerfile, you can set **HEALTHCHECK NONE** to cancel the health check configuration in a referenced image. When a container is running, you can set **--no-healthcheck** to cancel the health check configuration in an image. Do not configure the health check and **--no-healthcheck** parameters at the same time during the startup. +>- After a container with configured health check parameters is started, if Docker daemon exits, the health check is not executed. After Docker daemon is restarted, the container health status changes to **starting**. Afterwards, the check rules are the same as above. +>- If health check parameters are set to **0** during container image creation, the default values are used. +>- If health check parameters are set to **0** during container startup, the default values are used. + diff --git a/content/en/docs/Container/configuring-networking-for-a-secure-container.md b/content/en/docs/Container/configuring-networking-for-a-secure-container.md new file mode 100644 index 000000000..296488563 --- /dev/null +++ b/content/en/docs/Container/configuring-networking-for-a-secure-container.md @@ -0,0 +1,343 @@ +# Configuring Networking for a Secure Container + +## TAP-based Network Support + +The secure container technology is implemented based on QEMU VMs. For a physical machine system, a secure container is equivalent to a VM. Therefore, the secure container may connect the VM to an external network in the Neutron network by using the test access point \(TAP\) technology. You do not need to pay attention to TAP device creation and bridging. You only need to hot add the specified TAP device \(with an existing host\) to the VM in the pause container and update the NIC information. + +Related commands are as follows: + +1. **Run the following command to add a TAP NIC for a started container:** + + ``` + $ cat ./test-iface.json | kata-runtime kata-network add-iface 6ec7a98 - + ``` + + In the preceding command, **6ec7a98** is the truncated container ID, and **test-infs.json** is the file that describes the NIC information. The following is an example: + + ``` + { + "device": "tap-test", + "name": "eth-test", + "IPAddresses": [ + { + "address": "172.16.0.3", + "mask": "16" + } + ], + "hwAddr":"02:42:20:6f:a3:69", + "mtu": 1500, + "vhostUserSocket":"/usr/local/var/run/openvswitch/vhost-user1", + "queues":5 + } + ``` + + The fields in the JSON file are described as follows: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Field

+

Mandatory/Optional

+

Description

+

device

+

Mandatory

+

Name of the NIC on a host. The value can contain a maximum of 15 characters, including letters, digits, underscores (_), hyphens (-), and periods (.). It must start with a letter. The device name must be unique on the same host.

+

name

+

Mandatory

+

Name of the NIC in the container. The value can contain a maximum of 15 characters, including letters, digits, underscores (_), hyphens (-), and periods (.). It must start with a letter. The name must be unique in the same sandbox.

+

IPAddresses

+

Optional

+

IP address of the NIC. Currently, one IP address can be configured for each NIC. If no IP address is configured for the NIC, no IP address will be configured in the container, either.

+

hwAddr

+

Mandatory

+

MAC address of the NIC.

+

mtu

+

Mandatory

+

MTU of the NIC. The value ranges from 46 to 9600.

+

vhostUserSocket

+

Optional

+

Socket path for DPDK polling. The path contains a maximum of 128 bytes. The naming rule can contain digits, letters, and hyphens (-). The path name must start with a letter.

+

queues

+

Optional

+

Number of NIC queues. If this parameter is not set, the default value 0 is used.

+
+ + The following describes the output of the **kata-runtime kata-network add-iface** command for adding NICs: + + - If the command is successfully executed, the NIC information in JSON format is returned from **standard output \(stdout\)**. The content in JSON format is the same as the input NIC information. + + Example: + + ``` + $ kata-runtime kata-network add-iface net.json + {"device":"tap_test","name":"eth-test","IPAddresses":[{"Family":2,"Address":"173.85.100.1","Mask":"24"}],"mtu":1500,"hwAddr":"02:42:20:6e:03:01","pciAddr":"01.0/00"} + ``` + + - If the command fails to be executed, null is returned from **stdout**. + + Example: + + ``` + $ kata-runtime kata-network add-iface netbad.json 2>/dev/null + null + ``` + + >![](public_sys-resources/icon-note.gif) **NOTE:** + >If an IP address is specified for an NIC that is successfully added, Kata adds a default route whose destination is in the same network segment as the IP address of the NIC. In the preceding example, after the NIC is added, the following route is added to the container: + >``` + >[root@6ec7a98 /]# ip route + >172.16.0.0/16 dev eth-test proto kernel scope link src 172.16.0.3 + >``` + +2. **Run the following command to view the added NICs:** + + ``` + $ kata-runtime kata-network list-ifaces 6ec7a98 + [{"name":"eth-test","mac":"02:42:20:6f:a3:69","ip":["172.16.0.3/16"],"mtu":1500}] + ``` + + The information about the added NICs is displayed. + + The following describes the output of the **kata-runtime kata-network list-ifaces **command for listing added NICs: + + - If the command is executed successfully, information about all NICs inserted into the pod in JSON format is returned from **stdout**. + + If multiple NICs are inserted into the pod, the NIC information in JSON array format is returned. + + ``` + $ kata-runtime kata-network list-ifaces + [{"name":"container_eth","mac":"02:42:20:6e:a2:59","ip":["172.17.25.23/8"],"mtu":1500},{"name":"container_eth_2","mac":"02:90:50:6b:a2:29","ip":["192.168.0.34/24"],"mtu":1500}] + ``` + + If no NIC is inserted into the pod, null is returned from **stdout**. + + ``` + $ kata-runtime kata-network list-ifaces + null + ``` + + - If the command fails to be executed, null is returned from **stdout**, and error description is returned from **standard error \(stderr\)**. + + Example: + + ``` + $ kata-runtime kata-network list-ifaces + null + ``` + +3. **Add a route for a specified NIC.** + + ``` + $ cat ./test-route.json | kata-runtime kata-network add-route 6ec7a98 - + [{"dest":"default","gateway":"172.16.0.1","device":"eth-test"}] + ``` + + The following describes the output of the **kata-runtime kata-network add-route** command for adding a route to a specified NIC: + + - If the command is executed successfully, the added route information in JSON format is returned from **stdout**. + + Example: + + ``` + $ kata-runtime kata-network add-route route.json + [{"dest":"177.17.0.0/24","gateway":"177.17.25.1","device":"netport_test_1"}] + ``` + + - If the command fails to be executed, null is returned from **stdout**, and error description is returned from **standard error \(stderr\)**. + + Example: + + ``` + $ kata-runtime kata-network add-route routebad.json 2>/dev/null + null + ``` + + Key fields are described as follows: + + - **dest**: Network segment corresponding to the route. The value is in the format of <_ip_\>/<_mask_\>. <_ip_\> is mandatory. There are three cases: + 1. Both IP address and mask are configured. + 2. If only an IP address is configured, the default mask is 32. + 3. If **"dest":"default"** is configured, there is no destination by default. In this case, the gateway needs to be configured. + + - **gateway**: Next-hop gateway of the route. When **"dest":"default"** is configured, the gateway is mandatory. In other cases, this parameter is optional. + - **device**: Name of the NIC corresponding to the route, which is mandatory. The value contains a maximum of 15 characters. + + >![](public_sys-resources/icon-note.gif) **NOTE:** + >If a route is added for the loopback device **lo** in the container, the device name corresponding to the **device** field in the route configuration file is **lo**. + +4. **Run the following command to delete a specified route:** + + ``` + $ cat ./test-route.json | kata-runtime kata-network del-route 6ec7a98 - + ``` + + The fields in the **test-route.json** file are the same as those in the JSON file for adding a route. + + The following describes the output of the** kata-runtime kata-network del-route** command for deleting a specified route: + + - If the command is executed successfully, the added route information in JSON format is returned from **stdout**. + + Example: + + ``` + $ kata-runtime kata-network del-route route.json + [{"dest":"177.17.0.0/24","gateway":"177.17.25.1","device":"netport_test_1"}] + ``` + + - If the command fails to be executed, null is returned from **stdout**, and error description is returned from **standard error \(stderr\)**. + + Example: + + ``` + $ kata-runtime kata-network del-route routebad.json 2>/dev/null + null + ``` + + >![](public_sys-resources/icon-note.gif) **NOTE:** + >- In the input fields, **dest** is mandatory, and both **device** and **gateway** are optional. Kata performs fuzzy match based on different fields and deletes the corresponding routing rules. For example, if **dest** is set to an IP address, all rules of this IP address will be deleted. + >- If the route of the loopback device **lo** in the container is deleted, the device name corresponding to the **device** field in the route configuration file is **lo**. + +5. **Run the following command to delete an NIC:** + + ``` + $ cat ./test-iface.json | kata-runtime kata-network del-iface 6ec7a98 - + ``` + + >![](public_sys-resources/icon-note.gif) **NOTE:** + >When deleting an NIC, you can only delete it based on the **name** field in the NIC container. Kata does not identify other fields. + + The following describes the output of the **kata-runtime kata-network del-iface **command for deleting NICs: + + - If the command is executed successfully, null is returned from **stdout**. + + Example: + + ``` + $ kata-runtime kata-network del-iface net.json + null + ``` + + - If the command fails to be executed, the information about NICs that fail to be deleted in JSON format is returned from **stdout**, and error description is returned from **stderr**. + + Example: + + ``` + $ kata-runtime kata-network del-iface net.json + {"device":"tapname_fun_012","name":"netport_test_1","IPAddresses":[{"Family":0,"Address":"177.17.0.1","Mask":"8"}],"mtu":1500,"hwAddr":"02:42:20:6e:a2:59","linkType":"tap"} + ``` + + + +The preceding are common commands. For details about the command line interfaces, see [APIs](apis-32.md#EN-US_TOPIC_0184808188). + +## Kata IPVS Subsystem + +The secure container provides an API for adding the **ipvs** command and setting the IPVS rule for the container. The functions include adding, editing, and deleting virtual services, adding, editing, and deleting real servers, querying IPVS service information, setting connection timeout, clearing the system connection cache, and importing rules in batches. + +1. Add a virtual service address for the container. + + ``` + kata-runtime kata-ipvs ipvsadm --parameters "--add-service --tcp-service 172.17.0.7:80 --scheduler rr --persistent 3000" + ``` + +2. Modify virtual service parameters of a container. + + ``` + kata-runtime kata-ipvs ipvsadm --parameters "--edit-service --tcp-service 172.17.0.7:80 --scheduler rr --persistent 5000" + ``` + +3. Delete the virtual service address of a container. + + ``` + kata-runtime kata-ipvs ipvsadm --parameters "--delete-service --tcp-service 172.17.0.7:80" + ``` + +4. Add a real server for the virtual service address. + + ``` + kata-runtime kata-ipvs ipvsadm --parameters "--add-server --tcp-service 172.17.0.7:80 --real-server 172.17.0.4:80 --weight 100" + ``` + +5. Modify real server parameters of a container. + + ``` + kata-runtime kata-ipvs ipvsadm --parameters "--edit-server --tcp-service 172.17.0.7:80 --real-server 172.17.0.4:80 --weight 200" + ``` + +6. Delete a real server from a container. + + ``` + kata-runtime kata-ipvs ipvsadm --parameters "--delete-server --tcp-service 172.17.0.7:80 --real-server 172.17.0.4:80" + ``` + +7. Query service information. + + ``` + kata-runtime kata-ipvs ipvsadm --parameters "--list" + ``` + +8. It takes a long time to import rules one by one. You can write rules into a file and import them in batches. + + ``` + kata-runtime kata-ipvs ipvsadm --restore - < + ``` + + >![](public_sys-resources/icon-note.gif) **NOTE:** + >By default, the NAT mode is used for adding a single real server. To add real servers in batches, you need to manually add the **-m** option to use the NAT mode. + >The following is an example of the rule file content: + >-A -t 10.10.11.12:100 -s rr -p 3000 + >-a -t 10.10.11.12:100 -r 172.16.0.1:80 -m + >-a -t 10.10.11.12:100 -r 172.16.0.1:81 -m + >-a -t 10.10.11.12:100 -r 172.16.0.1:82 -m + +9. Clear the system connection cache. + + ``` + kata-runtime kata-ipvs cleanup --parameters "--orig-dst 172.17.0.4 --protonum tcp" + ``` + +10. Set timeout interval for TCP, TCP FIN, or UDP connections. + + ``` + kata-runtime kata-ipvs ipvsadm --parameters "--set 100 100 200" + ``` + + >![](public_sys-resources/icon-note.gif) **NOTE:** + >1. Each container supports a maximum of 20000 iptables rules \(5000 services and three servers/services\). Both add-service and add-server are rules. + >2. Before importing rules in batches, you need to clear existing rules. + >3. No concurrent test scenario exists. + >4. The preceding are common commands. For details about the command line interfaces, see [APIs](apis-32.md#EN-US_TOPIC_0184808188). + + diff --git a/content/en/docs/Container/configuring-resources-for-a-secure-container.md b/content/en/docs/Container/configuring-resources-for-a-secure-container.md new file mode 100644 index 000000000..9b3fd03e6 --- /dev/null +++ b/content/en/docs/Container/configuring-resources-for-a-secure-container.md @@ -0,0 +1,5 @@ +# Configuring Resources for a Secure Container + +The secure container runs on a virtualized and isolated lightweight VM. Therefore, resource configuration is divided into two parts: resource configuration for the lightweight VM, that is, host resource configuration; resource configuration for containers in the VM, that is, guest container resource configuration. The following describes resource configuration for the two parts in detail. + + diff --git a/content/en/docs/Container/configuring-the-docker-engine.md b/content/en/docs/Container/configuring-the-docker-engine.md new file mode 100644 index 000000000..36bdb07d5 --- /dev/null +++ b/content/en/docs/Container/configuring-the-docker-engine.md @@ -0,0 +1,34 @@ +# Configuring the Docker Engine + +To enable the Docker engine to support kata-runtime, perform the following steps to configure the Docker engine: + +1. Ensure that all software packages \(**docker-engine** and **kata-containers**\) have been installed in the environment. +2. Stop the Docker engine. + + ``` + systemctl stop docker + ``` + +3. Modify the configuration file **/etc/docker/daemon.json** of the Docker engine and add the following configuration: + + ``` + { + "runtimes": { + "kata-runtime": { + "path": "/usr/bin/kata-runtime", + "runtimeArgs": [ + "--kata-config", + "/usr/share/defaults/kata-containers/configuration.toml" + ] + } + } + } + ``` + +4. Restart the Docker engine. + + ``` + systemctl start docker + ``` + + diff --git a/content/en/docs/Container/configuring-the-ulimit-value-in-a-container.md b/content/en/docs/Container/configuring-the-ulimit-value-in-a-container.md new file mode 100644 index 000000000..4b073d77e --- /dev/null +++ b/content/en/docs/Container/configuring-the-ulimit-value-in-a-container.md @@ -0,0 +1,149 @@ +# Configuring the ulimit Value in a Container + +## Description + +You can use parameters to control the resources for executed programs. + +## **Usage** + +Set the **--ulimit** parameter when creating or running a container, or configure the parameter on the daemon to control the resources for executed programs in the container. + +## Parameters + +Use either of the following methods to configure ulimit: + +1. When running the **isula create/run** command, use **--ulimit =\[:\]** to control the resources of the executed shell program. + + + + + + + + + + + + + + +

Parameter

+

Description

+

Value Range

+

Mandatory or Not

+

--ulimit

+

Limits the resources of the executed shell program.

+

64-bit integer The value of the soft limit must be less than or equal to that of the hard limit. If only the soft limit is specified, the value of the hard limit is equal to that of the soft limit. Some types of resources do not support negative numbers. For details, see the following table.

+

No

+
+ +2. Use daemon parameters or configuration files. + + For details, see --default-ulimits in [Deployment Mode](deployment-mode.md#EN-US_TOPIC_0184808043). + + **--ulimit** can limit the following types of resources: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Type

+

Description

+

Value Range

+

core

+

limits the core file size (KB)

+

64-bit integer, without unit. The value can be 0 or a negative number. The value -1 indicates no limit. Other negative numbers are forcibly converted into a large positive integer.

+

cpu

+

max CPU time (MIN)

+

data

+

max data size (KB)

+

fsize

+

maximum filesize (KB)

+

locks

+

max number of file locks the user can hold

+

memlock

+

max locked-in-memory address space (KB)

+

msgqueue

+

max memory used by POSIX message queues (bytes)

+

nice

+

nice priority

+

nproc

+

max number of processes

+

rss

+

max resident set size (KB)

+

rtprio

+

max realtime priority

+

rttime

+

realtime timeout

+

sigpending

+

max number of pending signals

+

stack

+

max stack size (KB)

+

nofile

+

max number of open file descriptors

+

64-bit integer, without unit. The value cannot be negative. A negative number is forcibly converted to a large positive number. In addition, "Operation not permitted" is displayed during the setting.

+
+ + +## Example + +When creating or running a container, add **--ulimit =\[:\]**. For example: + +``` +isula create/run -tid --ulimit nofile=1024:2048 busybox sh +``` + +## **Constraints** + +The ulimit cannot be configured in the **daemon.json** and **/etc/sysconfig/iSulad** files \(or the iSulad command line\). Otherwise, an error is reported when iSulad is started. + diff --git a/content/en/docs/Container/configuring-tls-authentication-and-enabling-remote-access.md b/content/en/docs/Container/configuring-tls-authentication-and-enabling-remote-access.md new file mode 100644 index 000000000..9a50781a1 --- /dev/null +++ b/content/en/docs/Container/configuring-tls-authentication-and-enabling-remote-access.md @@ -0,0 +1,147 @@ +# Configuring TLS Authentication and Enabling Remote Access + +## Description + +iSulad is designed in C/S mode. By default, the iSulad daemon process listens only on the local/var/run/isulad.sock. Therefore, you can run commands to operate containers only on the local client iSula. To enable iSula's remote access to the container, the iSulad daemon process needs to listen on the remote access port using TCP/IP. However, listening is performed only by simply configuring tcp ip:port. In this case, all IP addresses can communicate with iSulad by calling **isula -H tcp://**_remote server IP address_**:port**, which may cause security problems. Therefore, it is recommended that a more secure version, namely Transport Layer Security \(TLS\), be used for remote access. + +## Generating TLS Certificate + +- Example of generating a plaintext private key and certificate + + ``` + #!/bin/bash + set -e + echo -n "Enter pass phrase:" + read password + echo -n "Enter public network ip:" + read publicip + echo -n "Enter host:" + read HOST + + echo " => Using hostname: $publicip, You MUST connect to iSulad using this host!" + + mkdir -p $HOME/.iSulad + cd $HOME/.iSulad + rm -rf $HOME/.iSulad/* + + echo " => Generating CA key" + openssl genrsa -passout pass:$password -aes256 -out ca-key.pem 4096 + echo " => Generating CA certificate" + openssl req -passin pass:$password -new -x509 -days 365 -key ca-key.pem -sha256 -out ca.pem -subj "/C=CN/ST=zhejiang/L=hangzhou/O=Huawei/OU=iSulad/CN=iSulad@huawei.com" + echo " => Generating server key" + openssl genrsa -passout pass:$password -out server-key.pem 4096 + echo " => Generating server CSR" + openssl req -passin pass:$password -subj /CN=$HOST -sha256 -new -key server-key.pem -out server.csr + echo subjectAltName = DNS:$HOST,IP:$publicip,IP:127.0.0.1 >> extfile.cnf + echo extendedKeyUsage = serverAuth >> extfile.cnf + echo " => Signing server CSR with CA" + openssl x509 -req -passin pass:$password -days 365 -sha256 -in server.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out server-cert.pem -extfile extfile.cnf + echo " => Generating client key" + openssl genrsa -passout pass:$password -out key.pem 4096 + echo " => Generating client CSR" + openssl req -passin pass:$password -subj '/CN=client' -new -key key.pem -out client.csr + echo " => Creating extended key usage" + echo extendedKeyUsage = clientAuth > extfile-client.cnf + echo " => Signing client CSR with CA" + openssl x509 -req -passin pass:$password -days 365 -sha256 -in client.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out cert.pem -extfile extfile-client.cnf + rm -v client.csr server.csr extfile.cnf extfile-client.cnf + chmod -v 0400 ca-key.pem key.pem server-key.pem + chmod -v 0444 ca.pem server-cert.pem cert.pem + ``` + + +- Example of generating an encrypted private key and certificate request file + + ``` + #!/bin/bash + + echo -n "Enter public network ip:" + read publicip + echo -n "Enter pass phrase:" + read password + + # remove certificates from previous execution. + rm -f *.pem *.srl *.csr *.cnf + + + # generate CA private and public keys + echo 01 > ca.srl + openssl genrsa -aes256 -out ca-key.pem -passout pass:$password 2048 + openssl req -subj '/C=CN/ST=zhejiang/L=hangzhou/O=Huawei/OU=iSulad/CN=iSulad@huawei.com' -new -x509 -days $DAYS -passin pass:$password -key ca-key.pem -out ca.pem + + # create a server key and certificate signing request (CSR) + openssl genrsa -aes256 -out server-key.pem -passout pass:$PASS 2048 + openssl req -new -key server-key.pem -out server.csr -passin pass:$password -subj '/CN=iSulad' + + echo subjectAltName = DNS:iSulad,IP:${publicip},IP:127.0.0.1 > extfile.cnf + echo extendedKeyUsage = serverAuth >> extfile.cnf + # sign the server key with our CA + openssl x509 -req -days $DAYS -passin pass:$password -in server.csr -CA ca.pem -CAkey ca-key.pem -out server-cert.pem -extfile extfile.cnf + + # create a client key and certificate signing request (CSR) + openssl genrsa -aes256 -out key.pem -passout pass:$password 2048 + openssl req -subj '/CN=client' -new -key key.pem -out client.csr -passin pass:$password + + # create an extensions config file and sign + echo extendedKeyUsage = clientAuth > extfile.cnf + openssl x509 -req -days 365 -passin pass:$password -in client.csr -CA ca.pem -CAkey ca-key.pem -out cert.pem -extfile extfile.cnf + + # remove the passphrase from the client and server key + openssl rsa -in server-key.pem -out server-key.pem -passin pass:$password + openssl rsa -in key.pem -out key.pem -passin pass:$password + + # remove generated files that are no longer required + rm -f ca-key.pem ca.srl client.csr extfile.cnf server.csr + ``` + + +## APIs + +``` +{ + "tls": true, + "tls-verify": true, + "tls-config": { + "CAFile": "/root/.iSulad/ca.pem", + "CertFile": "/root/.iSulad/server-cert.pem", + "KeyFile":"/root/.iSulad/server-key.pem" + } +} +``` + +## Restrictions + +The server supports the following modes: + +- Mode 1 \(client verified\): tlsverify, tlscacert, tlscert, tlskey +- Mode 2 \(client not verified\): tls, tlscert, tlskey + +The client supports the following modes: + +- Mode 1 \(verify the identity based on the client certificate, and verify the server based on the specified CA\): tlsverify, tlscacert, tlscert, tlskey +- Mode 2 \(server verified\): tlsverify, tlscacert + +Mode 1 is used for the server, and mode 2 for the client if the two-way authentication mode is used for communication. + +Mode 2 is used for the server and the client if the unidirectional authentication mode is used for communication. + +>![](public_sys-resources/icon-notice.gif) **NOTICE:** +>- If RPM is used for installation, the server configuration can be modified in the **/etc/isulad/daemon.json** and **/etc/sysconfig/iSulad** files. +>- Two-way authentification is recommended as it is more secure than non-authentication or unidirectional authentication. +>- GRPC open-source component logs are not taken over by iSulad. To view gRPC logs, set the environment variables **gRPC\_VERBOSITY** and **gRPC\_TRACE** as required. +>   + +## Example + +On the server: + +``` + isulad -H=tcp://0.0.0.0:2376 --tlsverify --tlscacert ~/.iSulad/ca.pem --tlscert ~/.iSulad/server-cert.pem --tlskey ~/.iSulad/server-key.pem +``` + +On the client: + +``` + isula version -H=tcp://$HOSTIP:2376 --tlsverify --tlscacert ~/.iSulad/ca.pem --tlscert ~/.iSulad/cert.pem --tlskey ~/.iSulad/key.pem +``` + diff --git a/content/en/docs/Container/constraints-2.md b/content/en/docs/Container/constraints-2.md new file mode 100644 index 000000000..0398c12c1 --- /dev/null +++ b/content/en/docs/Container/constraints-2.md @@ -0,0 +1,42 @@ +# Constraints + +1. If **log\_directory** is configured in the **PodSandboxConfig** parameter when a sandbox is created, **log\_path** must be specified in **ContainerConfig** when all containers that belong to the sandbox are created. Otherwise, the containers may not be started or deleted by using the CRI. + + The actual value of **LOGPATH** of containers is **log\_directory/log\_path**. If **log\_path** is not set, the final value of **LOGPATH** is changed to **log\_directory**. + + - If the path does not exist, iSulad will create a soft link pointing to the actual path of container logs when starting a container. Then **log\_directory** becomes a soft link. There are two cases: + 1. In the first case, if **log\_path** is not configured for other containers in the sandbox, **log\_directory** will be deleted and point to **log\_path** of the newly started container. As a result, logs of the first started container point to logs of the later started container. + 2. In the second case, if **log\_path** is configured for other containers in the sandbox, the value of **LOGPATH** of the container is **log\_directory/log\_path**. Because **log\_directory** is a soft link, the creation fails when **log\_directory/log\_path** is used as the soft link to point to the actual path of container logs. + + - If the path exists, iSulad will attempt to delete the path \(non-recursive\) when starting a container. If the path is a folder path containing content, the deletion fails. As a result, the soft link fails to be created, the container fails to be started, and the same error occurs when the container is going to be deleted. + +2. If **log\_directory** is configured in the **PodSandboxConfig** parameter when a sandbox is created, and **log\_path** is specified in **ContainerConfig** when a container is created, the final value of **LOGPATH** is **log\_directory/log\_path**. iSulad does not recursively create **LOGPATH**, therefore, you must ensure that **dirname\(LOGPATH\)** exists, that is, the upper-level path of the final log file path exists. +3. If **log\_directory** is configured in the **PodSandboxConfig** parameter when a sandbox is created, and the same **log\_path** is specified in **ContainerConfig** when multiple containers are created, or if containers in different sandboxes point to the same **LOGPATH**, the latest container log path will overwrite the previous path after the containers are started successfully. +4. If the image content in the remote registry changes and the original image is stored in the local host, the name and tag of the original image are changed to **none** when you call the CRI Pull image API to download the image again. + + An example is as follows: + + Locally stored images: + + ``` + IMAGE TAG IMAGE ID SIZE + rnd-dockerhub.huawei.com/pproxyisulad/test latest 99e59f495ffaa 753kB + ``` + + After the **rnd-dockerhub.huawei.com/pproxyisulad/test:latest** image in the remote registry is updated and downloaded again: + + ``` + IMAGE TAG IMAGE ID SIZE + 99e59f495ffaa 753kB + rnd-dockerhub.huawei.com/pproxyisulad/test latest d8233ab899d41 1.42MB + ``` + + Run the **isula images** command. The value of **REF** is displayed as **-**. + + ``` + REF IMAGE ID CREATED SIZE + rnd-dockerhub.huawei.com/pproxyisulad/test:latest d8233ab899d41 2019-02-14 19:19:37 1.42MB + - 99e59f495ffaa 2016-05-04 02:26:41 753kB + ``` + + diff --git a/content/en/docs/Container/constraints.md b/content/en/docs/Container/constraints.md new file mode 100644 index 000000000..4a7ceb69f --- /dev/null +++ b/content/en/docs/Container/constraints.md @@ -0,0 +1,47 @@ +# Constraints + +- In high concurrency scenarios \(200 containers are concurrently started\), the memory management mechanism of Glibc may cause memory holes and large virtual memory \(for example, 10 GB\). This problem is caused by the restriction of the Glibc memory management mechanism in the high concurrency scenario, but not by memory leakage. Therefore, the memory consumption does not increase infinitely. You can set **MALLOC\_ARENA\_MAX** to reducevirtual memory error and increase the rate of reducing physical memory. However, this environment variable will cause the iSulad concurrency performance to deteriorate. Set this environment variable based on the site requirements. + + ``` + To balance performance and memory usage, set MALLOC_ARENA_MAX to 4. (The iSulad performance on the ARM64 server is affected by less than 10%.) + + Configuration method: + 1. To manually start iSulad, run the export MALLOC_ARENA_MAX=4 command and then start iSulad. + 2. If systemd manages iSulad, you can modify the /etc/sysconfig/iSulad file by adding MALLOC_ARENA_MAX=4. + ``` + +- Precautions for specifying the daemon running directories + + Take **--root** as an example. When **/new/path/** is used as the daemon new root directory, if a file exists in **/new/path/** and the directory or file name conflicts with that required by iSulad \(for example, **engines** and **mnt**\), iSulad may update the original directory or file attributes including the owner and permission. + + Therefore, please note the impact of re-specifying various running directories and files on their attributes. You are advised to specify a new directory or file for iSulad to avoid file attribute changes and security issues caused by conflicts. + +- Log file management: + + >![](public_sys-resources/icon-notice.gif) **NOTICE:** + >Log function interconnection: logs are managed by systemd as iSulad is and then transmitted to rsyslogd. By default, rsyslog restricts the log writing speed. You can add the configuration item **$imjournalRatelimitInterval 0** to the **/etc/rsyslog.conf** file and restart the rsyslogd service. + +- Restrictions on command line parameter parsing + + When the iSulad command line interface is used, the parameter parsing mode is slightly different from that of Docker. For flags with parameters in the command line, regardless of whether a long or short flag is used, only the first space after the flag or the character string after the equal sign \(=\) directly connected to the flag is used as the flag parameter. The details are as follows: + + 1. When a short flag is used, each character in the character string connected to the hyphen \(-\) is considered as a short flag. If there is an equal sign \(=\), the character string following the equal sign \(=\) is considered as the parameter of the short flag before the equal sign \(=\). + + **isula run -du=root busybox** is equivalent to **isula run -du root busybox**, **isula run -d -u=root busybox**, or **isula run -d -u root busybox**. When **isula run -du:root** is used, as **-:** is not a valid short flag, an error is reported. The preceding command is equivalent to **isula run -ud root busybox**. However, this method is not recommended because it may cause semantic problems. + + 1. When a long flag is used, the character string connected to **--** is regarded as a long flag. If the character string contains an equal sign \(=\), the character string before the equal sign \(=\) is a long flag, and the character string after the equal sign \(=\) is a parameter. + + ``` + isula run --user=root busybox + ``` + + or + + ``` + isula run --user root busybox + ``` + + +- After an iSulad container is started, you cannot run the **isula run -i/-t/-ti** and **isula attach/exec** commands as a non-root user. +- When iSulad connects to an OCI container, only kata-runtime can be used to start the OCI container. + diff --git a/content/en/docs/Container/container-engine.md b/content/en/docs/Container/container-engine.md new file mode 100644 index 000000000..c42bc22b8 --- /dev/null +++ b/content/en/docs/Container/container-engine.md @@ -0,0 +1,309 @@ +# Container Engine + +Docker daemon is a system process that resides in the background. Before you run a docker subcommand, start Docker daemon. + +   + +If the Docker daemon is installed using the RPM package or system package management tool, you can run the **systemctl start docker** command to start the Docker daemon. + +The **docker** command supports the following parameters: + +1. To combine parameters of a single character, run the following command: + + ``` + docker run -t -i busybox /bin/sh + ``` + + The command can be written as follows: + + ``` + docker run -ti busybox /bin/sh + ``` + +2. **bool** command parameters such as **--icc=true**, are displayed in the command help. If this parameter is not used, the default value displayed in the command help is used. If this parameter is used, the opposite value of the value displayed in the command help is used. In addition, if **--icc** is not added when Docker daemon is started, **--icc=true** is used by default. Otherwise, **--icc=false** is used. +3. Parameters such as **--attach=\[\]** in the command help indicate that these parameters can be set for multiple times. For example: + + ``` + docker run --attach=stdin --attach=stdout -i -t busybox /bin/sh + ``` + +4. Parameters such as **-a** and **--attach=\[\]** in the command help indicate that the parameter can be specified using either **-a** _value_ or **--attach=**_value_. For example: + + ``` + docker run -a stdin --attach=stdout -i -t busybox /bin/sh + ``` + +5. Parameters such as **--name=""** can be configured with a character string and can be configured only once. Parameters such as **-c=** can be configured with an integer and can be configured only once. + +**Table 1** Parameters specified during the Docker daemon startup + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Parameter

+

Description

+

--api-cors-header

+

CORS header information for enabling remote API calling. This interface supports the secondary development of upper-layer applications, which sets the CORS header for a remote API.

+

--authorization-plugin=[]

+

Authentication plug-in.

+

-b, --bridge=""

+

Existing bridge device mounting to the docker container. Note: none can be used to disable the network in the container.

+

--bip=""

+

Bridge IP address, which is automatically created using the CIDR address. Note: this parameter cannot be used with -b .

+

--cgroup-parent

+

cgroup parent directory configured for all containers.

+

--config-file=/etc/docker/daemon.json

+

Configuration file for starting Docker daemon.

+

--containerd

+

Socket path of containerd.

+

-D, --debug=false

+

Specifies whether to enable the debugging mode.

+

--default-gateway

+

Default gateway of the container IPv4 address.

+

--default-gateway-v6

+

Default gateway of the container IPv6 address.

+

--default-ulimit=[]

+

Default ulimit value of the container.

+

--disable-legacy-registry

+

Disables the original registry.

+

--dns=[]

+

DNS server of the forcibly used container.

+

Example: --dns 8.8.x.x

+

--dns-opt=[]

+

DNS option.

+

--dns-search=[]

+

Forcibly searches DNS search domain name used by a container.

+

Example: --dns-search example.com

+

--exec-opt=[]

+

Parameter to be executed when a container is started.

+

For example, set the native.umask parameter.

+
#The umask value of the started container is 0022.
+--exec-opt native.umask=normal 
+
+#The umask value of the started container is 0027 (default value).
+--exec-opt  native.umask=secure    
+

Note: If native.umask is also configured in docker create or docker run command, the configuration in command is used.

+

--exec-root=/var/run/docker

+

Root directory for storing the execution status file.

+

--fixed-cidr=""

+

Fixed IP address (for example, 10.20.0.0/16) of the subnet. The IP address of the subnet must belong to the network bridge.

+

--fixed-cidr-v6

+

Fixed IPv6 address.

+

-G, --group="docker"

+

Group assigned to the corresponding Unix socket in the background running mode. Note: When an empty string is configured for this parameter, the group information is removed.

+

-g, --graph="/var/lib/docker"

+

The root directory for running docker.

+

-H, --host=[]

+

Socket bound in background mode. One or more sockets can be configured using tcp://host:port, unix:///path to socket, fd://* or fd://socketfd. Example:

+

$ dockerd -H tcp://0.0.0.0:2375

+

or

+

$ export DOCKER_HOST="tcp://0.0.0.0:2375"

+

--insecure-registry=[]

+

Registry for insecure connections. By default, the Docker uses TLS certificates to ensure security for all connections. If the registry does not support HTTPS connections or the certificate is issued by an unknown certificate authority of the Docker daemon, you need to configure --insecure-registry=192.168.1.110:5000 when starting the daemon. This parameter needs to be configured if a private registry is used.

+

--image-layer-check=true

+

Image layer integrity check. To enable the function, set this parameter to true. Otherwise, set this parameter to false. If this parameter is not configured, the function is disabled by default.

+

When Docker is started, the image layer integrity is checked. If the image layer is damaged, the related images are unavailable. Docker cannot verify empty files, directories, or link files. Therefore, if the preceding files are lost due to a power failure, the integrity check of Docker image data may fail. When the Docker version changes, check whether the parameter is supported. If not supported, delete it from the configuration file.

+

--icc=true

+

Enables communication between containers.

+

--ip="0.0.0.0"

+

Default IP address used when a container is bound to a port.

+

--ip-forward=true

+

Starts the net.ipv4.ip_forward process of the container.

+

--ip-masq=true

+

Enables IP spoofing.

+

--iptables=true

+

Starts the iptables rules defined by the Docker container.

+

-l, --log-level=info

+

Log level.

+

--label=[]

+

Daemon label, in key=value format.

+

--log-driver=json-file

+

Default log driver of container logs.

+

--log-opt=map[]

+

Log drive parameters.

+

--mtu=0

+

MTU value of the container network. If this parameter is not configured, value of route MTU is used by default. If the default route is not configured, set this parameter to the constant value 1500.

+

-p, --pidfile="/var/run/docker.pid"

+

PID file path of the background process.

+

--raw-logs

+

Logs with all timestamps and without the ANSI color scheme.

+

--registry-mirror=[]

+

Image registry preferentially used by the dockerd.

+

-s, --storage-driver=""

+

Storage driver used when a container is forcibly run.

+

--selinux-enabled=false

+

Enables SELinux. If the kernel version is 3.10.0-862.14 or later, this parameter cannot be set to true.

+

--storage-opt=[]

+

Storage driver parameter. This parameter is valid only when the storage driver is devicemapper. Example: dockerd --storage-opt dm.blocksize=512K

+

--tls=false

+

Enables the TLS authentication.

+

--tlscacert="/root/.docker/ca.pem"

+

Certificate file path that has been authenticated by the CA.

+

--tlscert="/root/.docker/cert.pem"

+

File path of the TLS certificates.

+

--tlskey="/root/.docker/key.pem"

+

File path of TLS keys.

+

--tlsverify=false

+

Verifies the communication between the background processes and the client using TLS.

+

--insecure-skip-verify-enforce

+

Whether to forcibly skip the verification of the certificate host or domain name. The default value is false.

+

--use-decrypted-key=true

+

Whether to use the decryption private key.

+

--userland-proxy=true

+

Whether to use the userland proxy for the container LO device.

+

--userns-remap

+

User namespace-based user mapping table in the container.

+
NOTE:

This parameter is not supported in the current version.

+
+
+ diff --git a/content/en/docs/Container/container-management-36.md b/content/en/docs/Container/container-management-36.md new file mode 100644 index 000000000..465d3a206 --- /dev/null +++ b/content/en/docs/Container/container-management-36.md @@ -0,0 +1,2 @@ +# Container Management + diff --git a/content/en/docs/Container/container-management-40.md b/content/en/docs/Container/container-management-40.md new file mode 100644 index 000000000..e23f271a9 --- /dev/null +++ b/content/en/docs/Container/container-management-40.md @@ -0,0 +1,230 @@ +# Container Management + +Subcommands supported by the current Docker are classified into the following groups by function: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Function

+

Command

+

Description

+

Host environment

+

version

+

Views the Docker version.

+

info

+

Views the Docker system and host environment information.

+

Container-related information

+

Container lifecycle management

+

create

+

Creates a container using an image.

+

run

+

Creates and runs a container using an image.

+

start

+

Starts a stopped container.

+

stop

+

Stops a running container.

+

restart

+

Restarts a container.

+

wait

+

Waits for a container to stop and prints the exit code.

+

rm

+

Deletes a container.

+

Container process management

+

pause

+

Suspends all processes in a container.

+

unpause

+

Resumes a suspended process in a container.

+

top

+

Views processes in a container.

+

exec

+

Executes a process in containers.

+

Container inspection tool

+

ps

+

Views running containers (without attaching any option).

+

logs

+

Displays the log information of a container.

+

attach

+

Connects standard input and output to a container.

+

inspect

+

Returns the bottom-layer information of a container.

+

port

+

Lists the port mappings between containers and hosts.

+

diff

+

Returns the changes made by the container compared with rootfs in the image.

+

cp

+

Copies files between containers and hosts.

+

export

+

Exports the file system in a container in a .tar package.

+

stats

+

Views the resource usage of a container in real time.

+

Images

+

Generates an image.

+

build

+

Creates an image using a Dockerfile.

+

commit

+

Creates an image based on the container rootfs.

+

import

+

Creates an image using the content in the .tar package as the file system.

+

load

+

Loads an image from the .tar package.

+

Image registry

+

login

+

Logs in to a registry.

+

logout

+

Logs out of a registry.

+

pull

+

Pulls an image from the registry.

+

push

+

Pushes an image to the registry.

+

search

+

Searches for an image in the registry.

+

Image management

+

images

+

Displays images in the system.

+

history

+

Displays the change history of an image.

+

rmi

+

Deletes an image.

+

tag

+

Adds a tag to an image.

+

save

+

Saves an image to a .tar package.

+

Others

+

events

+

Obtains real-time events from the Docker daemon.

+

rename

+

Renames a container.

+
+ +Some subcommands have some parameters, such as **docker run**. You can run the **docker **_command _**--help** command to view the help information of the command. For details about the command parameters, see the preceding command parameter description. The following sections describe how to use each command. + + + diff --git a/content/en/docs/Container/container-management.md b/content/en/docs/Container/container-management.md new file mode 100644 index 000000000..485bb0b4c --- /dev/null +++ b/content/en/docs/Container/container-management.md @@ -0,0 +1,4 @@ +# Container Management + + + diff --git a/content/en/docs/Container/container-resource-management.md b/content/en/docs/Container/container-resource-management.md new file mode 100644 index 000000000..d162fd0da --- /dev/null +++ b/content/en/docs/Container/container-resource-management.md @@ -0,0 +1,5 @@ +# Container Resource Management + + + + diff --git a/content/en/docs/Container/container.md b/content/en/docs/Container/container.md new file mode 100644 index 000000000..5b281829e --- /dev/null +++ b/content/en/docs/Container/container.md @@ -0,0 +1,51 @@ +# About This Document + +## Overview + +The openEuler software package provides iSula, the basic platform for running containers. + +iSula is a brand of Huawei's container technology solution. It originally means a kind of ant. This ant is also known as "bullet ant" due to the extremely painful sting, which has been compared to being shot by a bullet. In the eyes of Brazilian natives living in the Amazon jungle in Central and South America, iSula is one of the most powerful insects in the world. Huawei names the container technology solution brand based on its meaning. + +The basic container platform iSula provides both Docker engine and lightweight container engine iSulad. You can select either of them as required. + +In addition, the following container forms are provided on different application scenarios: + +- Common containers applicable to most common scenarios +- Secure containers applicable to strong isolation and multi-tenant scenarios +- System containers applicable to scenarios where the systemd is used to manage services + +This document describes how to install and use the container engines and how to deploy and use containers in different forms. + +## Intended Audience + +This document is intended for openEuler users who need to install containers. You can better understand this document if you: + +- Be familiar with basic Linux operations. +- Have a basic understanding of containers. + +## Symbol Conventions + +The symbols that may be found in this document are defined as follows. + + + + + + + + + + + + + +

Symbol

+

Description

+

+

Indicates a potentially hazardous situation which, if not avoided, could result in equipment damage, data loss, performance deterioration, or unanticipated results.

+

NOTICE is used to address practices not related to personal injury.

+

+

Supplements the important information in the main text.

+

NOTE is used to address information not related to personal injury, equipment damage, and environment deterioration.

+
+ diff --git a/content/en/docs/Container/containerstats.md b/content/en/docs/Container/containerstats.md new file mode 100644 index 000000000..37a3a38f3 --- /dev/null +++ b/content/en/docs/Container/containerstats.md @@ -0,0 +1,44 @@ +# ContainerStats + +## Prototype + +``` +rpc ContainerStats(ContainerStatsRequest) returns (ContainerStatsResponse) {} +``` + +## Description + +This API is used to return information about resources occupied by a container. Only containers whose runtime is of the LCR type are supported. + +## Parameters + + + + + + + + + +

Parameter

+

Description

+

string container_id

+

Container ID.

+
+ +## Return Values + + + + + + + + + +

Return Value

+

Description

+

ContainerStats stats

+

Container information. Note: Disks and inodes support only the query of containers started by OCI images.

+
+ diff --git a/content/en/docs/Container/containerstatus.md b/content/en/docs/Container/containerstatus.md new file mode 100644 index 000000000..769f7c650 --- /dev/null +++ b/content/en/docs/Container/containerstatus.md @@ -0,0 +1,54 @@ +# ContainerStatus + +## Prototype + +``` +rpc ContainerStatus(ContainerStatusRequest) returns (ContainerStatusResponse) {} +``` + +## Description + +This API is used to return the container status information. If the container does not exist, an error will be returned. + +## Parameters + + + + + + + + + + + + +

Parameter

+

Description

+

string container_id

+

Container ID.

+

bool verbose

+

Whether to display additional information about the sandbox. This parameter does not take effect now.

+
+ +## Return Values + + + + + + + + + + + + +

Return Value

+

Description

+

ContainerStatus status

+

Container status information.

+

map<string, string> info

+

Additional information about the sandbox. The key can be any string, and the value is a JSON character string. The information can be any debugging content. When verbose is set to true, info cannot be empty. This parameter does not take effect now.

+
+ diff --git a/content/en/docs/Container/copying-data-between-a-container-and-a-host.md b/content/en/docs/Container/copying-data-between-a-container-and-a-host.md new file mode 100644 index 000000000..49270c03e --- /dev/null +++ b/content/en/docs/Container/copying-data-between-a-container-and-a-host.md @@ -0,0 +1,74 @@ +# Copying Data Between a Container and a Host + +## Description + +To copy data between a host and a container, run the **isula cp** command. Only containers whose runtime is of the LCR type are supported. + +## **Usage** + +``` +isula cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH +isula cp [OPTIONS] SRC_PATH CONTAINER:DEST_PATH +``` + +## Parameters + +The following table lists the parameters supported by the **cp** command. + +**Table 1** Parameter description + + + + + + + + + + + +

Command

+

Parameter

+

Description

+

cp

+

-H, --host

+

Specifies the iSulad socket file path to be accessed.

+
+ +## Constraints + +- When iSulad copies files, note that the **/etc/hostname**, **/etc/resolv.conf**, and **/etc/hosts** files are not mounted to the host, neither the **--volume** and **--mount** parameters. Therefore, the original files in the image instead of the files in the real container are copied. + + ``` + [root@localhost tmp]# isula cp b330e9be717a:/etc/hostname /tmp/hostname + [root@localhost tmp]# cat /tmp/hostname + [root@localhost tmp]# + ``` + +- When decompressing a file, iSulad does not check the type of the file or folder to be overwritten in the file system. Instead, iSulad directly overwrites the file or folder. Therefore, if the source is a folder, the file with the same name is forcibly overwritten as a folder. If the source file is a file, the folder with the same name will be forcibly overwritten as a file. + + ``` + [root@localhost tmp]# rm -rf /tmp/test_file_to_dir && mkdir /tmp/test_file_to_dir + [root@localhost tmp]# isula exec b330e9be717a /bin/sh -c "rm -rf /tmp/test_file_to_dir && touch /tmp/test_file_to_dir" + [root@localhost tmp]# isula cp b330e9be717a:/tmp/test_file_to_dir /tmp + [root@localhost tmp]# ls -al /tmp | grep test_file_to_dir + -rw-r----- 1 root root 0 Apr 26 09:59 test_file_to_dir + ``` + + +- iSulad freezes the container during the copy process and restores the container after the copy is complete. + +## Example + +Copy the **/test/host** directory on the host to the **/test** directory on container 21fac8bb9ea8. + +``` +isula cp /test/host 21fac8bb9ea8:/test +``` + +Copy the **/www** directory on container 21fac8bb9ea8 to the **/tmp** directory on the host. + +``` +isula cp 21fac8bb9ea8:/www /tmp/ +``` + diff --git a/content/en/docs/Container/cp.md b/content/en/docs/Container/cp.md new file mode 100644 index 000000000..a8eed8350 --- /dev/null +++ b/content/en/docs/Container/cp.md @@ -0,0 +1,24 @@ +# cp + +Syntax: **docker cp \[**_options_**\] **_container_**:**_src\_path_ _dest\_path_**|-** + +**docker cp \[**_options_**\]** _src\_path_**|-** _container_**:**_dest\_path_ + +Function: Copies a file or folder from a path in a container to a path on the host or copies a file or folder from the host to the container: + +Precautions: The **docker cp** command does not support the copy of files in virtual file systems such as **/proc**, **/sys**, **/dev**, and **/tmp** in the container and files in the file systems mounted by users in the container. + +Parameter description: + +**-a**, **--archive**: Sets the owner of the file copied to the container to the **container** user \(**--user**\). + +**-L**, **--follow-link**: Parses and traces the symbolic link of a file. + +Example: + +Run the following command to copy the **/test** directory in the registry container to the **/home/**_aaa_ directory on the host: + +``` +$ sudo docker cp registry:/test /home/aaa +``` + diff --git a/content/en/docs/Container/create.md b/content/en/docs/Container/create.md new file mode 100644 index 000000000..00d7da11c --- /dev/null +++ b/content/en/docs/Container/create.md @@ -0,0 +1,388 @@ +# create + +Syntax: **docker create \[**_options_**\]** _image_ **\[**_command_**\] \[**_arg_**...\]** + +Function: Creates a container using an image file and return the ID of the container. After the container is created, run the **docker start** command to start the container. _options_ are used to configure the container during container creation. Some parameters will overwrite the container configuration in the image file. _command_ indicates the command to be executed during container startup. + +Parameter description: + +**Table 1** Parameter description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Parameter

+

Description

+

-a --attach=[]

+

Attaches the console to the STDIN, STDOUT, and STDERR of the process in the container.

+

--name=""

+

Name of a container.

+

--add-host=[host:ip]

+

Adds a mapping between the host name and IP address to the /etc/hosts in the container.

+

For example, --add-host=test:10.10.10.10.

+

--annotation

+

Sets annotations for the container. For example, set the native.umask parameter.

+
--annotation native.umask=normal #The umask value of the started container is 0022.
+--annotation native.umask=secure #The umask value of the started container is 0027.
+

If this parameter is not set, the umask configuration in dockerd is used.

+

--blkio-weight

+

Relative weight of blockio, which ranges from 10 to 1000.

+

--blkio-weight-device=[]

+

Blockio weight, which configures the relative weight.

+

-c, --cpu-shares=0

+

Relative weight of the host CPU obtained by the container. This parameter can be used to obtain a higher priority. By default, all containers obtain the same CPU priority.

+

--cap-add=[]

+

Adds Linux functions.

+

--cap-drop=[]

+

Clears Linux functions.

+

--cgroup-parent

+

cgroup parent directory for the container.

+

--cidfile=""

+

Writes the container ID to a specified file.

+

For example: --cidfile=/home/cidfile-test writes the container ID to the /home/cidfile-test file.

+

--cpu-period

+

CPU CFS period.

+

The default value is 100 ms. Generally, --cpu-period and --cpu-quota are used together. For example, --cpu-period=50000 --cpu-quota=25000 indicates that if there is one CPU, the container can obtain 50% of the CPU every 50 ms.

+

--cpus=0.5 has the same effect.

+

--cpu-quota

+

CPU CFS quota. The default value is 0, indicating that there is no restriction on the quota.

+

--cpuset-cpus

+

Number of CPUs (0-3, 0, 1) that can be used by processes in the container. By default, there is no restriction on this parameter.

+

--cpuset-mems

+

Memory nodes (0-3, 0, 1) for running processes in the container. This parameter is valid only for the NUMA system.

+

--device=[]

+

Adds the host device to a container, for example, --device=/dev/sdc:/dev/xvdc:rwm.

+

--dns=[]

+

Forcibly enables the container to use the specified DNS server. For example, --dns=114.114.xxx.xxx indicates that nameserver 114.114.xxx.xxx is written to /etc/resolv.conf of the created container and the original content is overwritten.

+

--dns-opt=[]

+

DNS options.

+

--dns-search=[]

+

Forcibly searches DNS search domain name used by a container.

+

-e, --env=[]

+

Sets environment variable for the container.

+

--env=[KERNEL_MODULES=]:

+

Inserts a specified module into a container. Currently, only the modules on the host can be inserted. After the container is deleted, the modules still reside on the host, and the --hook-spec option must be configured for the container. The following are valid parameter formats:

+

KERNEL_MODULERS=

+

KERNEL_MODULERS=a

+

KERNEL_MODULERS=a,b

+

KERNEL_MODULERS=a,b,

+

--entrypoint=""

+

Overwrites the original entrypoint in the image. The entrypoint is used to set the command executed when the container is started.

+

--env-file=[]

+

Reads environment variables from a file. Multiple environment variables are separated by lines in the file. For example: --env-file=/home/test/env indicates multiple environment variables are stored in the env file.

+

--expose=[]

+

Enables an internal port of a container. The -P option described in the following section maps the enabled port to a port on the host.

+

--group-add=[]

+

Adds a specified container to an additional group.

+

-h, --hostname=""

+

Host name.

+

--health-cmd

+

Container health check command.

+

--health-interval

+

Interval between two consecutive command executions. The default value is 30s.

+

--health-timeout

+

Maximum duration for executing a single check command. If the execution times out, the command fails to be executed. The default value is 30s.

+

--health-start-period

+

Interval between the time when the container is started and the time when the first health check is performed. The default value is 0s.

+

--health-retries

+

Maximum number of retries after a health check fails. The default value is 3.

+

--health-exit-on-unhealthy

+

Specifies whether to stop a container when the container is unhealthy. The default value is false.

+

--host-channel=[]

+

Sets a channel for communication between processes in the container and the host, in host path:container path:rw/ro:size limit format.

+

-i, --interactive=false

+

Enables STDIN even if it is not attached.

+

--ip

+

IPv4 address of a container.

+

--ip6

+

IPv6 address of a container.

+

--ipc

+

IPC namespace of a container.

+

--isolation

+

Container isolation policy.

+

-l, --label=[]

+

Label of a container.

+

--label-file=[]

+

Obtains the label from the file.

+

--link=[]

+

Links to another container. This parameter adds environment variables of the IP address and port number of the linked container to the container and adds a mapping to the /etc/hosts file, for example, --link=name:alias.

+

--log-driver

+

Log driver of a container.

+

--log-opt=[]

+

Log driver option.

+

-m, --memory=""

+

Memory limit of a container. The format is numberoptional unit, and available units are b, k, m, and g. The minimum value of this parameter is 4m.

+

--mac-address

+

MAC address of a container, for example, 92:d0:c6:0a:xx:xx.

+

--memory-reservation

+

Container memory limit. The default value is the same as that of --memory. --memory is a hard limit, and --memory-reservation is a soft limit. When the memory usage exceeds the preset value, the memory usage is dynamically adjusted (the system attempts to reduce the memory usage to a value less than the preset value when reclaiming the memory). However, the memory usage may exceed the preset value. Generally, this parameter can be used together with --memory. The value must be less than the preset value of --memory.

+

--memory-swap

+

Total usage of the common memory and swap partition. -1 indicates no restriction is set on the usage. If this parameter is not set, the swap partition size is twice the value of --memory. That is, the swap partition can use the same amount of memory as --memory.

+

--memory-swappiness=-1

+

Time when the container uses the swap memory. The value ranges from 0 to 100, in percentage.

+

--net="bridge"

+

Network mode of the container. Docker 1.3.0 has the following network modes: bridge, host, none, and container:name|id. The default value is bridge.

+
  • bridge: Creates a network stack on the bridge when the Docker daemon is started.
  • host: Uses the network stack of the host in the container.
  • none: Does not use networks.
  • container:name|id: Reuses the network stack of another container.
+

--no-healthcheck

+

Does not perform health check for a container.

+

--oom-kill-disable

+

Disables the OOM killer. You are advised not to set this parameter if the -m parameter is not set.

+

--oom-score-adj

+

Adjusts the OOM rule of a container. The value ranges from -1000 to 1000.

+

-P, --publish-all=false

+

Maps all enabled ports of a container to host ports. Containers can be accessed through the host ports. You can run the docker port command to view the mapping between container ports and host ports.

+

-p, --publish=[]

+

Maps a port in a container to a port on the host, in IP address:host port:container port | IP address::container port | host port:container port | container port format. If no IP address is configured, accesses of all NICs on the host is listened. If no host port is configured, the host port is automatically allocated.

+

--pid

+

PID namespace of a container.

+

--privileged=false

+

Grants extra permission to a container. If the --privileged option is used, the container can access all devices on the host.

+

--restart=""

+

Configures restart rule when the container exits. Currently, version 1.3.1 supports the following rules:

+
  • no: indicates that the container is not restarted when it is stopped.
  • on-failure: indicates that the container is restarted when the container exit code is not 0. This rule can be used to add the maximum number of restart times, for example, on-failure:5, indicating that the container can be restarted for a maximum of five times.
  • always: indicates the container is exited regardless of the exit code.
+

--read-only

+

Mounts the root file system of the container in read-only mode.

+

--security-opt=[]

+

Container security rule.

+

--shm-size

+

Size of the /dev/shm device. The default value is 64M.

+

--stop-signal=SIGTERM

+

Container stop signal. The default value is SIGTERM.

+

-t, --tty=false

+

Allocates a pseudo terminal.

+

--tmpfs=[]

+

Mounts the tmpfs directory.

+

-u, --user=""

+

User name or user ID.

+

--ulimit=[]

+

ulimit option.

+

--userns

+

User namespace of a container.

+

-v, --volume=[]

+

Mounts a directory of the host to the container, or create a volume in the container. For example, -v /home/test:/home mounts the /home/test directory of the host to the /home directory of the container, and -v /tmp creates the tmp folder in the root directory of the container, the folder can be shared by other containers using the --volumes-from option. The host directory cannot be mounted to the /proc subdirectory of the container. Otherwise, an error is reported when the container is started.

+

--volume-driver

+

Data volume driver of the container. This parameter is optional.

+

--volumes-from=[]

+

Mounts the volume of another container to the current container to share the volume. For example, -volumes-from container_name mounts the volume of container_name to the current container. -v and --volumes-from=[] are two very important options for data backup and live migration.

+

-w, --workdir=""

+

Specifies the working directory of the container.

+
+ +Example: + +Run the following command to create a container named **busybox** and run the **docker start** command to start the container. + +``` +$ sudo docker create -ti --name=busybox busybox /bin/bash +``` + diff --git a/content/en/docs/Container/createcontainer.md b/content/en/docs/Container/createcontainer.md new file mode 100644 index 000000000..3a7364720 --- /dev/null +++ b/content/en/docs/Container/createcontainer.md @@ -0,0 +1,79 @@ +# CreateContainer + +``` +grpc::Status CreateContainer(grpc::ServerContext *context, const runtime::CreateContainerRequest *request, runtime::CreateContainerResponse *reply) {} +``` + +## Description + +This API is used to create a container in the PodSandbox. + +## Precautions + +- **sandbox\_config** in** CreateContainerRequest** is the same as the configuration transferred to **RunPodSandboxRequest** to create a PodSandbox. It is transferred again for reference only. PodSandboxConfig must remain unchanged throughout the lifecycle of a pod. +- The container name is obtained from fields in [ContainerMetadata](apis.md#en-us_topic_0182207110_li17135914132319) and separated by underscores \(\_\). Therefore, the metadata cannot contain underscores \(\_\). Otherwise, the [ListContainers](listcontainers.md#EN-US_TOPIC_0184808103) API cannot be used for query even when the sandbox is running successfully. +- **CreateContainerRequest** does not contain the **runtime\_handler** field. The runtime type of the container is the same as that of the corresponding sandbox. + +## Parameters + + + + + + + + + + + + + + + +

Parameter

+

Description

+

string pod_sandbox_id

+

ID of the PodSandbox where a container is to be created.

+

ContainerConfig config

+

Container configuration information.

+

PodSandboxConfig sandbox_config

+

PodSandbox configuration information.

+
+ +## Supplement + +Unstructured key-value mappings that can be used to store and retrieve any metadata. The field can be used to transfer parameters for the fields for which the CRI does not provide specific parameters. + +- Customize the field: + + + + + + + + + +

Custom key:value

+

Description

+

cgroup.pids.max:int64_t

+

Used to limit the number of processes or threads in a container. (Set the parameter to -1 for unlimited number.)

+
+ + +## Return Values + + + + + + + + + +

Return Value

+

Description

+

string container_id

+

ID of the created container.

+
+ diff --git a/content/en/docs/Container/creating-a-container-37.md b/content/en/docs/Container/creating-a-container-37.md new file mode 100644 index 000000000..cba82217a --- /dev/null +++ b/content/en/docs/Container/creating-a-container-37.md @@ -0,0 +1,288 @@ +# Creating a Container + +## Downloading Images + +Only user **root** can run the **docker** command. If you log in as a common user, you need to use the **sudo** command before running the **docker** command. + +``` +[root@localhost ~]# docker pull busybox +``` + +This command is used to download the **busybox:latest** image from the official Docker registry. \(If no tag is specified in the command, the default tag name **latest** is used.\) During the image download, the system checks whether the dependent layer exists locally. If yes, the image download is skipped. When downloading images from a private registry, specify the registry description. For example, if a private registry containing some common images is created and its IP address is **192.168.1.110:5000**, you can run the following command to download the image from the private registry: + +``` +[root@localhost ~]# docker pull 192.168.1.110:5000/busybox +``` + +The name of the image downloaded from the private registry contains the registry address information, which may be too long. Run the **docker tag** command to generate an image with a shorter name. + +``` +[root@localhost ~]# docker tag 192.168.1.110:5000/busybox busybox +``` + +Run the **docker images** command to view the local image list. + +## Running a Simple Application + +``` +[root@localhost ~]# docker run busybox /bin/echo "Hello world" +Hello world +``` + +This command uses the **busybox:latest** image to create a container, and executes the **echo "Hello world"** command in the container. Run the following command to view the created container: + +``` +[root@localhost ~]# docker ps -l +CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES +d8c0a3315bc0 busybox"/bin/echo 'Hello wo..." 5 seconds ago Exited (0) 3 seconds ago practical_franklin +``` + +## Creating an Interactive Container + +``` +[root@localhost ~]# docker run -it busybox /bin/bash +root@bf22919af2cf:/# ls +bin boot dev etc home lib media mnt opt proc root run sbin srv sys tmp usr var +root@bf22919af2cf:/# pwd +/ +``` + +The **-ti** option allocates a pseudo terminal to the container and uses standard input \(STDIN\) for interaction. You can run commands in the container. In this case, the container is an independent Linux VM. Run the **exit** command to exit the container. + +## Running a Container in the Background + +Run the following command. **-d** indicates that the container is running in the background. **--name=container1** indicates that the container name is **container1**. + +``` +[root@localhost ~]# docker run -d --name=container1 busybox /bin/sh -c "while true;do echo hello world;sleep 1;done" +7804d3e16d69b41aac5f9bf20d5f263e2da081b1de50044105b1e3f536b6db1c +``` + +The command output contains the container ID but does not contain **hello world**. In this case, the container is running in the background. You can run the **docker ps** command to view the running container. + +``` +[root@localhost ~]# docker ps +CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES +7804d3e16d69 busybox "/bin/sh -c 'while tr" 11 seconds ago Up 10 seconds container1 +``` + +Run the following **docker logs** command to view the output during container running: + +``` +[root@localhost ~]# docker logs container1 +hello world +hello world +hello world +... +``` + +## Container Network Connection + +By default, a container can access an external network, while port mapping is required when an external network accesses a container. The following uses how to run the private registry service in Docker as an example. In the following command, **-P** is used to expose open ports in the registry to the host. + +``` +[root@localhost ~]# docker run --name=container_registry -d -P registry +cb883f6216c2b08a8c439b3957fb396c847a99079448ca741cc90724de4e4731 +``` + +The container\_registry container has been started, but the mapping between services in the container and ports on the host is not clear. You need to run the **docker port** command to view the port mapping. + +``` +[root@localhost ~]# docker port container_registry +5000/tcp -> 0.0.0.0:49155 +``` + +The command output shows that port 5000 in the container is mapped to port 49155 on the host. You can access the registry service by using the host IP address **49155**. Enter **http://localhost:49155** in the address box of the browser and press **Enter**. The registry version information is displayed. + +When running registry images, you can directly specify the port mapping, as shown in the following: + +``` +docker run --name=container_registry -d -p 5000:5000 registry +``` + +**-p 5000:5000** is used to map port 5000 in the container to port 5000 on the host. + +## Precautions + +- **Do Not Add -a stdin Independently During Container Startup** + + When starting a container, you must add **-a stdout** or **-a stderr** together with **-a stdin** instead of **-a stdin** only. Otherwise, the device stops responding even after the container exits. + + +- **Do Not Use the Long Or Short ID of an Existing Container As the Name of a New Container** + + When creating a container, do not use the long or short ID of the existing container A as the name of the new container B. If the long ID of container A is used as the name of container B, Docker will match container A even though the name of container B is used as the specified target container for operations. If the short ID of container A is used as the name of container B, Docker will match container B even though the short ID of container A is used as the specified target container for operations. This is because Docker matches the long IDs of all containers first. If the matching fails, the system performs exact matching using the value of **container\_name**. If matching failure persists, the container ID is directly matched in fuzzy mode. + +- **Containers That Depend on Standard Input and Output, Such As sh/bash, Must Use the -ti Parameter to Avoid Exceptions** + + Normal case: If you do not use the **-ti** parameter to start a process container such as sh/bash, the container exits immediately. + + The cause of this problem is that Docker creates a stdin that matches services in the container first. If the interactive parameters such as **-ti** are not set, Docker closes pipe after the container is started and the service container process sh/bash exits after stdin is closed. + + Exception: If Docker daemon is forcibly killed in a specific phase \(before pipe is closed\), daemon of the pipe is not closed in time. In this case, the sh/bash process does not exit even without **-ti**. As a result, an exception occurs. You need to manually clear the container. + + After being restarted, daemon takes over the original container stream. Containers without the **-ti** parameter may not be able to process the stream because these containers do not have streams to be taken over in normal cases. In actual services, sh/bash without the **-ti** parameter does not take effect and is seldom used. To avoid this problem, the **-ti** parameter is used to restrict interactive containers. + +- **Container Storage Volumes** + + If you use the **-v** parameter to mount files on the host to a container when the container is started, the inodes of the files may be changed when you run the **vi** or **sed** command to modify the files on the host or in the container. As a result, files on the host and in the container are not synchronized. Do not mount files in the container in this mode \(or do not use together with the **vi** and **sed** commands\). You can also mount the upper-layer directories of the files to avoid exceptions. The **nocopy** option can be used to prevent original files in the mount point directory of a container from being copied to the source directory of the host when Docker mounts volumes. However, this option can be used only when an anonymous volume is mounted and cannot be used in the bind mount scenario. + +- **Do Not Use Options That May Affect the Host** + + The **--privileged** option enables all permissions for a container. On the container, mounting operations can be performed and directories such as **/proc** and **/sys** can be modified, which may affect the host. Therefore, do not use this option for common containers. + + A host-shared namespace, such as the **--pid host**, **--ipc host**, or **--net host** option, can enable a container to share the namespace with the host, which will also affect the host. Therefore, do not use this option. + +- **Do Not Use the Unstable Kernel Memory Cgroup** + + Kernel memory cgroup on the Linux kernel earlier than 4.0 is still in the experimental phase and runs unstably. Therefore, do not use kernel memory cgroup. + + When the **docker run --kernel-memory** command is executed, the following alarm is generated: + + ``` + WARNING: You specified a kernel memory limit on a kernel older than 4.0. Kernel memory limits are experimental on older kernels, it won't work as expected as expected and can cause your system to be unstable. + ``` + +- **blkio-weight Parameter Is Unavailable in the Kernel That Supports blkio Precise Control** + + **--blkio-weight-device** can implement more accurate blkio control in a container. The control requires a specified disk device, which can be implemented through the **--blkio-weight-device** parameter of Docker. In this kernel, Docker does not provide the **--blkio-weight** mode to limit the container blkio. If you use this parameter to create a container, the following error is reported: + + ``` + docker: Error response from daemon: oci runtime error: container_linux.go:247: starting container process caused "process_linux.go:398: container init caused \"process_linux.go:369: setting cgroup config for ready process caused \\\"blkio.weight not supported, use weight_device instead\\\"\"" + ``` + +- **Using --blkio-weight-device in CFQ Scheduling Policy** + + The **--blkio-weight-device** parameter works only when the disk works in the Completely Fair Queuing \(CFQ\) policy. + + You can view the scheduler file \(**/sys/block/**_disk_**/queue/scheduler**\) to obtain the policies supported by the disk and the current policy. For example, you can run the following command to view **sda**. + + ``` + # cat /sys/block/sda/queue/scheduler noop [deadline] cfq + ``` + + **sda** supports the following scheduling policies: **noop**, **deadline**, and **cfq**, and the **deadline** policy is being used. You can run the **echo** command to change the policy to **cfq**. + + ``` + # echo cfq > /sys/block/sda/queue/scheduler + ``` + + +- **systemd Usage Restrictions in Basic Container Images** + + When containers created from basic images are used, systemd in basic images is used only for system containers. + + +## Concurrent Performance + +- There is an upper limit for the message buffer in Docker. If the number of messages exceeds the upper limit, the messages are discarded. Therefore, it is recommended that the number of commands executed concurrently should not exceed 1000. Otherwise, the internal messages in Docker may be lost and the container may fail to be started. +- When containers are concurrently created and restarted, the error message"oci runtime error: container init still running" is occasionally reported. This is because containerd optimizes the performance of the event waiting queue. When a container is stopped, the **runc delete** command is executed to kill the init processes in the container within 1s. If the init processes are not killed within 1s, runC returns this error message. The garbage collection \(GC\) mechanism of containerd reclaims residual resources after **runc delete** is executed at an interval of 10s. Therefore, operations on the container are not affected. If the preceding error occurs, wait for 4 or 5s and restart the container. + +## Security Feature Interpretation + +1. The following describes default permission configuration analysis of Docker. + + In the default configuration of a native Docker, capabilities carried by each default process are as follows: + + ``` + "CAP_CHOWN", + "CAP_DAC_OVERRIDE", + "CAP_FSETID", + "CAP_FOWNER", + "CAP_MKNOD", + "CAP_NET_RAW", + "CAP_SETGID", + "CAP_SETUID", + "CAP_SETFCAP", + "CAP_SETPCAP", + "CAP_NET_BIND_SERVICE", + "CAP_SYS_CHROOT", + "CAP_KILL", + "CAP_AUDIT_WRITE", + ``` + + The default seccomp configuration is a whitelist. If any syscall is not in the whitelist, **SCMP\_ACT\_ERRNO** is returned by default. Different system invoking is enabled for different caps of Docker. If a capability is not in the whitelist, Docker will not assign it to the container by default. + +2. CAP\_SYS\_MODULE + + CAP\_SYS\_MODULE allows a container to insert the ko module. Adding this capability allows the container to escape or even damage the kernel. Namespace provides the maximum isolation for a container. In the ko module, you only need to point its namespace to **init\_nsproxy**. + +3. CAP\_SYS\_ADMIN + + The sys\_admin permission provides the following capabilities for a container: + + - For file system: **mount**, **umount**, and **quotactl** + - For namespace setting: **setns**, **unshare**, and **clone new namespace** + - driver ioctl + - For PCI control: **pciconfig\_read**, **pciconfig\_write**, and **pciconfig\_iobase** + - **sethostname** + +4. CAP\_NET\_ADMIN + + CAP\_NET\_ADMIN allows a container to access network interfaces and sniff network traffic. The container can obtain the network traffic of all containers including the host, which greatly damages network isolation. + +5. CAP\_DAC\_READ\_SEARCH + + CAP\_DAC\_READ\_SEARCH calls the open\_by\_handle\_at and name\_to\_handle\_at system calls. If the host is not protected by SELinux, the container can perform brute-force search for the inode number of the file\_handle structure to open any file on the host, which affects the isolation of the file system. + +6. CAP\_SYS\_RAWIO + + CAP\_SYS\_RAWIO allows a container to write I/O ports to the host, which may cause the host kernel to crash. + +7. CAP\_SYS\_PTRACE + + The ptrace permission for a container provides ptrace process debugging in the container. RunC has fixed this vulnerability. However, some tools, such as nsenter and docker-enter, are not protected. In a container, processes executed by these tools can be debugged to obtain resource information \(such as namespace and fd\) brought by these tools. In addition, ptrace can bypass seccomp, greatly increasing attack risks of the kernel. + +8. Docker capability interface: --cap-add all + + --cap-add all grants all permissions to a container, including the dangerous permissions mentioned in this section, which allows the container to escape. + +9. Do not disable the seccomp feature of Docker. + + Docker has a default seccomp configuration with a whitelist. **sys\_call** that is not in the whitelist is disabled by seccomp. You can disable the seccomp feature by running **--security-opt 'seccomp:unconfined'**. If seccomp is disabled or the user-defined seccomp configuration is used but the filtering list is incomplete, attack risks of the kernel in the container are increased. + +10. Do not set the **/sys** and **/proc** directories to writable. + + The **/sys** and **/proc** directories contain Linux kernel maintenance parameters and device management interfaces. If the write permission is configured for the directories in a container, the container may escape. + +11. Docker open capability: --CAP\_AUDIT\_CONTROL + + The permission allows a container to control the audit system and run the **AUDIT\_TTY\_GET** and **AUDIT\_TTY\_SET** commands to obtain the TTY execution records \(including the **root** password\) recorded in the audit system. + +12. CAP\_BLOCK\_SUSPEND and CAP\_WAKE\_ALARM + + The permission provides a container the capability to block the system from suspending \(epoll\). + +13. CAP\_IPC\_LOCK + + With this permission, a container can break the max locked memory limit in **ulimit** and use any mlock large memory block to cause DoS attacks. + +14. CAP\_SYS\_LOG + + In a container with this permission, system kernel logs can be read by using dmesg to break through kernel kaslr protection. + +15. CAP\_SYS\_NICE + + In a container with this permission, the scheduling policy and priority of a process can be changed, causing DoS attacks. + +16. CAP\_SYS\_RESOURCE + + With this permission, a container can bypass resource restrictions, such as disk space resource restriction, keymaps quantity restriction, and **pipe-size-max** restriction, causing DoS attacks. + +17. CAP\_SYS\_TIME + + In a container with this capability, the time on the host can be changed. + +18. Risk analysis of Docker default capabilities + + The default capabilities of Docker include CAP\_SETUID and CAP\_FSETID. If the host and a container share a directory, the container can set permissions for the binary file in the shared directory. Common users on the host can use this method to elevate privileges. With the CAP\_AUDIT\_WRITE capability, a container can write logs to the host, and the host must be configured with log anti-explosion measures. + +19. Docker and host share namespace parameters, such as **--pid**, **--ipc**, and **--uts**. + + This parameter indicates that the container and host share the namespace. The container can attack the host as the namespace of the container is not isolated from that of the host. For example, if you use **--pid** to share PID namespace with the host, the PID on the host can be viewed in the container, and processes on the host can be killed at will. + +20. **--device** is used to map the sensitive directories or devices of the host to the container. + + The Docker management plane provides interfaces for mapping directories or devices on a host to the container, such as **--device** and **-v**. Do not map sensitive directories or devices on the host to the container. + + diff --git a/content/en/docs/Container/creating-a-container.md b/content/en/docs/Container/creating-a-container.md new file mode 100644 index 000000000..20c70949b --- /dev/null +++ b/content/en/docs/Container/creating-a-container.md @@ -0,0 +1,308 @@ +# Creating a Container + +## Description + +To create a container, run the **isula create** command. The container engine will use the specified container image to create a read/write layer, or use the specified local rootfs as the running environment of the container. After the creation is complete, the container ID is output as standard output. You can run the **isula start** command to start the container. The new container is in the **inited** state. + +## Usage + +``` +isula create [OPTIONS] IMAGE [COMMAND] [ARG...] +``` + +## Parameters + +The following table lists the parameters supported by the **create** command. + +**Table 1** Parameter description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Command

+

Parameter

+

Description

+

create

+

  

+

--annotation

+

Sets annotations for the container. For example, set the native.umask parameter.

+
--annotation native.umask=normal #The umask value of the started container is 0022.
+--annotation native.umask=secure #The umask value of the started container is 0027.
+

If this parameter is not set, the umask configuration in iSulad is used.

+

--cap-drop

+

Deletes Linux permissions.

+

--cgroup-parent

+

Specifies the cgroup parent path of the container.

+

--cpuset-cpus

+

Allowed CPUs (for example, 0-3, 0, 1).

+

--cpu-shares

+

CPU share (relative weight).

+

--cpu-quota

+

Limits the CPU CFS quota.

+

--device=[]

+

Adds a device to the container.

+

--dns

+

Adds a DNS server.

+

--dns-opt

+

Adds DNS options.

+

--dns-search

+

Sets the search domain of a container.

+

-e, --env

+

Sets environment variables.

+

--env-file

+

Configures environment variables using a file.

+

--entrypoint

+

Entry point to run when the container is started.

+

--external-rootfs=PATH

+

Specifies a rootfs (a folder or block device) that is not managed by iSulad for the container.

+

--files-limit

+

Limits the number of file handles that can be opened in a container. The value -1 indicates no limit.

+

--group-add=[]

+

Adds additional user groups to the container.

+

--help

+

Displays help information.

+

--health-cmd

+

Command executed in a container.

+

--health-exit-on-unhealthy

+

Determines whether to kill a container when the container is detected unhealthy.

+

--health-interval

+

Interval between two consecutive command executions.

+

--health-retries

+

Maximum number of health check retries.

+

--health-start-period

+

Container initialization interval.

+

--health-timeout

+

Maximum time for executing a single check command.

+

--hook-spec

+

Hook configuration file.

+

-H, --host

+

Specifies the iSulad socket file path to be accessed.

+

-h, --hostname

+

Container host name.

+

-i, --interactive

+

Enables the standard input of the container even if it is not connected to the standard input of the container.

+

--hugetlb-limit=[]

+

Limits the size of huge-page files, for example, --hugetlb-limit 2MB:32MB.

+

--log-opt=[]

+

Log driver option. By default, the container serial port log function is disabled. You can run the --log-opt disable-log=false command to enable it.

+

-l,--label

+

Sets a label for a container.

+

--lablel-file

+

Sets container labels using files.

+

-m, --memory

+

Memory limit.

+

--memory-reservation

+

Sets the container memory limit. The default value is the same as that of --memory. --memory is a hard limit, and --memory-reservation is a soft limit. When the memory usage exceeds the preset value, the memory usage is dynamically adjusted (the system attempts to reduce the memory usage to a value less than the preset value when reclaiming the memory). However, the memory usage may exceed the preset value. Generally, this parameter can be used together with --memory. The value must be less than the preset value of --memory. The minimum value is 4 MB.

+

--memory-swap

+

Memory swap space, which should be a positive integer. The value -1 indicates no limit.

+

--memory-swappiness

+

The value of swappiness is a positive integer ranging from 0 to 100. The smaller the value is, the less the swap partition is used and the more the memory is used in the Linux system. The larger the value is, the more the swap space is used by the kernel. The default value is –1, indicating that the default system value is used.

+

--mount

+

Mounts a host directory to a container.

+

--no-healthcheck

+

Disables the health check configuration.

+

--name=NAME

+

Container name.

+

--net=none

+

Connects a container to a network.

+

--pids-limit

+

Limits the number of processes that can be executed in the container. The value -1 indicates no limit.

+

--privileged

+

Grants container extension privileges.

+

-R, --runtime

+

Container runtime. The parameter value can be lcr, which is case insensitive. Therefore, LCR and lcr are equivalent.

+

--read-only

+

Sets the rootfs of a container to read-only.

+

--restart

+

Restart policy upon container exit.

+

For a system container, --restart on-reboot is supported.

+

--storage-opt

+

Configures the storage driver option for a container.

+

-t, --tty

+

Allocates a pseudo terminal.

+

--ulimit

+

Sets the ulimit for a container.

+

-u, --user

+

User name or UID, in the format of [<name|uid>][:<group|gid>].

+

-v, --volume=[]

+

Mounts a volume.

+
+ +## Constraints + +- When the **--user** or **--group-add** parameter is used to verify the user or group during container startup, if the container uses an OCI image, the verification is performed in the **etc/passwd** and **etc/group** files of the actual rootfs of the image. If a folder or block device is used as the rootfs of the container, the **etc/passwd** and **etc/group** files in the host are verified. The rootfs ignores mounting parameters such as **-v** and **--mount**. That is, when these parameters are used to attempt to overwrite the **etc/passwd** and **etc/group** files, the parameters do not take effect during the search and take effect only when the container is started. The generated configuration is saved in the **iSulad root directory/engine/container ID/start\_generate\_config.json** file. The file format is as follows: + + ``` + { + "uid": 0, + "gid": 8, + "additionalGids": [ + 1234, + 8 + ] + } + ``` + + +## Example + +Create a container. + +``` +$ isula create busybox +fd7376591a9c3d8ee9a14f5d2c2e5255b02cc44cddaabca82170efd4497510e1 +$ isula ps -a +STATUS PID IMAGE COMMAND EXIT_CODE RESTART_COUNT STARTAT FINISHAT RUNTIME ID NAMES inited - busybox "sh" 0 0 - - lcr fd7376591a9c fd7376591a9c4521... +``` + diff --git a/content/en/docs/Container/creating-an-image.md b/content/en/docs/Container/creating-an-image.md new file mode 100644 index 000000000..3b0db7703 --- /dev/null +++ b/content/en/docs/Container/creating-an-image.md @@ -0,0 +1,37 @@ +# Creating an Image + +You can use the **docker pull**, **docker build**,** docker commit**, **docker import**, or **docker load** command to create an image. For details about how to use these commands, see [4.6.3 Image Management](image-management-43.md#EN-US_TOPIC_0184808261). + +## Precautions + +1. Do not concurrently run the **docker load** and **docker rmi** commands. If both of the following conditions are met, concurrency problems may occur: + + - An image exists in the system. + - The docker rmi and docker load operations are concurrently performed on an image. + + Therefore, avoid this scenario. \(All concurrent operations between the image creation operations such as running the **tag**, **build**, and **load**, and **rmi** commands, may cause similar errors. Therefore, do not concurrently perform these operations with **rmi**.\) + +2. If the system is powered off when docker operates an image, the image may be damaged. In this case, you need to manually restore the image. + + When the docker operates images \(using the **pull**, **load**, **rmi**, **build**, **combine**, **commit**, or **import** commands\), image data operations are asynchronous, and image metadata is synchronous. Therefore, if the system power is off when not all image data is updated to the disk, the image data may be inconsistent with the metadata. Users can view images \(possibly none images\), but cannot start containers, or the started containers are abnormal. In this case, run the **docker rmi** command to delete the image and perform the previous operations again. The system can be recovered. + +3. Do not store a large number of images on nodes in the production environment. Delete unnecessary images in time. + + If the number of images is too large, the execution of commands such as **docker image** is slow. As a result, the execution of commands such as **docker build** or **docker commit** fails, and the memory may be stacked. In the production environment, delete unnecessary images and intermediate process images in time. + +4. When the **--no-parent** parameter is used to build images, if multiple build operations are performed at the same time and the FROM images in the Dockerfile are the same, residual images may exist. There are two cases: + - If FROM images are incomplete, the images generated when images of FROM are running may remain. Names of the residual images are similar to **base\_v1.0.0-app\_v2.0.0**, or they are none images. + - If the first several instructions in the Dockerfile are the same, none images may remain. + + +## None Image May Be Generated + +1. A none image is the top-level image without a tag. For example, the image ID of **ubuntu** has only one tag **ubuntu**. If the tag is not used but the image ID is still available, the image ID becomes a none image. +2. An image is protected because the image data needs to be exported during image saving. However, if a deletion operation is performed, the image may be successfully untagged and the image ID may fail to be deleted \(because the image is protected\). As a result, the image becomes a none image. +3. If the system is powered off when you run the **docker pull** command or the system is in panic, a none image may be generated. To ensure image integrity, you can run the **docker rmi** command to delete the image and then restart it. +4. If you run the **docker save** command to save an image and specify the image ID as the image name, the loaded image does not have a tag and the image name is **none**. + +## A Low Probability That Image Fails to Be Built If the Image Is Deleted When Being Built + +Currently, the image build process is protected by reference counting. After an image is built, reference counting of the image is increased by 1 \(holdon operation\). Once the holdon operation is successful, the image will not be deleted. However, there is a low probability that before the holdon operation is performed, the image can still be deleted, causing the image build failure. + diff --git a/content/en/docs/Container/creating-containers-using-hook-spec.md b/content/en/docs/Container/creating-containers-using-hook-spec.md new file mode 100644 index 000000000..2764495bc --- /dev/null +++ b/content/en/docs/Container/creating-containers-using-hook-spec.md @@ -0,0 +1,177 @@ +# Creating Containers Using hook-spec + +## Principles and Application Scenarios + +Docker supports the extended features of hooks. The execution of hook applications and underlying runC complies with the OCI standards. For details about the standards, visit [https://github.com/opencontainers/runtime-spec/blob/master/config.md\#hooks](https://github.com/opencontainers/runtime-spec/blob/master/config.md#hooks). + +There are three types of hooks: prestart, poststart, and poststop. They are respectively used before applications in the container are started, after the applications are started, and after the applications are stopped. + +## API Reference + +The **--hook-spec** parameter is added to the **docker run** and **create** commands and is followed by the absolute path of the **spec** file. You can specify the hooks to be added during container startup. These hooks will be automatically appended after the hooks that are dynamically created by Docker \(currently only libnetwork prestart hook\) to execute programs specified by users during the container startup or destruction. + +The structure of **spec** is defined as follows: + +``` +// Hook specifies a command that is run at a particular event in the lifecycle of a container +type Hook struct{ + Path string `json:"path"` + Args []string `json:"args,omitempty"` + Env []string `json:"env,omitempty"` + Timeout *int `json:"timeout,omitempty"` +} +// Hooks for container setup and teardown +type Hooks struct{ + // Prestart is a list of hooks to be run before the container process is executed. + // On Linux, they are run after the container namespaces are created. + Prestart []Hook `json:"prestart,omitempty"` + // Poststart is a list of hooks to be run after the container process is started. + Poststart []Hook `json:"poststart,omitempty"` + // Poststop is a list of hooks to be run after the container process exits. + Poststop []Hook `json:"poststop,omitempty"` +} +``` + +- The **Path**, **Args**, and **Env** parameters are mandatory. +- **Timeout** is optional, while you are advised to set this parameter to a value ranging from 1 to 120. The parameter type is int. Floating point numbers are not allowed. +- The content of the **spec** file must be in JSON format as shown in the preceding example. If the format is incorrect, an error is reported. +- Both **docker run --hook-spec /tmp/hookspec.json **_xxx_, and **docker create --hook-spec /tmp/hookspec.json **_xxx_** && docker start **_xxx_ can be used. + +## Customizing Hooks for a Container + +Take adding a NIC during the startup as an example. The content of the **hook spec** file is as follows: + +``` +{ + "prestart": [ + { + "path": "/var/lib/docker/hooks/network-hook", + "args": ["network-hook", "tap0", "myTap"], + "env": [], + "timeout": 5 + } + ], + "poststart":[], + "poststop":[] +} +``` + +Specify prestart hook to add the configuration of a network hook. The path is **/var/lib/docker/hooks/network-hook**. **args** indicates the program parameters. Generally, the first parameter is the program name, and the second parameter is the parameter accepted by the program. For the network-hook program, two parameters are required. One is the name of the NIC on the host, and the other is the name of the NIC in the container. + +   + +- Precautions + 1. The **hook** path must be in the** hooks** folder in the **graph** directory \(**--graph**\) of Docker. Its default value is **/var/lib/docker/hooks**. You can run the **docker info** command to view the root path. + + ``` + [root@localhost ~]# docker info + ... + Docker Root Dir: /var/lib/docker + ... + ``` + + This path may change due to the user's manual configuration and the use of user namespaces \(**daemon --userns-remap**\). After the symbolic link of the path is parsed, the parsed path must start with _Docker Root Dir_**/hooks** \(for example, **/var/lib/docker/hooks**\). Otherwise, an error message is displayed. + + 2. The **hook** path must be an absolute path because daemon cannot properly process a relative path. In addition, an absolute path meets security requirements. + 3. The information output by the hook program to stderr is output to the client and affects the container lifecycle \(for example, the container may fail to be started\). The information output to stdout is ignored. + 4. Do not reversely call Docker instructions in hooks. + 5. The execute permission must have been granted on the configured hook execution file. Otherwise, an error is reported during hook execution. + 6. The execution time of the hook operation must be as short as possible. If the prestart period is too long \(more than 2 minutes\), the container startup times out. If the poststop period is too long \(more than 2 minutes\), the container is abnormal. + + The known exceptions are as follows: When the **docker stop** command is executed to stop a container and the clearing operation is performed after 2 minutes, the hook operation is not complete. Therefore, the system waits until the hook operation is complete \(the process holds a lock\). As a result, all operations related to the container stop responding. The operations can be recovered only after the hook operation is complete. In addition, the two-minute timeout processing of the **docker stop** command is an asynchronous process. Therefore, even if the **docker stop** command is successfully executed, the container status is still **up**. The container status is changed to **exited** only after the hook operation is completed. + + + +- Suggestions + 1. You are advised to set the hook timeout threshold to a value less than 5s. + 2. You are advised to configure only one prestart hook, one poststart hook, and one poststop hook for each container. If too many hooks are configured, the container startup may take a long time. + 3. You are advised to identify the dependencies between multiple hooks. If required, you need to adjust the sequence of the hook configuration files according to the dependencies. The execution sequence of hooks is based on the sequence in the configured **spec** file. + + +## Multiple **hook-spec** + +If multiple hook configuration files are available and you need to run multiple hooks, you must manually combine these files into a configuration file and specify the new configuration file by using the **--hook-spec** parameter. Then all hooks can take effect. If multiple **--hook-spec** parameters are configured, only the last one takes effect. + +Configuration examples: + +The content of the **hook1.json** file is as follows: + +``` +# cat /var/lib/docker/hooks/hookspec.json +{ + "prestart": [ + { + "path": "/var/lib/docker/hooks/lxcfs-hook", + "args": ["lxcfs-hook", "--log", "/var/log/lxcfs-hook.log"], + "env": [] + } + ], + "poststart":[], + "poststop":[] +} +``` + +The content of the **hook2.json** file is as follows: + +``` +# cat /etc/isulad-tools/hookspec.json +{ + "prestart": [ + { + "path": "/docker-root/hooks/docker-hooks", + "args": ["docker-hooks", "--state", "prestart"], + "env": [] + } + ], + "poststart":[], + "poststop":[ + { + "path": "/docker-root/hooks/docker-hooks", + "args": ["docker-hooks", "--state", "poststop"], + "env": [] + } + ] +} +``` + +The content in JSON format after manual combination is as follows: + +``` +{ + "prestart":[ + { + "path": "/var/lib/docker/hooks/lxcfs-hook", + "args": ["lxcfs-hook", "--log", "/var/log/lxcfs-hook.log"], + "env": [] + }, + { + "path": "/docker-root/hooks/docker-hooks", + "args": ["docker-hooks", "--state", "prestart"], + "env": [] + } + ], + "poststart":[], + "poststop":[ + { + "path": "/docker-root/hooks/docker-hooks", + "args": ["docker-hooks", "--state", "poststop"], + "env": [] + } + ] +} +``` + +Docker daemon reads the binary values of hook in actions such as prestart in the hook configuration files in sequence based on the array sequence and executes the actions. Therefore, you need to identify the dependencies between multiple hooks. If required, you need to adjust the sequence of the hook configuration files according to the dependencies. + +## Customizing Default Hooks for All Containers + +Docker daemon can receive the **--hook-spec** parameter. The semantics of **--hook-spec** is the same as that of **--hook-spec** in **docker create** or **docker run**. You can also add hook configurations to the **/etc/docker/daemon.json** file. + +``` +{ + "hook-spec": "/tmp/hookspec.json" +} +``` + +When a container is running, hooks specified in **--hook-spec** defined by daemon are executed first, and then hooks customized for each container are executed. + diff --git a/content/en/docs/Container/cri.md b/content/en/docs/Container/cri.md new file mode 100644 index 000000000..761af5395 --- /dev/null +++ b/content/en/docs/Container/cri.md @@ -0,0 +1,2 @@ +# CRI + diff --git a/content/en/docs/Container/daemon-multi-port-binding.md b/content/en/docs/Container/daemon-multi-port-binding.md new file mode 100644 index 000000000..b922e6afa --- /dev/null +++ b/content/en/docs/Container/daemon-multi-port-binding.md @@ -0,0 +1,40 @@ +# Daemon Multi-Port Binding + +## Description + +The daemon can bind multiple UNIX sockets or TCP ports and listen on these ports. The client can interact with the daemon through these ports. + +## Port + +Users can configure one or more ports in the hosts field in the **/etc/isulad/daemon.json** file, or choose not to specify hosts. + +``` +{ + "hosts": [ + "unix:///var/run/isulad.sock", + "tcp://localhost:5678", + "tcp://127.0.0.1:6789" + ] +} +``` + +Users can also run the **-H** or **--host** command in the **/etc/sysconfig/iSulad** file to configure a port, or choose not to specify hosts. + +``` +OPTIONS='-H unix:///var/run/isulad.sock --host tcp://127.0.0.1:6789' +``` + +If hosts are not specified in the **daemon.json** file and iSulad, the daemon listens on **unix:///var/run/isulad.sock** by default after startup. + +## Restrictions + +- Users cannot specify hosts in the **/etc/isulad/daemon.json** and **/etc/sysconfig/iSuald** files at the same time. Otherwise, an error will occur and iSulad cannot be started. + + ``` + unable to configure the isulad with file /etc/isulad/daemon.json: the following directives are specified both as a flag and in the configuration file: hosts: (from flag: [unix:///var/run/isulad.sock tcp://127.0.0.1:6789], from file: [unix:///var/run/isulad.sock tcp://localhost:5678 tcp://127.0.0.1:6789]) + ``` + +- If the specified host is a UNIX socket, the socket must start with **unix://** followed by a valid absolute path. +- If the specified host is a TCP port, the TCP port number must start with **tcp://** followed by a valid IP address and port number. The IP address can be that of the local host. +- A maximum of 10 valid ports can be specified. If more than 10 ports are specified, an error will occur and iSulad cannot be started. + diff --git a/content/en/docs/Container/daemon-network-configuration.md b/content/en/docs/Container/daemon-network-configuration.md new file mode 100644 index 000000000..ef09c0438 --- /dev/null +++ b/content/en/docs/Container/daemon-network-configuration.md @@ -0,0 +1,6 @@ +# Daemon Network Configuration + +- After the network segment of the docker0 bridge is specified by using the **--bip** parameter on Docker daemon, if the **--bip** parameter is deleted during the next Docker daemon restart, the docker0 bridge uses the previous value of **--bip**, even if the docker0 bridge is deleted before the restart. The reason is that Docker saves the network configuration and restores the previous configuration by default during the next restart. +- When running the **docker network create** command to concurrently create networks, you can create two networks with the same name. The reason is that Docker networks are distinguished by IDs. The name is only an alias that is easy to identify and may not be unique. +- In the Docker bridge network mode, a Docker container establishes external communication through NAT on the host. When Docker daemon starts a Docker container, a docker-proxy process is started for each port mapped on the host to access the proxy. It is recommended that you map only the necessary ports when using userland-proxy to reduce the resources consumed by the port mapping of docker-proxy. + diff --git a/content/en/docs/Container/daemon-parameter-configuration.md b/content/en/docs/Container/daemon-parameter-configuration.md new file mode 100644 index 000000000..74c867543 --- /dev/null +++ b/content/en/docs/Container/daemon-parameter-configuration.md @@ -0,0 +1,13 @@ +# Daemon Parameter Configuration + +You can add configuration items to the **/etc/docker/daemon.json** file to customize parameters. You can run the **dockerd --help** command to view related configuration items and their usage methods. A configuration example is as follows: + +``` +cat /etc/docker/daemon.json +{ + "debug": true, + "storage-driver": "overlay2", + "storage-opts": ["overlay2.override_kernel_check=true"] +} +``` + diff --git a/content/en/docs/Container/daemon-running-directory-configuration.md b/content/en/docs/Container/daemon-running-directory-configuration.md new file mode 100644 index 000000000..bfd2a5041 --- /dev/null +++ b/content/en/docs/Container/daemon-running-directory-configuration.md @@ -0,0 +1,12 @@ +# Daemon Running Directory Configuration + +Re-configuring various running directories and files \(including **--graph** and **--exec-root**\) may cause directory conflicts or file attribute changes, affecting the normal use of applications. + +>![](public_sys-resources/icon-notice.gif) **NOTICE:** +>Therefore, the specified directories or files should be used only by Docker to avoid file attribute changes and security issues caused by conflicts. + +- Take **--graph** as an example. When **/new/path/** is used as the new root directory of the daemon, if a file exists in **/new/path/** and the directory or file name conflicts with that required by Docker \(for example, **containers**, **hooks**, and **tmp**\), Docker may update the original directory or file attributes, including the owner and permission. + +>![](public_sys-resources/icon-notice.gif) **NOTICE:** +>From Docker 17.05, the **--graph** parameter is marked as **Deprecated** and replaced with the **--data-root** parameter. + diff --git a/content/en/docs/Container/daemon-start-time.md b/content/en/docs/Container/daemon-start-time.md new file mode 100644 index 000000000..fac48a057 --- /dev/null +++ b/content/en/docs/Container/daemon-start-time.md @@ -0,0 +1,15 @@ +# Daemon Start Time + +The Docker service is managed by systemd, which restricts the startup time of each service. If the Docker service fails to be started within the specified time, the possible causes are as follows: + +- If Docker daemon is started for the first time using devicemapper, the Docker daemon needs to perform the initialization operation on the device. This operation, however, will perform a large number of disk I/O operations. When the disk performance is poor or many I/O conflicts exist, the Docker daemon startup may time out. devicemapper needs to be initialized only once and does not need to be initialized again during later Docker daemon startup. +- If the usage of the current system resources is too high, the system responses slowly, all operations in the system slow down, and the startup of the Docker service may time out. +- During the restart, a daemon traverses and reads configuration files and the init layer and writable layer configurations of each container in the Docker working directory. If there are too many containers \(including the created and exited containers\) in the current system and the disk read and write performance is limited, the startup of the Docker service may time out due to the long-time daemon traversing. + +   + +If the service startup times out, you are advised to rectify the fault as follows: + +- Ensure that the container orchestration layer periodically deletes unnecessary containers, especially the exited containers. +- Based on performance requirements of the solution, adjust the cleanup period of the orchestration layer and the start time of the Docker service. + diff --git a/content/en/docs/Container/daemon-umask-configuration.md b/content/en/docs/Container/daemon-umask-configuration.md new file mode 100644 index 000000000..b794ce05e --- /dev/null +++ b/content/en/docs/Container/daemon-umask-configuration.md @@ -0,0 +1,11 @@ +# Daemon umask Configuration + +The default **umask** value of the main container process and exec process is **0022**. To meet security specifications and prevent containers from being attacked, the default value of **umask** is changed to **0027** after runC implementation is modified. After the modification, the other groups cannot access new files or directories. + +The default value of **umask** is **0027** when Docker starts a container. You can change the value to **0022** by running the **--exec-opt native.umask=normal** command during container startup. + +>![](public_sys-resources/icon-notice.gif) **NOTICE:** +>If **native.umask** is configured in **docker create** or **docker run** command, its value is used. + +For details, see the parameter description in [4.6.2.4 create](create.md#EN-US_TOPIC_0184808242) and [4.6.2.16 run](container-management-40.md#EN-US_TOPIC_0184808238). + diff --git a/content/en/docs/Container/deleting-a-secure-container.md b/content/en/docs/Container/deleting-a-secure-container.md new file mode 100644 index 000000000..49829a756 --- /dev/null +++ b/content/en/docs/Container/deleting-a-secure-container.md @@ -0,0 +1,14 @@ +# Deleting a Secure Container + +Ensure that the container has been stopped. + +``` +docker rm +``` + +To forcibly delete a running container, run the **-f** command. + +``` +docker rm -f +``` + diff --git a/content/en/docs/Container/deleting-images-39.md b/content/en/docs/Container/deleting-images-39.md new file mode 100644 index 000000000..beda378a7 --- /dev/null +++ b/content/en/docs/Container/deleting-images-39.md @@ -0,0 +1,6 @@ +# Deleting Images + +## Precautions + +Do not run the **docker rmi –f **_XXX_ command to delete images. If you forcibly delete an image, the **docker rmi** command ignores errors during the process, which may cause residual metadata of containers or images. If you delete an image in common mode and an error occurs during the deletion process, the deletion fails and no metadata remains. + diff --git a/content/en/docs/Container/deleting-images-6.md b/content/en/docs/Container/deleting-images-6.md new file mode 100644 index 000000000..596d59791 --- /dev/null +++ b/content/en/docs/Container/deleting-images-6.md @@ -0,0 +1,23 @@ +# Deleting Images + +## Description + +Delete one or more images. + +## Usage + +``` +isula rmi [OPTIONS] IMAGE [IMAGE...] +``` + +## Parameters + +For details about parameters in the **rmi** command, see [Table 4](command-line-parameters.md#en-us_topic_0189976507_table856181871617). + +## Example + +``` +$ isula rmi test:v1 +Image "test:v1" removed +``` + diff --git a/content/en/docs/Container/deleting-images.md b/content/en/docs/Container/deleting-images.md new file mode 100644 index 000000000..529251f1c --- /dev/null +++ b/content/en/docs/Container/deleting-images.md @@ -0,0 +1,23 @@ +# Deleting Images + +## Description + +Delete one or more images. + +## Usage + +``` +isula rmi [OPTIONS] IMAGE [IMAGE...] +``` + +## Parameters + +For details about parameters in the **rmi** command, see [Table 4](command-line-parameters.md#en-us_topic_0189976507_table856181871617). + +## Example + +``` +$ isula rmi rnd-dockerhub.huawei.com/official/busybox +Image "rnd-dockerhub.huawei.com/official/busybox" removed +``` + diff --git a/content/en/docs/Container/deployment-configuration-27.md b/content/en/docs/Container/deployment-configuration-27.md new file mode 100644 index 000000000..22042d63c --- /dev/null +++ b/content/en/docs/Container/deployment-configuration-27.md @@ -0,0 +1,2 @@ +# Deployment Configuration + diff --git a/content/en/docs/Container/deployment-configuration.md b/content/en/docs/Container/deployment-configuration.md new file mode 100644 index 000000000..82f9e6a69 --- /dev/null +++ b/content/en/docs/Container/deployment-configuration.md @@ -0,0 +1,2 @@ +# Deployment Configuration + diff --git a/content/en/docs/Container/deployment-mode.md b/content/en/docs/Container/deployment-mode.md new file mode 100644 index 000000000..b07b9662d --- /dev/null +++ b/content/en/docs/Container/deployment-mode.md @@ -0,0 +1,454 @@ +# Deployment Mode + +The iSulad server daemon **isulad** can be configured with a configuration file or by running the **isulad --xxx** command. The priority in descending order is as follows: CLI \> configuration file \> default configuration in code. + +>![](public_sys-resources/icon-note.gif) **NOTE:** +>If systemd is used to manage the iSulad process, modify the **OPTIONS** field in the **/etc/sysconfig/iSulad** file, which functions the same as using the CLI. + +- **CLI** + + During service startup, configure iSulad using the CLI. To view the configuration options, run the following command: + + ``` + $ isulad --help + lightweight container runtime daemon + + Usage: isulad [global options] + + GLOBAL OPTIONS: + + --authorization-plugin Use authorization plugin + --cgroup-parent Set parent cgroup for all containers + --cni-bin-dir The full path of the directory in which to search for CNI plugin binaries. Default: /opt/cni/bin + --cni-conf-dir The full path of the directory in which to search for CNI config files. Default: /etc/cni/net.d + --default-ulimit Default ulimits for containers (default []) + -e, --engine Select backend engine + -g, --graph Root directory of the iSulad runtime + -G, --group Group for the unix socket(default is isulad) + --help Show help + --hook-spec Default hook spec file applied to all containers + -H, --host The socket name used to create gRPC server + --image-layer-check Check layer intergrity when needed + --image-opt-timeout Max timeout(default 5m) for image operation + --insecure-registry Disable TLS verification for the given registry + --insecure-skip-verify-enforce Force to skip the insecure verify(default false) + --log-driver Set daemon log driver, such as: file + -l, --log-level Set log level, the levels can be: FATAL ALERT CRIT ERROR WARN NOTICE INFO DEBUG TRACE + --log-opt Set daemon log driver options, such as: log-path=/tmp/logs/ to set directory where to store daemon logs + --native.umask Default file mode creation mask (umask) for containers + --network-plugin Set network plugin, default is null, suppport null and cni + -p, --pidfile Save pid into this file + --pod-sandbox-image The image whose network/ipc namespaces containers in each pod will use. (default "rnd-dockerhub.huawei.com/library/pause-${machine}:3.0") + --registry-mirrors Registry to be prepended when pulling unqualified images, can be specified multiple times + --start-timeout timeout duration for waiting on a container to start before it is killed + -S, --state Root directory for execution state files + --storage-driver Storage driver to use(default overlay2) + -s, --storage-opt Storage driver options + --tls Use TLS; implied by --tlsverify + --tlscacert Trust certs signed only by this CA (default "/root/.iSulad/ca.pem") + --tlscert Path to TLS certificate file (default "/root/.iSulad/cert.pem") + --tlskey Path to TLS key file (default "/root/.iSulad/key.pem") + --tlsverify Use TLS and verify the remote + --use-decrypted-key Use decrypted private key by default(default true) + -V, --version Print the version + --websocket-server-listening-port CRI websocket streaming service listening port (default 10350) + ``` + + Example: Start iSulad and change the log level to DEBUG. + + ``` + $ isulad -l DEBUG + ``` + + +- **Configuration file** + + The iSulad configuration file is **/etc/isulad/daemon.json**. The parameters in the file are described as follows: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Parameter

+

Example

+

Description

+

Remarks

+

-e, --engine

+

"engine": "lcr"

+

iSulad runtime, which is Icr by default.

+

None

+

-G, --group

+

"group": "isulad"

+

Socket group.

+

None

+

--hook-spec

+

"hook-spec": "/etc/default/isulad/hooks/default.json"

+

Default hook configuration file for all containers.

+

None

+

-H, --host

+

"hosts": "unix:///var/run/isulad.sock"

+

Communication mode.

+

In addition to the local socket, the tcp://ip:port mode is supported. The port number ranges from 0 to 65535, excluding occupied ports.

+

--log-driver

+

"log-driver": "file"

+

Log driver configuration.

+

None

+

-l, --log-level

+

"log-level": "ERROR"

+

Log output level.

+

None

+

--log-opt

+

"log-opts": {

+

"log-file-mode": "0600",

+

"log-path": "/var/lib/isulad",

+

"max-file": "1",

+

"max-size": "30KB"

+

}

+

Log-related configuration.

+

You can specify max-file, max-size, and log-path. max-file indicates the number of log files. max-size indicates the threshold for triggering log anti-explosion. If max-file is 1, max-size is invalid. log-path specifies the path for storing log files. The log-file-mode command is used to set the permissions to read and write log files. The value must be in octal format, for example, 0666.

+

--start-timeout

+

"start-timeout": "2m"

+

Time required for starting a container.

+

None

+

--runtime

+

"default-runtime": "lcr"

+

Container runtime, which is lcr by default.

+

If neither the CLI nor the configuration file specifies the runtime, lcr is used by default. The priorities of the three specifying methods are as follows: CLI > configuration file > default value lcr. Currently, lcr and kata-runtime are supported.

+

None

+
"runtimes":  {
+        "kata-runtime": {
+          "path": "/usr/bin/kata-runtime",
+          "runtime-args": [
+            "--kata-config",
+            "/usr/share/defaults/kata-containers/configuration.toml"
+          ]
+        }
+    }
+

When starting a container, set this parameter to specify multiple runtimes. Runtimes in this set are valid for container startup.

+

Runtime whitelist of a container. The customized runtimes in this set are valid. kata-runtime is used as the example.

+

-p, --pidfile

+

"pidfile": "/var/run/isulad.pid"

+

File for storing PIDs.

+

This parameter is required only when more than two container engines need to be started.

+

-g, --graph

+

"graph": "/var/lib/isulad"

+

Root directory for iSulad runtimes.

+

-S, --state

+

"state": "/var/run/isulad"

+

Root directory of the execution file.

+

--storage-driver

+

"storage-driver": "overlay2"

+

Image storage driver, which is overlay2 by default.

+

Only overlay2 is supported.

+

-s, --storage-opt

+

"storage-opts": [ "overlay2.override_kernel_check=true" ]

+

Image storage driver configuration options.

+

The options are as follows:

+
overlay2.override_kernel_check=true #Ignore the kernel version check.
+    overlay2.size=${size} #Set the rootfs quota to ${size}.
+    overlay2.basesize=${size} #It is equivalent to overlay2.size.
+

--image-opt-timeout

+

"image-opt-timeout": "5m"

+

Image operation timeout interval, which is 5m by default.

+

The value -1 indicates that the timeout interval is not limited.

+

--registry-mirrors

+

"registry-mirrors": [ "docker.io" ]

+

Registry address.

+

None

+

--insecure-registry

+

"insecure-registries": [ ]

+

Registry without TLS verification.

+

None

+

--native.umask

+

"native.umask": "secure"

+

Container umask policy. The default value is secure. The value normal indicates insecure configuration.

+

Set the container umask value.

+

The value can be null (0027 by default), normal, or secure.

+
normal #The umask value of the started container is 0022.
+    secure #The umask value of the started container is 0027 (default value).
+

--pod-sandbox-image

+

"pod-sandbox-image": "rnd-dockerhub.huawei.com/library/pause-aarch64:3.0"

+

By default, the pod uses the image. The default value is rnd-dockerhub.huawei.com/library/pause-${machine}:3.0.

+

None

+

--network-plugin

+

"network-plugin": ""

+

Specifies a network plug-in. The value is a null character by default, indicating that no network configuration is available and the created sandbox has only the loop NIC.

+

The CNI and null characters are supported. Other invalid values will cause iSulad startup failure.

+

--cni-bin-dir

+

"cni-bin-dir": ""

+

Specifies the storage location of the binary file on which the CNI plug-in depends.

+

The default value is /opt/cni/bin.

+

--cni-conf-dir

+

"cni-conf-dir": ""

+

Specifies the storage location of the CNI network configuration file.

+

The default value is /etc/cni/net.d.

+

--image-layer-check=false

+

"image-layer-check": false

+

Image layer integrity check. To enable the function, set it to true; otherwise, set it to false. It is disabled by default.

+

When iSulad is started, the image layer integrity is checked. If the image layer is damaged, the related images are unavailable. iSulad cannot verify empty files, directories, and link files. Therefore, if the preceding files are lost due to a power failure, the integrity check of iSulad image data may fail to be identified. When the iSulad version changes, check whether the parameter is supported. If not, delete it from the configuration file.

+

--insecure-skip-verify-enforce=false

+

"insecure-skip-verify-enforce": false

+

Indicates whether to forcibly skip the verification of the certificate host name/domain name. The value is of the Boolean type, and the default value is false. If this parameter is set to true, the verification of the certificate host name/domain name is skipped.

+

The default value is false (not skipped). Note: Restricted by the YAJL JSON parsing library, if a non-Boolean value that meets the JSON format requirements is configured in the /etc/isulad/daemon.json configuration file, the default value used by iSulad is false.

+

--use-decrypted-key=true

+

"use-decrypted-key": true

+

Specifies whether to use an unencrypted private key. The value is of the Boolean type. If this parameter is set to true, an unencrypted private key is used. If this parameter is set to false, the encrypted private key is used, that is, two-way authentication is required.

+

The default value is true, indicating that an unencrypted private key is used. Note: Restricted by the YAJL JSON parsing library, if a non-Boolean value that meets the JSON format requirements is configured in the /etc/isulad/daemon.json configuration file, the default value used by iSulad is true.

+

--tls

+

"tls":false

+

Specifies whether to use TLS. The value is of the Boolean type.

+

This parameter is used only in -H tcp://IP:PORT mode. The default value is false.

+

--tlsverify

+

"tlsverify":false

+

Specifies whether to use TLS and verify remote access. The value is of the Boolean type.

+

This parameter is used only in -H tcp://IP:PORT mode.

+

--tlscacert

+

--tlscert

+

--tlskey

+

"tls-config": {

+

"CAFile": "/root/.iSulad/ca.pem",

+

"CertFile": "/root/.iSulad/server-cert.pem",

+

"KeyFile":"/root/.iSulad/server-key.pem"

+

}

+

TLS certificate-related configuration.

+

This parameter is used only in -H tcp://IP:PORT mode.

+

--authorization-plugin

+

"authorization-plugin": "authz-broker"

+

User permission authentication plugin.

+

Only authz-broker is supported.

+

--cgroup-parent

+

"cgroup-parent": "lxc/mycgroup"

+

Default cgroup parent path of a container, which is of the string type.

+

Specifies the cgroup parent path of a container. If --cgroup-parent is specified on the client, the client parameter prevails.

+

Note: If container A is started before container B, the cgroup parent path of container B is specified as the cgroup path of container A. When deleting a container, you need to delete container B and then container A in sequence. Otherwise, residual cgroup resources exist.

+

--default-ulimits

+

"default-ulimits": {

+

"nofile": {

+

"Name": "nofile",

+

"Hard": 6400,

+

"Soft": 3200

+

}

+

}

+

Specifies the ulimit restriction type, soft value, and hard value.

+

Specifies the restricted resource type, for example, nofile. The two field names must be the same, that is, nofile. Otherwise, an error is reported. The value of Hard must be greater than or equal to that of Soft. If the Hard or Soft field is not set, the default value 0 is used.

+

--websocket-server-listening-port

+

"websocket-server-listening-port": 10350

+

Specifies the listening port of the CRI WebSocket streaming service. The default port number is 10350.

+

Specifies the listening port of the CRI websocket streaming service.

+

If the client specifies --websocket-server-listening-port, the specified value is used. The port number ranges from 1024 to 49151.

+
+ + Example: + + ``` + $ cat /etc/isulad/daemon.json + { + "group": "isulad", + "default-runtime": "lcr", + "graph": "/var/lib/isulad", + "state": "/var/run/isulad", + "engine": "lcr", + "log-level": "ERROR", + "pidfile": "/var/run/isulad.pid", + "log-opts": { + "log-file-mode": "0600", + "log-path": "/var/lib/isulad", + "max-file": "1", + "max-size": "30KB" + }, + "log-driver": "stdout", + "hook-spec": "/etc/default/isulad/hooks/default.json", + "start-timeout": "2m", + "storage-driver": "overlay2", + "storage-opts": [ + "overlay2.override_kernel_check=true" + ], + "registry-mirrors": [ + "docker.io" + ], + "insecure-registries": [ + "rnd-dockerhub.huawei.com" + ], + "pod-sandbox-image": "", + "image-opt-timeout": "5m", + "native.umask": "secure", + "network-plugin": "", + "cni-bin-dir": "", + "cni-conf-dir": "", + "image-layer-check": false, + "use-decrypted-key": true, + "insecure-skip-verify-enforce": false + } + ``` + + >![](public_sys-resources/icon-notice.gif) **NOTICE:** + >The default configuration file **/etc/isulad/daemon.json** is for reference only. Configure it based on site requirements. + + diff --git a/content/en/docs/Container/description-18.md b/content/en/docs/Container/description-18.md new file mode 100644 index 000000000..293a23f0c --- /dev/null +++ b/content/en/docs/Container/description-18.md @@ -0,0 +1,47 @@ +# Description + +The running of standard OCI hooks within the lifecycle of a container is supported. There are three types of standard hooks: + +- prestart hook: executed after the **isula start** command is executed and before the init process of the container is started. +- poststart hook: executed after the init process is started and before the **isula start** command is returned. +- poststop hook: executed after the container is stopped and before the stop command is returned. + +The configuration format specifications of OCI hooks are as follows: + +- **path**: \(Mandatory\) The value must be a character string and must be an absolute path. The specified file must have the execute permission. +- **args**: \(Optional\) The value must be a character string array. The syntax is the same as that of **args** in **execv**. +- **env**: \(Optional\) The value must be a character string array. The syntax is the same as that of environment variables. The content is a key-value pair, for example, **PATH=/usr/bin**. +- **timeout**: \(Optional\) The value must be an integer that is greater than 0. It indicates the timeout interval for hook execution. If the running time of the hook process exceeds the configured time, the hook process is killed. + +The hook configuration is in JSON format and usually stored in a file ended with **json**. An example is as follows: + +``` +{ + "prestart": [ + { + "path": "/usr/bin/echo", + "args": ["arg1", "arg2"], + "env": [ "key1=value1"], + "timeout": 30 + }, + { + "path": "/usr/bin/ls", + "args": ["/tmp"] + } + ], + "poststart": [ + { + "path": "/usr/bin/ls", + "args": ["/tmp"], + "timeout": 5 + } + ], + "poststop": [ + { + "path": "/tmp/cleanup.sh", + "args": ["cleanup.sh", "-f"] + } + ] +} +``` + diff --git a/content/en/docs/Container/description.md b/content/en/docs/Container/description.md new file mode 100644 index 000000000..4eb5f6739 --- /dev/null +++ b/content/en/docs/Container/description.md @@ -0,0 +1,15 @@ +# Description + +The Container Runtime Interface \(CRI\) provided by Kubernetes defines container and image service APIs. iSulad uses the CRI to interconnect with Kubernetes. + +Since the container runtime is isolated from the image lifecycle, two services need to be defined. This API is defined by using [Protocol Buffer](https://developers.google.com/protocol-buffers/) based on [gRPC](https://grpc.io/). + +The current CRI version is v1alpha1. For official API description, access the following link: + +[https://github.com/kubernetes/kubernetes/blob/release-1.14/pkg/kubelet/apis/cri/runtime/v1alpha2/api.proto](https://github.com/kubernetes/kubernetes/blob/release-1.14/pkg/kubelet/apis/cri/runtime/v1alpha2/api.proto) + +iSulad uses the API description file of version 1.14 used by Pass, which is slightly different from the official API description file. API description in this document prevails. + +>![](public_sys-resources/icon-note.gif) **NOTE:** +>The listening IP address of the CRI WebSocket streaming service is **127.0.0.1** and the port number is **10350**. The port number can be configured in the **--websocket-server-listening-port** command or in the **daemon.json** configuration file. + diff --git a/content/en/docs/Container/device-management.md b/content/en/docs/Container/device-management.md new file mode 100644 index 000000000..1c3285516 --- /dev/null +++ b/content/en/docs/Container/device-management.md @@ -0,0 +1,137 @@ +# Device Management + +## Function Description + +isulad-tools allows you to add block devices \(such as disks and logical volume managers\) or character devices \(such as GPUs, binners, and FUSEs\) on the host to a container. The devices can be used in the container. For example, you can run the **fdisk** command to format the disk and write data to the file system. If the devices are not required, isulad-tools allows you to delete them from the container and return them to the host. + +## Command Format + +``` +isulad-tools [COMMADN][OPTIONS] [ARG...] +``` + +In the preceding format: + +**COMMAND**: command related to device management. + +**OPTIONS**: option supported by the device management command. + +**container\_id**: container ID. + +**ARG**: parameter corresponding to the command. + +## Parameter Description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Command

+

Function Description

+

Option Description

+

Parameter Description

+

add-device

+

Adds block devices or character devices on the host to a container.

+

Supported options are as follows:

+
  • --blkio-weight-device: sets the I/O weight (relative weight, ranging from 10 to 100) of a block device.
  • --device-read-bps: sets the read rate limit for the block device (byte/s).
  • --device-read-iops: sets the read rate limit for the block device (I/O/s).
  • --device-write-bps: sets the write rate limit for the block device (byte/s).
  • --device-write-iops: sets the write rate limit for the block device (I/O/s).
  • --follow-partition: If a block device is a basic block device (primary SCSI block disk), set this parameter to add all partitions of the primary disk.
  • --force: If any block device or character device already exists in the container, use this parameter to overwrite the old block device or character device files.
  • --update-config-only: updates configuration files only and does not add disks.
+

Parameter format: hostdevice[:containerdevice][:permission] [hostdevice[:containerdevice][:permission]]

+

In the preceding format:

+

hostdevice: path on the host for storing a device.

+

containerdevice: path on the container for storing a device.

+

permission: operation permission on a device within the container.

+

remove-device

+

Deletes block devices or character devices from a container and restores them to the host.

+

Supported options are as follows:

+

--follow-partition: If a block device is a basic block device (primary SCSI block disk), set this parameter to delete all partitions of the primary disk in the container, and restore them to the host.

+

Parameter format: hostdevice[:containerdevice] [hostdevice[:containerdevice]]

+

In the preceding format:

+

hostdevice: path on the host for storing a device.

+

containerdevice: path on the container for storing a device.

+

list-device

+

Lists all block devices or character devices in a container.

+

Supported options are as follows:

+
  • --pretty: outputs data in JSON format.
  • --sub-partition: For a primary disk, add this flag to display the primary disk and its sub-partitions.
+

None

+

update-device

+

Updates the disk QoS.

+

Supported options are as follows:

+
  • --device-read-bps: sets the read rate limit for the block device (byte/s). You are advised to set this parameter to a value greater than or equal to 1024.
  • --device-read-iops: sets the read rate limit for the block device (I/O/s).
  • --device-write-bps: sets the write rate limit for the block device (byte/s). You are advised to set this parameter to a value greater than or equal to 1024.
  • --device-write-iops: sets the write rate limit for the block device (I/O/s).
+

None

+
+ +## Constraints + +- You can add or delete devices when container instances are not running. After the operation is complete, you can start the container to view the device status. You can also dynamically add a device when the container is running. +- Do not concurrently run the **fdisk** command to format disks in a container and on the host. Otherwise, the container disk usage will be affected. +- When you run the **add-device** command to add a disk to a specific directory of a container, if the parent directory in the container is a multi-level directory \(for example, **/dev/a/b/c/d/e**\) and the directory level does not exist, isulad-tools will automatically create the corresponding directory in the container. When the disk is deleted, the created parent directory is not deleted. If you run the **add-device** command to add a device to this parent directory again, a message is displayed, indicating that a device already exists and cannot be added. +- When you run the** add-device** command to add a disk or update disk parameters, you need to configure the disk QoS. Do not set the write or read rate limit for the block device \(I/O/s or byte/s\) to a small value. If the value is too small, the disk may be unreadable \(the actual reason is the speed is too slow\), affecting service functions. +- When you run the **--blkio-weight-device** command to limit the weight of a specified block device, if the block device supports only the BFQ mode, an error may be reported, prompting you to check whether the current OS environment supports setting the weight of the BFQ block device. + +## Example + +- Start a system container, and set **hook spec** to the isulad hook execution script. + + ``` + [root@localhost ~]# isula run -tid --hook-spec /etc/isulad-tools/hookspec.json --system-container --external-rootfs /root/root-fs none init + eed1096c8c7a0eca6d92b1b3bc3dd59a2a2adf4ce44f18f5372408ced88f8350 + ``` + + +- Add a block device to a container. + + ``` + [root@localhost ~]# isulad-tools add-device ee /dev/sdb:/dev/sdb123 + Add device (/dev/sdb) to container(ee,/dev/sdb123) done. + [root@localhost ~]# isula exec ee fdisk -l /dev/sdb123 + Disk /dev/sdb123: 50 GiB, 53687091200 bytes, 104857600 sectors + Units: sectors of 1 * 512 = 512 bytes + Sector size (logical/physical): 512 bytes / 512 bytes + I/O size (minimum/optimal): 512 bytes / 512 bytes + Disklabel type: dos + Disk identifier: 0xda58a448 + + Device Boot Start End Sectors Size Id Type + /dev/sdb123p1 2048 104857599 104855552 50G 5 Extended + /dev/sdb123p5 4096 104857599 104853504 50G 83 Linux + ``` + +- Update the device information. + + ``` + [root@localhost ~]# isulad-tools update-device --device-read-bps /dev/sdb:10m ee + Update read bps for device (/dev/sdb,10485760) done. + ``` + +- Delete a device. + + ``` + [root@localhost ~]# isulad-tools remove-device ee /dev/sdb:/dev/sdb123 + Remove device (/dev/sdb) from container(ee,/dev/sdb123) done. + Remove read bps for device (/dev/sdb) done. + ``` + + diff --git a/content/en/docs/Container/devicemapper-storage-driver-configuration-35.md b/content/en/docs/Container/devicemapper-storage-driver-configuration-35.md new file mode 100644 index 000000000..1b45dc7c6 --- /dev/null +++ b/content/en/docs/Container/devicemapper-storage-driver-configuration-35.md @@ -0,0 +1,46 @@ +# devicemapper Storage Driver Configuration + +If you need to set the storage driver of Docker to devicemapper, you can also use either of the following methods to check or configure the driver: + +- Edit the **/etc/docker/daemon.json** file to check or configure the **storage-driver** field. + + ``` + cat /etc/docker/daemon.json + { + "storage-driver": "devicemapper" + } + ``` + + +- Edit the **/etc/sysconfig/docker-storage** file and check or configure the Docker daemon startup parameters. + + ``` + cat /etc/sysconfig/docker-storage + DOCKER_STORAGE_OPTIONS="--storage-driver=devicemapper" + ``` + + +## Precautions + +- To use devicemapper, you must use the direct-lvm mode. For details about the configuration method, refer to [https://docs.docker.com/engine/userguide/storagedriver/device-mapper-driver/\#configure-direct-lvm-mode-for-production](https://docs.docker.com/engine/userguide/storagedriver/device-mapper-driver/#configure-direct-lvm-mode-for-production). +- When configuring devicemapper, if the system does not have sufficient space for automatic capacity expansion of thinpool, disable the automatic capacity expansion function. +- Do not set both the following two parameters in the **/etc/lvm/profile/docker-thinpool.profile** file to **100**: + + ``` + activation { + thin_pool_autoextend_threshold=80 + thin_pool_autoextend_percent=20 + } + ``` + +- You are advised to add **--storage-opt dm.use\_deferred\_deletion=true** and **--storage-opt dm.use\_deferred\_removal=true** when using devicemapper. +- When devicemapper is used, you are advised to use Ext4 as the container file system. You need to add **--storage-opt dm.fs=ext4** to the configuration parameters of Docker daemon. +- If graphdriver is devicemapper and the metadata files are damaged and cannot be restored, you need to manually restore the metadata files. Do not directly operate or tamper with metadata of the devicemapper storage driver in Docker daemon. +- When the devicemapper LVM is used, if the devicemapper thinpool is damaged due to abnormal power-off, you cannot ensure the data integrity or whether the damaged thinpool can be restored. Therefore, you need to rebuild the thinpool. + +**Precautions for Switching the devicemapper Storage Pool When the User Namespace Feature Is Enabled on Docker Daemon** + +- Generally, the path of the deviceset-metadata file is **/var/lib/docker/devicemapper/metadata/deviceset-metadata** during container startup. +- If user namespaces are used, the path of the deviceset-metadata file is **/var/lib/docker/**_userNSUID.GID_**/devicemapper/metadata/deviceset-metadata**. +- When you use the devicemapper storage driver and the container is switched between the user namespace scenario and common scenario, the **BaseDeviceUUID** content in the corresponding deviceset-metadata file needs to be cleared. In the thinpool capacity expansion or rebuild scenario, you also need to clear the **BaseDeviceUUID** content in the deviceset-metadata file. Otherwise, the Docker service fails to be restarted. + diff --git a/content/en/docs/Container/devicemapper-storage-driver-configuration.md b/content/en/docs/Container/devicemapper-storage-driver-configuration.md new file mode 100644 index 000000000..9e492e44f --- /dev/null +++ b/content/en/docs/Container/devicemapper-storage-driver-configuration.md @@ -0,0 +1,173 @@ +# devicemapper Storage Driver Configuration + +To use the devicemapper storage driver, you need to configure a thinpool device which requires an independent block device with sufficient free space. Take the independent block device **/dev/xvdf** as an example. The configuration method is as follows: + +1. Configuring a thinpool + +1. Stop the iSulad service. + + ``` + # systemctl stop isulad + ``` + +2. Create a logical volume manager \(LVM\) volume based on the block device. + + ``` + # pvcreate /dev/xvdf + ``` + +3. Create a volume group based on the created physical volume. + + ``` + # vgcreate isula /dev/xvdf + Volume group "isula" successfully created: + ``` + +4. Create two logical volumes named **thinpool** and **thinpoolmeta**. + + ``` + # lvcreate --wipesignatures y -n thinpool isula -l 95%VG + Logical volume "thinpool" created. + ``` + + ``` + # lvcreate --wipesignatures y -n thinpoolmeta isula -l 1%VG + Logical volume "thinpoolmeta" created. + ``` + +5. Convert the two logical volumes into a thinpool and the metadata used by the thinpool. + + ``` + # lvconvert -y --zero n -c 512K --thinpool isula/thinpool --poolmetadata isula/thinpoolmeta + + WARNING: Converting logical volume isula/thinpool and isula/thinpoolmeta to + thin pool's data and metadata volumes with metadata wiping. + THIS WILL DESTROY CONTENT OF LOGICAL VOLUME (filesystem etc.) + Converted isula/thinpool to thin pool. + ``` + + +   + +2. Modifying the iSulad configuration files + +1. If iSulad has been used in the environment, back up the running data first. + + ``` + # mkdir /var/lib/isulad.bk + # mv /var/lib/isulad/* /var/lib/isulad.bk + ``` + +2. Modify configuration files. + + Two configuration methods are provided. Select one based on site requirements. + + - Edit the **/etc/isulad/daemon.json** file, set **storage-driver** to **devicemapper**, and set parameters related to the **storage-opts** field. For details about related parameters, see [Parameter Description](#en-us_topic_0222861454_section1712923715282). The following lists the configuration reference: + + ``` + { + "storage-driver": "devicemapper" + "storage-opts": [ + "dm.thinpooldev=/dev/mapper/isula-thinpool", + "dm.fs=ext4", + "dm.min_free_space=10%" + ] + } + ``` + + - You can also edit **/etc/sysconfig/iSulad** to explicitly specify related iSulad startup parameters. For details about related parameters, see [Parameter Description](#en-us_topic_0222861454_section1712923715282). The following lists the configuration reference: + + ``` + OPTIONS="--storage-driver=devicemapper --storage-opt dm.thinpooldev=/dev/mapper/isula-thinpool --storage-opt dm.fs=ext4 --storage-opt dm.min_free_space=10%" + ``` + +3. Start iSulad for the settings to take effect. + + ``` + # systemctl start isulad + ``` + + +## Parameter Description + +For details about parameters supported by storage-opts, see [Table 1](#en-us_topic_0222861454_table3191161993812). + +**Table 1** Parameter description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Parameter

+

Mandatory or Not

+

Description

+

dm.fs

+

Yes

+

Specifies the type of the file system used by a container. This parameter must be set to ext4, that is, dm.fs=ext4.

+

dm.basesize

+

No

+

Specifies the maximum storage space of a single container. The unit can be k, m, g, t, or p. An uppercase letter can also be used, for example, dm.basesize=50G. This parameter is valid only during the first initialization.

+

dm.mkfsarg

+

No

+

Specifies the additional mkfs parameters when a basic device is created. For example: dm.mkfsarg=-O ^has_journal

+

dm.mountopt

+

No

+

Specifies additional mount parameters when a container is mounted. For example: dm.mountopt=nodiscard

+

dm.thinpooldev

+

No

+

Specifies the thinpool device used for container or image storage.

+

dm.min_free_space

+

No

+

Specifies minimum percentage of reserved space. For example, dm.min_free_space=10% indicates that storage-related operations such as container creation will fail when the remaining storage space falls below 10%.

+
+ +## Precautions + +- When configuring devicemapper, if the system does not have sufficient space for automatic capacity expansion of thinpool, disable the automatic capacity expansion function. + + To disable automatic capacity expansion, set both **thin\_pool\_autoextend\_threshold** and **thin\_pool\_autoextend\_percent** in the **/etc/lvm/profile/isula-thinpool.profile** file to **100**. + + ``` + activation { + thin_pool_autoextend_threshold=100 + thin_pool_autoextend_percent=100 + } + ``` + +- When devicemapper is used, use Ext4 as the container file system. You need to add **--storage-opt dm.fs=ext4** to the iSulad configuration parameters. +- If graphdriver is devicemapper and the metadata files are damaged and cannot be restored, you need to manually restore the metadata files. Do not directly operate or tamper with metadata of the devicemapper storage driver in Docker daemon. +- When the devicemapper LVM is used, if the devicemapper thinpool is damaged due to abnormal power-off, you cannot ensure the data integrity or whether the damaged thinpool can be restored. Therefore, you need to rebuild the thinpool. + +**Precautions for Switching the devicemapper Storage Pool When the User Namespace Feature Is Enabled on iSula** + +- Generally, the path of the deviceset-metadata file is **/var/lib/isulad/devicemapper/metadata/deviceset-metadata** during container startup. +- If user namespaces are used, the path of the deviceset-metadata file is **/var/lib/isulad/**_userNSUID.GID_**/devicemapper/metadata/deviceset-metadata**. +- When you use the devicemapper storage driver and the container is switched between the user namespace scenario and common scenario, the **BaseDeviceUUID** content in the corresponding deviceset-metadata file needs to be cleared. In the thinpool capacity expansion or rebuild scenario, you also need to clear the **BaseDeviceUUID** content in the deviceset-metadata file. Otherwise, the iSulad service fails to be restarted. + diff --git a/content/en/docs/Container/diff.md b/content/en/docs/Container/diff.md new file mode 100644 index 000000000..e4d940bae --- /dev/null +++ b/content/en/docs/Container/diff.md @@ -0,0 +1,19 @@ +# diff + +Syntax: **docker diff** _container_ + +Function: Checks the differences between containers and determines the changes have been made compared with the container creation. + +Parameter description: none. + +Example: + +``` +$ sudo docker diff registry +C /root +A /root/.bash_history +A /test +``` + +   + diff --git a/content/en/docs/Container/displaying-resource-usage-statistics-of-a-container.md b/content/en/docs/Container/displaying-resource-usage-statistics-of-a-container.md new file mode 100644 index 000000000..099ca4120 --- /dev/null +++ b/content/en/docs/Container/displaying-resource-usage-statistics-of-a-container.md @@ -0,0 +1,57 @@ +# Displaying Resource Usage Statistics of a Container + +## Description + +To display resource usage statistics in real time, run the **isula stats** command. Only containers whose runtime is of the LCR type are supported. + +## **Usage** + +``` +isula stats [OPTIONS] [CONTAINER...] +``` + +## Parameters + +The following table lists the parameters supported by the **stats** command. + +**Table 1** Parameter description + + + + + + + + + + + + + + + + + +

Command

+

Parameter

+

Description

+

stats

+

  

+

  

+

-H, --host

+

Specifies the iSulad socket file path to be accessed.

+

-a, --all

+

Displays all containers. (By default, only running containers are displayed.)

+

--no-stream

+

Display the first result only. Only statistics in non-stream mode are displayed.

+
+ +## Example + +Display resource usage statistics. + +``` +$ isula stats --no-stream 21fac8bb9ea8e0be4313c8acea765c8b4798b7d06e043bbab99fc20efa72629c CONTAINER CPU % MEM USAGE / LIMIT MEM % BLOCK I / O PIDS +21fac8bb9ea8 0.00 56.00 KiB / 7.45 GiB 0.00 0.00 B / 0.00 B 1 +``` + diff --git a/content/en/docs/Container/do-not-modify-private-directory-of-docker-daemon.md b/content/en/docs/Container/do-not-modify-private-directory-of-docker-daemon.md new file mode 100644 index 000000000..34b2d6798 --- /dev/null +++ b/content/en/docs/Container/do-not-modify-private-directory-of-docker-daemon.md @@ -0,0 +1,4 @@ +# Do Not Modify Private Directory of Docker Daemon + +Do not modify the root directory used by Docker \(**/var/lib/docker** by default\), the directory during operation \(**/run/docker** by default\), or the files or directories in the two directories. The forbidden operations include deleting files, adding files, creating soft or hard links for the directories or files, or modifying attributes, permissions, or contents of the files. If any modification is required, contact the Euler container team for review. + diff --git a/content/en/docs/Container/docker-container.md b/content/en/docs/Container/docker-container.md new file mode 100644 index 000000000..b635d3134 --- /dev/null +++ b/content/en/docs/Container/docker-container.md @@ -0,0 +1,5 @@ +# Docker Container + + + + diff --git a/content/en/docs/Container/docker-image-management.md b/content/en/docs/Container/docker-image-management.md new file mode 100644 index 000000000..078d7c88e --- /dev/null +++ b/content/en/docs/Container/docker-image-management.md @@ -0,0 +1,5 @@ +# Docker Image Management + + + + diff --git a/content/en/docs/Container/dynamically-loading-the-kernel-module.md b/content/en/docs/Container/dynamically-loading-the-kernel-module.md new file mode 100644 index 000000000..695202479 --- /dev/null +++ b/content/en/docs/Container/dynamically-loading-the-kernel-module.md @@ -0,0 +1,53 @@ +# Dynamically Loading the Kernel Module + +## Function Description + +Services in a container may depend on some kernel modules. You can set environment variables to dynamically load the kernel modules required by services in the container to the host before the system container starts. This feature must be used together with isulad-hooks. For details, see [Dynamically Managing Container Resources \(syscontainer-tools\)](dynamically-managing-container-resources-(syscontainer-tools).md). + +## Parameter Description + + + + + + + + + + + + +

Command

+

Parameter

+

Value Description

+

isula create/run

+

-e KERNEL_MODULES=module_name1,module_name

+
  • Variable of the string type.
  • This parameter can be set to multiple modules. Use commas (,) to separate module names.
+
+ +## Constraints + +- If loaded kernel modules are not verified or conflict with existing modules on the host, an unpredictable error may occur on the host. Therefore, exercise caution when loading kernel modules. +- Dynamic kernel module loading transfers kernel modules to be loaded to containers. This function is implemented by capturing environment variables for container startup using isulad-tools. Therefore, this function relies on the proper installation and deployment of isulad-tools. +- Loaded kernel modules need to be manually deleted. + +## Example + +When starting a system container, specify the **-e KERNEL\_MODULES** parameter. After the system container is started, the ip\_vs module is successfully loaded to the kernel. + +``` +[root@localhost ~]# lsmod | grep ip_vs +[root@localhost ~]# isula run -tid -e KERNEL_MODULES=ip_vs,ip_vs_wrr --hook-spec /etc/isulad-tools/hookspec.json --system-container --external-rootfs /root/myrootfs none init +ae18c4281d5755a1e153a7bff6b3b4881f36c8e528b9baba8a3278416a5d0980 +[root@localhost ~]# lsmod | grep ip_vs +ip_vs_wrr 16384 0 +ip_vs 176128 2 ip_vs_wrr +nf_conntrack 172032 7 xt_conntrack,nf_nat,nf_nat_ipv6,ipt_MASQUERADE,nf_nat_ipv4,nf_conntrack_netlink,ip_vs +nf_defrag_ipv6 20480 2 nf_conntrack,ip_vs +libcrc32c 16384 3 nf_conntrack,nf_nat,ip_vs +``` + +>![](public_sys-resources/icon-note.gif) **NOTE:** +>- isulad-tools must be installed on the host. +>- **--hooks-spec** must be set to **isulad hooks**. + diff --git a/content/en/docs/Container/dynamically-managing-container-resources-(syscontainer-tools).md b/content/en/docs/Container/dynamically-managing-container-resources-(syscontainer-tools).md new file mode 100644 index 000000000..0d2a1576d --- /dev/null +++ b/content/en/docs/Container/dynamically-managing-container-resources-(syscontainer-tools).md @@ -0,0 +1,11 @@ +# Dynamically Managing Container Resources \(syscontainer-tools\) + +Resources in common containers cannot be managed. For example, a block device cannot be added to a common container, and a physical or virtual NIC cannot be inserted to a common container. In the system container scenario, the syscontainer-tools can be used to dynamically mount or unmount block devices, network devices, routes, and volumes for containers. + +To use this function, you need to install the syscontainer-tools first. + +``` +[root@localhost ~]# yum install syscontainer-tools +``` + + diff --git a/content/en/docs/Container/embedded-image-management.md b/content/en/docs/Container/embedded-image-management.md new file mode 100644 index 000000000..509d97fd8 --- /dev/null +++ b/content/en/docs/Container/embedded-image-management.md @@ -0,0 +1,2 @@ +# Embedded Image Management + diff --git a/content/en/docs/Container/en-us_bookmap_0183409509.md b/content/en/docs/Container/en-us_bookmap_0183409509.md new file mode 100644 index 000000000..18cd8bf12 --- /dev/null +++ b/content/en/docs/Container/en-us_bookmap_0183409509.md @@ -0,0 +1,313 @@ + # Container User Guide +- [Container User Guide]({{< relref "./docs/Container/container.md" >}}) + - [Terms of Use]({{< relref "./docs/Container/terms-of-use.md" >}}) + - [About This Document ]({{< relref "./docs/Container/about-this-document.md" >}}) + - [iSulad Container Engine]({{< relref "./docs/Container/isulad-container-engine.md" >}}) + - [Overview]({{< relref "./docs/Container/overview.md" >}}) + - [Installation and Deployment]({{< relref "./docs/Container/installation-and-deployment.md" >}}) + - [Installation Methods]({{< relref "./docs/Container/installation-methods.md" >}}) + - [Upgrade Methods]({{< relref "./docs/Container/upgrade-methods.md" >}}) + - [Deployment Configuration]({{< relref "./docs/Container/deployment-configuration.md" >}}) + - [Deployment Mode]({{< relref "./docs/Container/deployment-mode.md" >}}) + - [Storage Description]({{< relref "./docs/Container/storage-description.md" >}}) + - [Constraints]({{< relref "./docs/Container/constraints.md" >}}) + - [Daemon Multi-Port Binding]({{< relref "./docs/Container/daemon-multi-port-binding.md" >}}) + - [Configuring TLS Authentication and Enabling Remote Access]({{< relref "./docs/Container/configuring-tls-authentication-and-enabling-remote-access.md" >}}) + - [devicemapper Storage Driver Configuration]({{< relref "./docs/Container/devicemapper-storage-driver-configuration.md" >}}) + + - [Uninstallation]({{< relref "./docs/Container/uninstallation.md" >}}) + + - [Application Scenarios]({{< relref "./docs/Container/application-scenarios.md" >}}) + - [Container Management]({{< relref "./docs/Container/container-management.md" >}}) + - [Creating a Container]({{< relref "./docs/Container/creating-a-container.md" >}}) + - [Starting a Container]({{< relref "./docs/Container/starting-a-container.md" >}}) + - [Running a Container]({{< relref "./docs/Container/running-a-container.md" >}}) + - [Stopping a Container]({{< relref "./docs/Container/stopping-a-container.md" >}}) + - [Forcibly Stopping a Container]({{< relref "./docs/Container/forcibly-stopping-a-container.md" >}}) + - [Removing a Container]({{< relref "./docs/Container/removing-a-container.md" >}}) + - [Attaching to a Container]({{< relref "./docs/Container/attaching-to-a-container.md" >}}) + - [Renaming a Container]({{< relref "./docs/Container/renaming-a-container.md" >}}) + - [Executing a Command in a Running Container]({{< relref "./docs/Container/executing-a-command-in-a-running-container.md" >}}) + - [Querying Information About a Single Container]({{< relref "./docs/Container/querying-information-about-a-single-container.md" >}}) + - [Querying Information About All Containers]({{< relref "./docs/Container/querying-information-about-all-containers.md" >}}) + - [Restarting a Container]({{< relref "./docs/Container/restarting-a-container.md" >}}) + - [Waiting for a Container to Exit]({{< relref "./docs/Container/waiting-for-a-container-to-exit.md" >}}) + - [Viewing Process Information in a Container]({{< relref "./docs/Container/viewing-process-information-in-a-container.md" >}}) + - [Displaying Resource Usage Statistics of a Container]({{< relref "./docs/Container/displaying-resource-usage-statistics-of-a-container.md" >}}) + - [Obtaining Container Logs]({{< relref "./docs/Container/obtaining-container-logs.md" >}}) + - [Copying Data Between a Container and a Host]({{< relref "./docs/Container/copying-data-between-a-container-and-a-host.md" >}}) + - [Pausing a Container]({{< relref "./docs/Container/pausing-a-container.md" >}}) + - [Resuming a Container]({{< relref "./docs/Container/resuming-a-container.md" >}}) + - [Obtaining Event Messages from the Server in Real Time]({{< relref "./docs/Container/obtaining-event-messages-from-the-server-in-real-time.md" >}}) + + - [Interconnection with the CNI Network]({{< relref "./docs/Container/interconnection-with-the-cni-network.md" >}}) + - [Overview]({{< relref "./docs/Container/overview-0.md" >}}) + - [Common CNIs]({{< relref "./docs/Container/common-cnis.md" >}}) + - [CNI Network Configuration Description]({{< relref "./docs/Container/cni-network-configuration-description.md" >}}) + - [Adding a Pod to the CNI Network List]({{< relref "./docs/Container/adding-a-pod-to-the-cni-network-list.md" >}}) + - [Removing a Pod from the CNI Network List]({{< relref "./docs/Container/removing-a-pod-from-the-cni-network-list.md" >}}) + + - [Usage Restrictions]({{< relref "./docs/Container/usage-restrictions.md" >}}) + + - [Container Resource Management]({{< relref "./docs/Container/container-resource-management.md" >}}) + - [Sharing Resources]({{< relref "./docs/Container/sharing-resources.md" >}}) + - [Restricting CPU Resources of a Running Container]({{< relref "./docs/Container/restricting-cpu-resources-of-a-running-container.md" >}}) + - [Restricting the Memory Usage of a Running Container]({{< relref "./docs/Container/restricting-the-memory-usage-of-a-running-container.md" >}}) + - [Restricting I/O Resources of a Running Container]({{< relref "./docs/Container/restricting-i-o-resources-of-a-running-container.md" >}}) + - [Restricting the Rootfs Storage Space of a Container]({{< relref "./docs/Container/restricting-the-rootfs-storage-space-of-a-container.md" >}}) + - [Restricting the Number of File Handles in a Container]({{< relref "./docs/Container/restricting-the-number-of-file-handles-in-a-container.md" >}}) + - [Restricting the Number of Processes or Threads that Can Be Created in a Container]({{< relref "./docs/Container/restricting-the-number-of-processes-or-threads-that-can-be-created-in-a-container.md" >}}) + - [Configuring the ulimit Value in a Container]({{< relref "./docs/Container/configuring-the-ulimit-value-in-a-container.md" >}}) + + - [Privileged Container]({{< relref "./docs/Container/privileged-container.md" >}}) + - [Scenarios]({{< relref "./docs/Container/scenarios.md" >}}) + - [Usage Restrictions]({{< relref "./docs/Container/usage-restrictions-1.md" >}}) + - [Usage Guide]({{< relref "./docs/Container/usage-guide.md" >}}) + + - [CRI]({{< relref "./docs/Container/cri.md" >}}) + - [Description]({{< relref "./docs/Container/description.md" >}}) + - [APIs]({{< relref "./docs/Container/apis.md" >}}) + - [Runtime Service]({{< relref "./docs/Container/runtime-service.md" >}}) + - [RunPodSandbox]({{< relref "./docs/Container/runpodsandbox.md" >}}) + - [StopPodSandbox]({{< relref "./docs/Container/stoppodsandbox.md" >}}) + - [RemovePodSandbox]({{< relref "./docs/Container/removepodsandbox.md" >}}) + - [PodSandboxStatus]({{< relref "./docs/Container/podsandboxstatus.md" >}}) + - [ListPodSandbox]({{< relref "./docs/Container/listpodsandbox.md" >}}) + - [CreateContainer]({{< relref "./docs/Container/createcontainer.md" >}}) + - [StartContainer]({{< relref "./docs/Container/startcontainer.md" >}}) + - [StopContainer]({{< relref "./docs/Container/stopcontainer.md" >}}) + - [RemoveContainer]({{< relref "./docs/Container/removecontainer.md" >}}) + - [ListContainers]({{< relref "./docs/Container/listcontainers.md" >}}) + - [ContainerStatus]({{< relref "./docs/Container/containerstatus.md" >}}) + - [UpdateContainerResources]({{< relref "./docs/Container/updatecontainerresources.md" >}}) + - [ExecSync]({{< relref "./docs/Container/execsync.md" >}}) + - [Exec]({{< relref "./docs/Container/exec.md" >}}) + - [Attach]({{< relref "./docs/Container/attach.md" >}}) + - [ContainerStats]({{< relref "./docs/Container/containerstats.md" >}}) + - [ListContainerStats]({{< relref "./docs/Container/listcontainerstats.md" >}}) + - [UpdateRuntimeConfig]({{< relref "./docs/Container/updateruntimeconfig.md" >}}) + - [Status]({{< relref "./docs/Container/status.md" >}}) + + - [Image Service]({{< relref "./docs/Container/image-service.md" >}}) + - [ListImages]({{< relref "./docs/Container/listimages.md" >}}) + - [ImageStatus]({{< relref "./docs/Container/imagestatus.md" >}}) + - [PullImage]({{< relref "./docs/Container/pullimage.md" >}}) + - [RemoveImage]({{< relref "./docs/Container/removeimage.md" >}}) + - [ImageFsInfo]({{< relref "./docs/Container/imagefsinfo.md" >}}) + + + - [Constraints]({{< relref "./docs/Container/constraints-2.md" >}}) + + - [Image Management]({{< relref "./docs/Container/image-management.md" >}}) + - [Docker Image Management]({{< relref "./docs/Container/docker-image-management.md" >}}) + - [Logging In to a Registry]({{< relref "./docs/Container/logging-in-to-a-registry.md" >}}) + - [Logging Out of a Registry]({{< relref "./docs/Container/logging-out-of-a-registry.md" >}}) + - [Pulling Images from a Registry]({{< relref "./docs/Container/pulling-images-from-a-registry.md" >}}) + - [Deleting Images]({{< relref "./docs/Container/deleting-images.md" >}}) + - [Loading Images]({{< relref "./docs/Container/loading-images.md" >}}) + - [Listing Images]({{< relref "./docs/Container/listing-images.md" >}}) + - [Inspecting Images]({{< relref "./docs/Container/inspecting-images.md" >}}) + - [Two-Way Authentication]({{< relref "./docs/Container/two-way-authentication.md" >}}) + + - [Embedded Image Management]({{< relref "./docs/Container/embedded-image-management.md" >}}) + - [Loading Images]({{< relref "./docs/Container/loading-images-3.md" >}}) + - [Listing Images]({{< relref "./docs/Container/listing-images-4.md" >}}) + - [Inspecting Images]({{< relref "./docs/Container/inspecting-images-5.md" >}}) + - [Deleting Images]({{< relref "./docs/Container/deleting-images-6.md" >}}) + + + - [Checking the Container Health Status]({{< relref "./docs/Container/checking-the-container-health-status.md" >}}) + - [Scenarios]({{< relref "./docs/Container/scenarios-7.md" >}}) + - [Configuration Methods]({{< relref "./docs/Container/configuration-methods.md" >}}) + - [Check Rules]({{< relref "./docs/Container/check-rules.md" >}}) + - [Usage Restrictions]({{< relref "./docs/Container/usage-restrictions-8.md" >}}) + + - [Querying Information]({{< relref "./docs/Container/querying-information.md" >}}) + - [Querying the Service Version]({{< relref "./docs/Container/querying-the-service-version.md" >}}) + - [Querying System-level Information]({{< relref "./docs/Container/querying-system-level-information.md" >}}) + + - [Security Features]({{< relref "./docs/Container/security-features.md" >}}) + - [Seccomp Security Configuration]({{< relref "./docs/Container/seccomp-security-configuration.md" >}}) + - [Scenarios]({{< relref "./docs/Container/scenarios-9.md" >}}) + - [Usage Restrictions]({{< relref "./docs/Container/usage-restrictions-10.md" >}}) + - [Usage Guide]({{< relref "./docs/Container/usage-guide-11.md" >}}) + + - [capabilities Security Configuration]({{< relref "./docs/Container/capabilities-security-configuration.md" >}}) + - [Scenarios]({{< relref "./docs/Container/scenarios-12.md" >}}) + - [Usage Restrictions]({{< relref "./docs/Container/usage-restrictions-13.md" >}}) + - [Usage Guide]({{< relref "./docs/Container/usage-guide-14.md" >}}) + + - [SELinux Security Configuration]({{< relref "./docs/Container/selinux-security-configuration.md" >}}) + - [Scenarios]({{< relref "./docs/Container/scenarios-15.md" >}}) + - [Usage Restrictions]({{< relref "./docs/Container/usage-restrictions-16.md" >}}) + - [Usage Guide]({{< relref "./docs/Container/usage-guide-17.md" >}}) + + + - [Supporting OCI hooks]({{< relref "./docs/Container/supporting-oci-hooks.md" >}}) + - [Description]({{< relref "./docs/Container/description-18.md" >}}) + - [APIs]({{< relref "./docs/Container/apis-19.md" >}}) + - [Usage Restrictions]({{< relref "./docs/Container/usage-restrictions-20.md" >}}) + + + - [Appendix]({{< relref "./docs/Container/appendix.md" >}}) + - [Command Line Parameters]({{< relref "./docs/Container/command-line-parameters.md" >}}) + - [CNI Parameters]({{< relref "./docs/Container/cni-parameters.md" >}}) + + + - [System Container]({{< relref "./docs/Container/system-container.md" >}}) + - [Overview]({{< relref "./docs/Container/overview-21.md" >}}) + - [Installation Guideline]({{< relref "./docs/Container/installation-guideline.md" >}}) + - [Usage Guide]({{< relref "./docs/Container/usage-guide-22.md" >}}) + - [Introduction]({{< relref "./docs/Container/introduction.md" >}}) + - [Specifying Rootfs to Create a Container]({{< relref "./docs/Container/specifying-rootfs-to-create-a-container.md" >}}) + - [Using systemd to Start a Container]({{< relref "./docs/Container/using-systemd-to-start-a-container.md" >}}) + - [Reboot or Shutdown in a Container]({{< relref "./docs/Container/reboot-or-shutdown-in-a-container.md" >}}) + - [Configurable Cgroup Path]({{< relref "./docs/Container/configurable-cgroup-path.md" >}}) + - [Writable Namespace Kernel Parameters]({{< relref "./docs/Container/writable-namespace-kernel-parameters.md" >}}) + - [Shared Memory Channels]({{< relref "./docs/Container/shared-memory-channels.md" >}}) + - [Dynamically Loading the Kernel Module]({{< relref "./docs/Container/dynamically-loading-the-kernel-module.md" >}}) + - [Environment Variable Persisting]({{< relref "./docs/Container/environment-variable-persisting.md" >}}) + - [Maximum Number of Handles]({{< relref "./docs/Container/maximum-number-of-handles.md" >}}) + - [Security and Isolation]({{< relref "./docs/Container/security-and-isolation.md" >}}) + - [Many-to-Many User Namespaces]({{< relref "./docs/Container/many-to-many-user-namespaces.md" >}}) + - [User Permission Control]({{< relref "./docs/Container/user-permission-control.md" >}}) + - [proc File System Isolation \(Lxcfs\)]({{< relref "./docs/Container/proc-file-system-isolation-(lxcfs).md" >}}) + + - [Dynamically Managing Container Resources \(syscontainer-tools\)]({{< relref "./docs/Container/dynamically-managing-container-resources-(syscontainer-tools).md" >}}) + - [Device Management]({{< relref "./docs/Container/device-management.md" >}}) + - [NIC Management]({{< relref "./docs/Container/nic-management.md" >}}) + - [Route Management]({{< relref "./docs/Container/route-management.md" >}}) + - [Volume Mounting Management]({{< relref "./docs/Container/volume-mounting-management.md" >}}) + + + - [Appendix]({{< relref "./docs/Container/appendix-23.md" >}}) + - [Command Line Interface List]({{< relref "./docs/Container/command-line-interface-list.md" >}}) + + + - [Secure Container]({{< relref "./docs/Container/secure-container.md" >}}) + - [Overview]({{< relref "./docs/Container/overview-24.md" >}}) + - [Installation and Deployment]({{< relref "./docs/Container/installation-and-deployment-25.md" >}}) + - [Installation Methods]({{< relref "./docs/Container/installation-methods-26.md" >}}) + - [Deployment Configuration]({{< relref "./docs/Container/deployment-configuration-27.md" >}}) + - [Configuring the Docker Engine]({{< relref "./docs/Container/configuring-the-docker-engine.md" >}}) + - [iSulad Configuration]({{< relref "./docs/Container/isulad-configuration.md" >}}) + - [Configuration.toml]({{< relref "./docs/Container/configuration-toml.md" >}}) + + + - [Application Scenarios]({{< relref "./docs/Container/application-scenarios-28.md" >}}) + - [Managing the Lifecycle of a Secure Container]({{< relref "./docs/Container/managing-the-lifecycle-of-a-secure-container.md" >}}) + - [Starting a Secure Container]({{< relref "./docs/Container/starting-a-secure-container.md" >}}) + - [Stopping a Secure Container]({{< relref "./docs/Container/stopping-a-secure-container.md" >}}) + - [Deleting a Secure Container]({{< relref "./docs/Container/deleting-a-secure-container.md" >}}) + - [Running a New Command in the Container]({{< relref "./docs/Container/running-a-new-command-in-the-container.md" >}}) + + - [Configuring Resources for a Secure Container]({{< relref "./docs/Container/configuring-resources-for-a-secure-container.md" >}}) + - [Sharing Resources]({{< relref "./docs/Container/sharing-resources-29.md" >}}) + - [Limiting CPU Resources]({{< relref "./docs/Container/limiting-cpu-resources.md" >}}) + - [Limiting Memory Resources]({{< relref "./docs/Container/limiting-memory-resources.md" >}}) + - [Limiting Block I/O Resources]({{< relref "./docs/Container/limiting-block-i-o-resources.md" >}}) + - [Limiting File Descriptor Resources]({{< relref "./docs/Container/limiting-file-descriptor-resources.md" >}}) + + - [Configuring Networking for a Secure Container]({{< relref "./docs/Container/configuring-networking-for-a-secure-container.md" >}}) + - [Monitoring Secure Containers]({{< relref "./docs/Container/monitoring-secure-containers.md" >}}) + + - [Appendix]({{< relref "./docs/Container/appendix-30.md" >}}) + - [configuration.toml]({{< relref "./docs/Container/configuration-toml-31.md" >}}) + - [APIs]({{< relref "./docs/Container/apis-32.md" >}}) + + + - [Docker Container]({{< relref "./docs/Container/docker-container.md" >}}) + - [Overview]({{< relref "./docs/Container/overview-33.md" >}}) + - [Installation and Deployment]({{< relref "./docs/Container/installation-and-deployment-34.md" >}}) + - [Installation Configurations and Precautions]({{< relref "./docs/Container/installation-configurations-and-precautions.md" >}}) + - [Precautions]({{< relref "./docs/Container/precautions.md" >}}) + - [Basic Installation Configuration]({{< relref "./docs/Container/basic-installation-configuration.md" >}}) + - [Daemon Parameter Configuration]({{< relref "./docs/Container/daemon-parameter-configuration.md" >}}) + - [Daemon Running Directory Configuration]({{< relref "./docs/Container/daemon-running-directory-configuration.md" >}}) + - [Daemon Network Configuration]({{< relref "./docs/Container/daemon-network-configuration.md" >}}) + - [Daemon umask Configuration]({{< relref "./docs/Container/daemon-umask-configuration.md" >}}) + - [Daemon Start Time]({{< relref "./docs/Container/daemon-start-time.md" >}}) + - [Journald Component]({{< relref "./docs/Container/journald-component.md" >}}) + - [Firewalld Component]({{< relref "./docs/Container/firewalld-component.md" >}}) + - [Iptables Component]({{< relref "./docs/Container/iptables-component.md" >}}) + - [Audit Component]({{< relref "./docs/Container/audit-component.md" >}}) + - [Security Configuration seccomp]({{< relref "./docs/Container/security-configuration-seccomp.md" >}}) + - [Do Not Modify Private Directory of Docker Daemon]({{< relref "./docs/Container/do-not-modify-private-directory-of-docker-daemon.md" >}}) + - [Precautions for Common Users in the Scenario Where a Large Number of Containers Are Deployed]({{< relref "./docs/Container/precautions-for-common-users-in-the-scenario-where-a-large-number-of-containers-are-deployed.md" >}}) + + - [Storage Driver Configuration]({{< relref "./docs/Container/storage-driver-configuration.md" >}}) + - [overlay2 Storage Driver Configuration]({{< relref "./docs/Container/overlay2-storage-driver-configuration.md" >}}) + - [devicemapper Storage Driver Configuration]({{< relref "./docs/Container/devicemapper-storage-driver-configuration-35.md" >}}) + + - [Impact of Forcibly Killing Docker Background Processes]({{< relref "./docs/Container/impact-of-forcibly-killing-docker-background-processes.md" >}}) + - [Semaphores May Be Residual]({{< relref "./docs/Container/semaphores-may-be-residual.md" >}}) + - [NICs May Be Residual]({{< relref "./docs/Container/nics-may-be-residual.md" >}}) + - [Failed to Restart a Container]({{< relref "./docs/Container/failed-to-restart-a-container.md" >}}) + - [Failed to Restart the Docker Service]({{< relref "./docs/Container/failed-to-restart-the-docker-service.md" >}}) + + - [Impact of System Power-off]({{< relref "./docs/Container/impact-of-system-power-off.md" >}}) + + + - [Container Management]({{< relref "./docs/Container/container-management-36.md" >}}) + - [Creating a Container]({{< relref "./docs/Container/creating-a-container-37.md" >}}) + - [Creating Containers Using hook-spec]({{< relref "./docs/Container/creating-containers-using-hook-spec.md" >}}) + - [Configuring Health Check During Container Creation]({{< relref "./docs/Container/configuring-health-check-during-container-creation.md" >}}) + - [Stopping and Deleting a Container]({{< relref "./docs/Container/stopping-and-deleting-a-container.md" >}}) + - [Querying Container Information]({{< relref "./docs/Container/querying-container-information.md" >}}) + - [Modification Operations]({{< relref "./docs/Container/modification-operations.md" >}}) + + - [Image Management]({{< relref "./docs/Container/image-management-38.md" >}}) + - [Creating an Image]({{< relref "./docs/Container/creating-an-image.md" >}}) + - [Viewing Images]({{< relref "./docs/Container/viewing-images.md" >}}) + - [Deleting Images]({{< relref "./docs/Container/deleting-images-39.md" >}}) + + - [Command Reference]({{< relref "./docs/Container/command-reference.md" >}}) + - [Container Engine]({{< relref "./docs/Container/container-engine.md" >}}) + - [Container Management]({{< relref "./docs/Container/container-management-40.md" >}}) + - [attach]({{< relref "./docs/Container/attach-41.md" >}}) + - [commit]({{< relref "./docs/Container/commit.md" >}}) + - [cp]({{< relref "./docs/Container/cp.md" >}}) + - [create]({{< relref "./docs/Container/create.md" >}}) + - [diff]({{< relref "./docs/Container/diff.md" >}}) + - [exec]({{< relref "./docs/Container/exec-42.md" >}}) + - [export]({{< relref "./docs/Container/export.md" >}}) + - [inspect]({{< relref "./docs/Container/inspect.md" >}}) + - [logs]({{< relref "./docs/Container/logs.md" >}}) + - [pause/unpause]({{< relref "./docs/Container/pause-unpause.md" >}}) + - [port]({{< relref "./docs/Container/port.md" >}}) + - [ps]({{< relref "./docs/Container/ps.md" >}}) + - [rename]({{< relref "./docs/Container/rename.md" >}}) + - [restart]({{< relref "./docs/Container/restart.md" >}}) + - [rm]({{< relref "./docs/Container/rm.md" >}}) + - [run]({{< relref "./docs/Container/run.md" >}}) + - [start]({{< relref "./docs/Container/start.md" >}}) + - [stats]({{< relref "./docs/Container/stats.md" >}}) + - [stop]({{< relref "./docs/Container/stop.md" >}}) + - [top]({{< relref "./docs/Container/top.md" >}}) + - [update]({{< relref "./docs/Container/update.md" >}}) + - [wait]({{< relref "./docs/Container/wait.md" >}}) + + - [Image Management]({{< relref "./docs/Container/image-management-43.md" >}}) + - [build]({{< relref "./docs/Container/build.md" >}}) + - [history]({{< relref "./docs/Container/history.md" >}}) + - [images]({{< relref "./docs/Container/images.md" >}}) + - [import]({{< relref "./docs/Container/import.md" >}}) + - [load]({{< relref "./docs/Container/load.md" >}}) + - [login]({{< relref "./docs/Container/login.md" >}}) + - [logout]({{< relref "./docs/Container/logout.md" >}}) + - [pull]({{< relref "./docs/Container/pull.md" >}}) + - [push]({{< relref "./docs/Container/push.md" >}}) + - [rmi]({{< relref "./docs/Container/rmi.md" >}}) + - [save]({{< relref "./docs/Container/save.md" >}}) + - [search]({{< relref "./docs/Container/search.md" >}}) + - [tag]({{< relref "./docs/Container/tag.md" >}}) + + - [Statistics]({{< relref "./docs/Container/statistics.md" >}}) + - [events]({{< relref "./docs/Container/events.md" >}}) + - [info]({{< relref "./docs/Container/info.md" >}}) + - [version]({{< relref "./docs/Container/version.md" >}}) + + + + + \ No newline at end of file diff --git a/content/en/docs/Container/environment-variable-persisting.md b/content/en/docs/Container/environment-variable-persisting.md new file mode 100644 index 000000000..1a9be7a80 --- /dev/null +++ b/content/en/docs/Container/environment-variable-persisting.md @@ -0,0 +1,48 @@ +# Environment Variable Persisting + +## Function Description + +In a system container, you can make the **env** variable persistent to the configuration file in the rootfs directory of the container by specifying the **--env-target-file** interface parameter. + +## Parameter Description + + + + + + + + + + + + +

Command

+

Parameter

+

Value Description

+

isula create/run

+

--env-target-file

+
  • Variable of the string type.
  • The env persistent file must be in the rootfs directory and must be an absolute path.
+
+ +## Constraints + +- If the target file specified by **--env-target-file** exists, the size cannot exceed 10 MB. +- The parameter specified by **--env-target-file** must be an absolute path in the rootfs directory. +- If the value of **--env** conflicts with that of **env** in the target file, the value of **--env** prevails. + +## Example + +Start a system container and specify the **env** environment variable and **--env-target-file** parameter. + +``` +[root@localhost ~]# isula run -tid -e abc=123 --env-target-file /etc/environment --system-container --external-rootfs /root/myrootfs none init +b75df997a64da74518deb9a01d345e8df13eca6bcc36d6fe40c3e90ea1ee088e +[root@localhost ~]# isula exec b7 cat /etc/environment +PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +TERM=xterm +abc=123 +``` + +The preceding information indicates that the **env** variable \(**abc=123**\) of the container has been made persistent to the **/etc/environment** configuration file. + diff --git a/content/en/docs/Container/events.md b/content/en/docs/Container/events.md new file mode 100644 index 000000000..93989bf94 --- /dev/null +++ b/content/en/docs/Container/events.md @@ -0,0 +1,27 @@ +# events + +Syntax: **docker events \[**_options_**\]** + +Function: Obtains real-time events from the docker daemon. + +Parameter description: + +**--since=""**: Displays events generated after the specified timestamp. + +**--until=""**: Displays events generated before the specified timestamp. + +Example: + +After the **docker events** command is executed, a container is created and started by running the **docker run** command. create and start events are output. + +``` +$ sudo docker events +2019-08-28T16:23:09.338838795+08:00 container create 53450588a20800d8231aa1dc4439a734e16955387efb5f259c47737dba9e2b5e (image=busybox:latest, name=eager_wu) +2019-08-28T16:23:09.339909205+08:00 container attach 53450588a20800d8231aa1dc4439a734e16955387efb5f259c47737dba9e2b5e (image=busybox:latest, name=eager_wu) +2019-08-28T16:23:09.397717518+08:00 network connect e2e20f52662f1ee2b01545da3b02e5ec7ff9c85adf688dce89a9eb73661dedaa (container=53450588a20800d8231aa1dc4439a734e16955387efb5f259c47737dba9e2b5e, name=bridge, type=bridge) +2019-08-28T16:23:09.922224724+08:00 container start 53450588a20800d8231aa1dc4439a734e16955387efb5f259c47737dba9e2b5e (image=busybox:latest, name=eager_wu) +2019-08-28T16:23:09.924121158+08:00 container resize 53450588a20800d8231aa1dc4439a734e16955387efb5f259c47737dba9e2b5e (height=48, image=busybox:latest, name=eager_wu, width=210) +``` + +   + diff --git a/content/en/docs/Container/exec-42.md b/content/en/docs/Container/exec-42.md new file mode 100644 index 000000000..21967bca9 --- /dev/null +++ b/content/en/docs/Container/exec-42.md @@ -0,0 +1,28 @@ +# exec + +Syntax: **docker exec \[**_options_**\]** _container_ _command_ **\[**_arg..._**\]** + +Function: Runs a command in the container. + +Parameter description: + +**-d** and **--detach=false**: Run in the background. + +**-i** and **--interactive=false**: Keep the STDIN of the container enabled. + +**-t** and **--tty=false**: Allocate a virtual terminal. + +**--privileged**: Executes commands in privilege mode. + +**-u** and **--user**: Specifies the user name or UID. + +Example: + +``` +$ sudo docker exec -ti exec_test ls +bin etc lib media opt root sbin sys tmp var +dev home lib64 mnt proc run srv test usr +``` + +   + diff --git a/content/en/docs/Container/exec.md b/content/en/docs/Container/exec.md new file mode 100644 index 000000000..be45a91ed --- /dev/null +++ b/content/en/docs/Container/exec.md @@ -0,0 +1,73 @@ +# Exec + +## Prototype + +``` +rpc Exec(ExecRequest) returns (ExecResponse) {} +``` + +## Description + +This API is used to run commands in a container through the gRPC communication method, that is, obtain URLs from the CRI server, and then use the obtained URLs to establish a long connection to the WebSocket server, implementing the interaction with the container. + +## Precautions + +The interaction between the terminal and the container can be enabled when a single command is executed. One of **stdin**, **stdout**, and **stderr **must be true. If **tty** is true, **stderr** must be false. Multiplexing is not supported. In this case, the output of **stdout** and **stderr** will be combined to a stream. + +## Parameters + + + + + + + + + + + + + + + + + + + + + + + + +

Parameter

+

Description

+

string container_id

+

Container ID.

+

repeated string cmd

+

Command to be executed.

+

bool tty

+

Whether to run the command in a TTY.

+

bool stdin

+

Whether to generate the standard input stream.

+

bool stdout

+

Whether to generate the standard output stream.

+

bool stderr

+

Whether to generate the standard error output stream.

+
+ +## Return Values + + + + + + + + + +

Return Value

+

Description

+

string url

+

Fully qualified URL of the exec streaming server.

+
+ diff --git a/content/en/docs/Container/execsync.md b/content/en/docs/Container/execsync.md new file mode 100644 index 000000000..2e9eee085 --- /dev/null +++ b/content/en/docs/Container/execsync.md @@ -0,0 +1,68 @@ +# ExecSync + +## Prototype + +``` +rpc ExecSync(ExecSyncRequest) returns (ExecSyncResponse) {} +``` + +## Description + +The API is used to run a command in containers in synchronization mode through the gRPC communication method. + +## Precautions + +The interaction between the terminal and the containers must be disabled when a single command is executed. + +## Parameters + + + + + + + + + + + + + + + +

Parameter

+

Description

+

string container_id

+

Container ID.

+

repeated string cmd

+

Command to be executed.

+

int64 timeout

+

Timeout period for stopping the command (unit: second). The default value is 0, indicating that there is no timeout limit. This parameter does not take effect now.

+
+ +## Return Values + + + + + + + + + + + + + + + +

Return Value

+

Description

+

bytes stdout

+

Standard output of the capture command.

+

bytes stderr

+

Standard error output of the capture command.

+

int32 exit_code

+

Exit code, which represents the completion of command execution. The default value is 0, indicating that the command is executed successfully.

+
+ diff --git a/content/en/docs/Container/executing-a-command-in-a-running-container.md b/content/en/docs/Container/executing-a-command-in-a-running-container.md new file mode 100644 index 000000000..e5cc066eb --- /dev/null +++ b/content/en/docs/Container/executing-a-command-in-a-running-container.md @@ -0,0 +1,141 @@ +# Executing a Command in a Running Container + +## Description + +To execute a command in a running container, run the **isula exec** command. This command is executed in the default directory of the container. If a user-defined directory is specified for the basic image, the user-defined directory is used. + +## **Usage** + +``` +isula exec [OPTIONS] CONTAINER COMMAND [ARG...] +``` + +## Parameters + +The following table lists the parameters supported by the **exec** command. + +**Table 1** Parameter description + + + + + + + + + + + + + + + + + + + + + + + + + + +

Command

+

Parameter

+

Description

+

exec

+

  

+

-d, --detach

+

Runs a command in the background.

+

-e, --env

+

Sets environment variables. (Note: Currently, iSulad does not use this function.)

+

-H, --host

+

Specifies the iSulad socket file path to be accessed.

+

-i, --interactive

+

Enables the standard input though no connection is set up. (Note: Currently, iSulad does not use this function.)

+

-t, --tty

+

Allocates a pseudo terminal. (Note: Currently, iSulad does not use this function.)

+

-u, --user

+

Logs in to the container as a specified user.

+
+ +## Constraints + +- If no parameter is specified in the **isula exec** command, the **-it** parameter is used by default, indicating that a pseudo terminal is allocated and the container is accessed in interactive mode. +- When you run the **isula exec** command to execute a script and run a background process in the script, you need to use the **nohup** flag to ignore the **SIGHUP** signal. + + When you run the **isula exec** command to execute a script and run a background process in the script, you need to use the **nohup** flag. Otherwise, the kernel sends the **SIGHUP** signal to the process executed in the background when the process \(first process of the session\) exits. As a result, the background process exits and zombie processes occur. + +- After running the **isula exec** command to access the container process, do not run background programs. Otherwise, the system will be suspended. + + To run the **isula exec** command to execute a background process, perform the following steps: + + 1. Run the **isula exec container\_name bash** command to access the container. + 2. After entering the container, run the **script &** command. + 3. Run the **exit** command. The terminal stops responding. + + ``` + After the isula exec command is executed to enter the container, the background program stops responding because the isula exec command is executed to enter the container and run the background while1 program. When the bash command is run to exit the process, the while1 program does not exit and becomes an orphan process, which is taken over by process 1. + The while1 process is executed by the initial bash process fork &exec of the container. The while1 process copies the file handle of the bash process. As a result, the handle is not completely closed when the bash process exits. + The console process cannot receive the handle closing event, epoll_wait stops responding, and the process does not exit. + ``` + +- Do not run the **isula exec** command in the background. Otherwise, the system may be suspended. + + Run the **isula exec** command in the background as follows: + + Run the **isula exec script &** command in the background, for example, **isula exec container\_name script &,isula exec**. The command is executed in the background. The script continuously displays a file by running the **cat** command. Normally, there is output on the current terminal. If you press **Enter** on the current terminal, the client exits the stdout read operation due to the I/O read failure. As a result, the terminal does not output data. The server continues to write data to the buffer of the FIFO because the process is still displaying files by running the **cat** command. When the buffer is full, the process in the container is suspended in the write operation. + +- When a lightweight container uses the **exec** command to execute commands with pipe operations, you are advised to run the **/bin/bash -c** command. + + Typical application scenarios: + + Run the **isula exec container\_name -it ls /test | grep "xx" | wc -l** command to count the number of xx files in the test directory. The output is processed by **grep** and **wc** through the pipe because **ls /test** is executed with **exec**. The output of **ls /test** executed by **exec** contains line breaks. When the output is processed, the result is incorrect. + + Cause: Run the **ls /test** command using **exec**. The command output contains a line feed character. Run the** | grep "xx" | wc -l** command for the output. The processing result is 2 \(two lines\). + + ``` + [root@localhost ~]# isula exec -it container ls /test + xx xx10 xx12 xx14 xx3 xx5 xx7 xx9 + xx1 xx11 xx13 xx2 xx4 xx6 xx8 + [root@localhost ~]# + ``` + + Suggestion: When running the **run/exec** command to perform pipe operations, run the **/bin/bash -c** command to perform pipe operations in the container. + + ``` + [root@localhost ~]# isula exec -it container /bin/sh -c "ls /test | grep "xx" | wc -l" + 15 + [root@localhost ~]# + ``` + +- Do not use the **echo** option to input data to the standard input of the **exec** command. Otherwise, the client will be suspended. The echo value should be directly transferred to the container as a command line parameter. + + ``` + [root@localhost ~]# echo ls | isula exec 38 /bin/sh + + + ^C + [root@localhost ~]# + ``` + + The client is suspended when the preceding command is executed because the preceding command is equivalent to input **ls** to **stdin**. Then EOF is read and the client does not send data and waits for the server to exit. However, the server cannot determine whether the client needs to continue sending data. As a result, the server is suspended in reading data, and both parties are suspended. + + The correct execution method is as follows: + + ``` + [root@localhost ~]# isula exec 38 ls + bin dev etc home proc root sys tmp usr var + ``` + + +## Example + +Run the echo command in a running container. + +``` +$ isula exec c75284634bee echo "hello,world" +hello,world +``` + diff --git a/content/en/docs/Container/export.md b/content/en/docs/Container/export.md new file mode 100644 index 000000000..44eba5e62 --- /dev/null +++ b/content/en/docs/Container/export.md @@ -0,0 +1,20 @@ +# export + +Syntax: **docker export** _container_ + +Function: Exports the file system content of a container to STDOUT in .tar format. + +Parameter description: none. + +Example: + +Run the following commands to export the contents of the container named **busybox** to the **busybox.tar** package: + +``` +$ sudo docker export busybox > busybox.tar +$ ls +busybox.tar +``` + +   + diff --git a/content/en/docs/Container/failed-to-restart-a-container.md b/content/en/docs/Container/failed-to-restart-a-container.md new file mode 100644 index 000000000..d99aa9333 --- /dev/null +++ b/content/en/docs/Container/failed-to-restart-a-container.md @@ -0,0 +1,17 @@ +# Failed to Restart a Container + +If container hook takes a long time, and containerd is forcibly killed during container startup, the container start operation may fail. When containerd is forcibly killed during container startup, an error is returned for the Docker start operation. After containerd is restarted, the last startup may still be in the **runc create** execution phase \(executing the user-defined hook may take a long time\). If you run the **docker start** command again to start the container, the following error message may be displayed: + +``` +Error response from daemon: oci runtime error: container with id exists: xxxxxx +``` + +This error is caused by running **runc create** on an existing container \(or being created\). After the **runc create** operation corresponding to the first start operation is complete, the **docker start** command can be successfully executed. + +The execution of hook is not controlled by Docker. In this case, if the container is recycled, the containerd process may be suspended when an unknown hook program is executed. In addition, the risk is controllable \(although the creation of the current container is affected in a short period\). + +- After the first operation is complete, the container can be successfully started again. +- Generally, a new container is created after the container fails to be started. The container that fails to be started cannot be reused. + +In conclusion, this problem has a constraint on scenarios. + diff --git a/content/en/docs/Container/failed-to-restart-the-docker-service.md b/content/en/docs/Container/failed-to-restart-the-docker-service.md new file mode 100644 index 000000000..8b4efad15 --- /dev/null +++ b/content/en/docs/Container/failed-to-restart-the-docker-service.md @@ -0,0 +1,4 @@ +# Failed to Restart the Docker Service + +The Docker service cannot be restarted properly due to frequent startup in a short period The Docker system service is monitored by systemd. If the Docker service is restarted for more than five times within 10s, the systemd service detects the abnormal startup. Therefore, the Docker service is disabled. Docker can respond to the restart command and be normally restarted only when the next period of 10s starts. + diff --git a/content/en/docs/Container/figures/en-us_image_0183048952.png b/content/en/docs/Container/figures/en-us_image_0183048952.png new file mode 100644 index 0000000000000000000000000000000000000000..970d6bef8b11c3a135a5df4ee3920f7dca647ce5 GIT binary patch literal 26503 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 literal 0 HcmV?d00001 diff --git a/content/en/docs/Container/figures/en-us_image_0221924926.png b/content/en/docs/Container/figures/en-us_image_0221924926.png new file mode 100644 index 0000000000000000000000000000000000000000..62ef0decdf6f1e591059904001d712a54f727e68 GIT binary patch literal 1164 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�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

W#+0EDYk}Cu~G7sMva2n_{oa6(5Ef8<=I6D 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 literal 0 HcmV?d00001 diff --git a/content/en/docs/Container/firewalld-component.md b/content/en/docs/Container/firewalld-component.md new file mode 100644 index 000000000..65e864ded --- /dev/null +++ b/content/en/docs/Container/firewalld-component.md @@ -0,0 +1,7 @@ +# Firewalld Component + +You need to restart the Docker service after restarting or starting firewalld. + +- When the firewalld service is started, the iptables rules of the current system are cleared. Therefore, if the firewalld service is restarted during Docker daemon startup, the Docker service may fail to insert iptables rules, causing the Docker service startup failure. +- If the firewalld service is restarted after the Docker service is started, or the status of the firewalld service \(service paused or resumed\) is changed, the iptables rules of the Docker service are deleted. As a result, the container with port mapping fails to be created. + diff --git a/content/en/docs/Container/forcibly-stopping-a-container.md b/content/en/docs/Container/forcibly-stopping-a-container.md new file mode 100644 index 000000000..3c776e8f0 --- /dev/null +++ b/content/en/docs/Container/forcibly-stopping-a-container.md @@ -0,0 +1,50 @@ +# Forcibly Stopping a Container + +## Description + +To forcibly stop one or more running containers, run the **isula kill** command. + +## **Usage** + +``` +isula kill [OPTIONS] CONTAINER [CONTAINER...] +``` + +## Parameters + +The following table lists the parameters supported by the **kill** command. + +**Table 1** Parameter description + + + + + + + + + + + + + + +

Command

+

Parameter

+

Description

+

kill

+

-H, --host

+

Specifies the iSulad socket file path to be accessed.

+

-s, --signal

+

Signal sent to the container.

+
+ +## Example + +Kill a container. + +``` +$ isula kill fd7376591a9c3d8ee9a14f5d2c2e5255b02cc44cddaabca82170efd4497510e1 +fd7376591a9c3d8ee9a14f5d2c2e5255b02cc44cddaabca82170efd4497510e1 +``` + diff --git a/content/en/docs/Container/history.md b/content/en/docs/Container/history.md new file mode 100644 index 000000000..99d30f8f8 --- /dev/null +++ b/content/en/docs/Container/history.md @@ -0,0 +1,25 @@ +# history + +Syntax: **docker history \[**_options_**\]** _image_ + +Function: Displays the change history of an image. + +Parameter description: + +-H, --human=true + +**--no-trunc=false**: Does not delete any output. + +**-q** and **--quiet=false**: Display only IDs. + +Example: + +``` +$ sudo docker history busybox:test +IMAGE CREATED CREATED BY SIZE COMMENT +be4672959e8b 15 minutes ago bash 23B +21970dfada48 4 weeks ago 128MB Imported from - +``` + +   + diff --git a/content/en/docs/Container/image-management-38.md b/content/en/docs/Container/image-management-38.md new file mode 100644 index 000000000..8113f783c --- /dev/null +++ b/content/en/docs/Container/image-management-38.md @@ -0,0 +1,2 @@ +# Image Management + diff --git a/content/en/docs/Container/image-management-43.md b/content/en/docs/Container/image-management-43.md new file mode 100644 index 000000000..c1a12025b --- /dev/null +++ b/content/en/docs/Container/image-management-43.md @@ -0,0 +1,6 @@ +# Image Management + +   + + + diff --git a/content/en/docs/Container/image-management.md b/content/en/docs/Container/image-management.md new file mode 100644 index 000000000..45e86be3e --- /dev/null +++ b/content/en/docs/Container/image-management.md @@ -0,0 +1,2 @@ +# Image Management + diff --git a/content/en/docs/Container/image-service.md b/content/en/docs/Container/image-service.md new file mode 100644 index 000000000..6310439a7 --- /dev/null +++ b/content/en/docs/Container/image-service.md @@ -0,0 +1,5 @@ +# Image Service + +The service provides the gRPC API for pulling, viewing, and removing images from the registry. + + diff --git a/content/en/docs/Container/imagefsinfo.md b/content/en/docs/Container/imagefsinfo.md new file mode 100644 index 000000000..dfabca5cf --- /dev/null +++ b/content/en/docs/Container/imagefsinfo.md @@ -0,0 +1,36 @@ +# ImageFsInfo + +## Prototype + +``` +rpc ImageFsInfo(ImageFsInfoRequest) returns (ImageFsInfoResponse) {} +``` + +## Description + +This API is used to query the information about the file system that stores images. + +## Precautions + +Queried results are the file system information in the image metadata. + +## Parameters + +None + +## Return Values + + + + + + + + + +

Return Value

+

Description

+

repeated FilesystemUsage image_filesystems

+

Information about the file system that stores images.

+
+ diff --git a/content/en/docs/Container/images.md b/content/en/docs/Container/images.md new file mode 100644 index 000000000..8a02a7adf --- /dev/null +++ b/content/en/docs/Container/images.md @@ -0,0 +1,26 @@ +# images + +Syntax: **docker images \[**_options_**\] \[**_name_**\]** + +Function: Lists existing images. The intermediate image is not displayed if no parameter is configured. + +Parameter description: + +**-a** and **--all=false**: Display all images. + +**-f** and **--filter=\[\]**: Specify a filtering value, for example, **dangling=true**. + +**--no-trunc=false**: Does not delete any output. + +**-q** and **--quiet=false**: Display only IDs. + +Example: + +``` +$ sudo docker images +REPOSITORY TAG IMAGE ID CREATED SIZE +busybox latest e02e811dd08f 2 years ago 1.09MB +``` + +   + diff --git a/content/en/docs/Container/imagestatus.md b/content/en/docs/Container/imagestatus.md new file mode 100644 index 000000000..9f9ddb951 --- /dev/null +++ b/content/en/docs/Container/imagestatus.md @@ -0,0 +1,59 @@ +# ImageStatus + +## Prototype + +``` +rpc ImageStatus(ImageStatusRequest) returns (ImageStatusResponse) {} +``` + +## Description + +The API is used to query the information about a specified image. + +## Precautions + +1. If the image to be queried does not exist, **ImageStatusResponse** is returned and **Image** is set to **nil** in the return value. +2. This is a unified API. Since embedded images do not comply with the OCI image specifications and do not contain required fields, the images cannot be queried by using this API. + +## Parameters + + + + + + + + + + + + +

Parameter

+

Description

+

ImageSpec image

+

Image name.

+

bool verbose

+

Whether to query additional information. This parameter does not take effect now. No additional information is returned.

+
+ +## Return Values + + + + + + + + + + + + +

Return Value

+

Description

+

Image image

+

Image information.

+

map<string, string> info

+

Additional image information. This parameter does not take effect now. No additional information is returned.

+
+ diff --git a/content/en/docs/Container/impact-of-forcibly-killing-docker-background-processes.md b/content/en/docs/Container/impact-of-forcibly-killing-docker-background-processes.md new file mode 100644 index 000000000..052cd5b59 --- /dev/null +++ b/content/en/docs/Container/impact-of-forcibly-killing-docker-background-processes.md @@ -0,0 +1,4 @@ +# Impact of Forcibly Killing Docker Background Processes + +The call chain of Docker is long. Forcibly killing docker background processes \(such as sending **kill -9**\) may cause data status inconsistency. This section describes some problems that may be caused by forcible killing. + diff --git a/content/en/docs/Container/impact-of-system-power-off.md b/content/en/docs/Container/impact-of-system-power-off.md new file mode 100644 index 000000000..8f4e48531 --- /dev/null +++ b/content/en/docs/Container/impact-of-system-power-off.md @@ -0,0 +1,17 @@ +# Impact of System Power-off + +When a system is unexpectedly powered off or system panic occurs, Docker daemon status may not be updated to the disk in time. As a result, Docker daemon is abnormal after the system is restarted. The possible problems include but are not limited to the following: + +- A container is created before the power-off. After the restart, the container is not displayed when the **docker ps –a** command is run, as the file status of the container is not updated to the disk. As a result, daemon cannot obtain the container status after the restart. +- Before the system power-off, a file is being written. After daemon is restarted, the file format is incorrect or the file content is incomplete. As a result, loading fails. +- As Docker database \(DB\) will be damaged during power-off, all DB files in **data-root** will be deleted during node restart. Therefore, the following information created before the restart will be deleted after the restart: + - Network: Resources created through Docker network will be deleted after the node is restarted. + - Volume: Resources created through Docker volume will be deleted after the node is restarted. + - Cache construction: The cache construction information will be deleted after the node is restarted. + - Metadata stored in containerd: Metadata stored in containerd will be recreated when a container is started. Therefore, the metadata stored in containerd will be deleted when the node is restarted. + + >![](public_sys-resources/icon-note.gif) **NOTE:** + >If you want to manually clear data and restore the environment, you can set the environment variable **DISABLE\_CRASH\_FILES\_DELETE** to **true** to disable the function of clearing DB files when the daemon process is restarted due to power-off. + + + diff --git a/content/en/docs/Container/import.md b/content/en/docs/Container/import.md new file mode 100644 index 000000000..42c4afc16 --- /dev/null +++ b/content/en/docs/Container/import.md @@ -0,0 +1,22 @@ +# import + +Syntax: **docker import URL|- \[**_repository_**\[**_:tag_**\]\]** + +Function: Imports a .tar package that contains rootfs as an image. This parameter corresponds to the **docker export** command. + +Parameter description: none. + +Example: + +Run the following command to generate a new image for **busybox.tar** exported using the **docker export** command: + +``` +$ sudo docker import busybox.tar busybox:test +sha256:a79d8ae1240388fd3f6c49697733c8bac4d87283920defc51fb0fe4469e30a4f +$ sudo docker images +REPOSITORY TAG IMAGE ID CREATED SIZE +busybox test a79d8ae12403 2 seconds ago 1.3MB +``` + +   + diff --git a/content/en/docs/Container/info.md b/content/en/docs/Container/info.md new file mode 100644 index 000000000..45baa7011 --- /dev/null +++ b/content/en/docs/Container/info.md @@ -0,0 +1,39 @@ +# info + +Syntax: **docker info** + +Function: Displays the Docker system information, including the number of containers, number of images, image storage driver, container execution driver, kernel version, and host OS version. + +Parameter description: none. + +Example: + +``` +$ sudo docker info +Containers: 4 + Running: 3 + Paused: 0 + Stopped: 1 +Images: 45 +Server Version: 18.09.0 +Storage Driver: devicemapper + Pool Name: docker-thinpool + Pool Blocksize: 524.3kB + Base Device Size: 10.74GB + Backing Filesystem: ext4 + Udev Sync Supported: true + Data Space Used: 11GB + Data Space Total: 51GB + Data Space Available: 39.99GB + Metadata Space Used: 5.083MB + Metadata Space Total: 532.7MB + Metadata Space Available: 527.6MB + Thin Pool Minimum Free Space: 5.1GB + Deferred Removal Enabled: true + Deferred Deletion Enabled: true + Deferred Deleted Device Count: 0 +...... +``` + +   + diff --git a/content/en/docs/Container/inspect.md b/content/en/docs/Container/inspect.md new file mode 100644 index 000000000..1d0bdabf5 --- /dev/null +++ b/content/en/docs/Container/inspect.md @@ -0,0 +1,54 @@ +# inspect + +Syntax: **docker inspect \[**_options_**\] **_container_**|**_image _**\[**_container_|_image..._**\]** + +Function: Returns the underlying information about a container or image. + +Parameter description: + +**-f** and **--format=""**: Output information in a specified format. + +**-s** and **--size**: Display the total file size of the container when the query type is container. + +**--type**: Returns the JSON format of the specified type. + +**-t** and **--time=120**: Timeout interval, in seconds. If the **docker inspect** command fails to be executed within the timeout interval, the system stops waiting and immediately reports an error. The default value is **120**. + +Example: + +1. Run the following command to return information about a container: + + ``` + $ sudo docker inspect busybox_test + [ + { + "Id": "9fbb8649d5a8b6ae106bb0ac7686c40b3cbd67ec2fd1ab03e0c419a70d755577", + "Created": "2019-08-28T07:43:51.27745746Z", + "Path": "bash", + "Args": [], + "State": { + "Status": "running", + "Running": true, + "Paused": false, + "Restarting": false, + "OOMKilled": false, + "Dead": false, + "Pid": 64177, + "ExitCode": 0, + "Error": "", + "StartedAt": "2019-08-28T07:43:53.021226383Z", + "FinishedAt": "0001-01-01T00:00:00Z" + }, + ...... + ``` + +    + +2. Run the following command to return the specified information of a container in a specified format. The following uses the IP address of the busybox\_test container as an example. + + ``` + $ sudo docker inspect -f {{.NetworkSettings.IPAddress}} busybox_test + 172.17.0.91 + ``` + + diff --git a/content/en/docs/Container/inspecting-images-5.md b/content/en/docs/Container/inspecting-images-5.md new file mode 100644 index 000000000..54fcc16c4 --- /dev/null +++ b/content/en/docs/Container/inspecting-images-5.md @@ -0,0 +1,23 @@ +# Inspecting Images + +## Description + +After the configuration information of an image is returned, you can use the **-f** parameter to filter the information as needed. + +## Usage + +``` +isula inspect [options] CONTAINER|IMAGE [CONTAINER|IMAGE...] +``` + +## Parameters + +For details about parameters in the **inspect** command, see [Table 7](command-line-parameters.md#en-us_topic_0189976507_table73237211516). + +## Example + +``` +$ isula inspect -f "{{json .created}}" test:v1 +"2018-03-01T15:55:44.322987811Z" +``` + diff --git a/content/en/docs/Container/inspecting-images.md b/content/en/docs/Container/inspecting-images.md new file mode 100644 index 000000000..57328ec7a --- /dev/null +++ b/content/en/docs/Container/inspecting-images.md @@ -0,0 +1,23 @@ +# Inspecting Images + +## Description + +After the configuration information of an image is returned, you can use the **-f** parameter to filter the information as needed. + +## Usage + +``` +isula inspect [options] CONTAINER|IMAGE [CONTAINER|IMAGE...] +``` + +## Parameters + +For details about parameters in the **inspect** command, see [Table 7](command-line-parameters.md#en-us_topic_0189976507_table73237211516). + +## Example + +``` +$ isula inspect -f "{{json .image.id}}" rnd-dockerhub.huawei.com/official/busybox +"e4db68de4ff27c2adfea0c54bbb73a61a42f5b667c326de4d7d5b19ab71c6a3b" +``` + diff --git a/content/en/docs/Container/installation-and-deployment-25.md b/content/en/docs/Container/installation-and-deployment-25.md new file mode 100644 index 000000000..b1062b4d7 --- /dev/null +++ b/content/en/docs/Container/installation-and-deployment-25.md @@ -0,0 +1,2 @@ +# Installation and Deployment + diff --git a/content/en/docs/Container/installation-and-deployment-34.md b/content/en/docs/Container/installation-and-deployment-34.md new file mode 100644 index 000000000..876f6771e --- /dev/null +++ b/content/en/docs/Container/installation-and-deployment-34.md @@ -0,0 +1 @@ +# Installation and Deployment diff --git a/content/en/docs/Container/installation-and-deployment.md b/content/en/docs/Container/installation-and-deployment.md new file mode 100644 index 000000000..2ba335d27 --- /dev/null +++ b/content/en/docs/Container/installation-and-deployment.md @@ -0,0 +1,2 @@ +# Installation and Deployment + diff --git a/content/en/docs/Container/installation-configurations-and-precautions.md b/content/en/docs/Container/installation-configurations-and-precautions.md new file mode 100644 index 000000000..a648c3b7e --- /dev/null +++ b/content/en/docs/Container/installation-configurations-and-precautions.md @@ -0,0 +1,4 @@ +# Installation Configurations and Precautions + +This section describes important configurations related to the installation of the open-source container Docker. + diff --git a/content/en/docs/Container/installation-guideline.md b/content/en/docs/Container/installation-guideline.md new file mode 100644 index 000000000..d034dd8e0 --- /dev/null +++ b/content/en/docs/Container/installation-guideline.md @@ -0,0 +1,28 @@ +# Installation Guideline + +1. Install the container engine iSulad. + + ``` + # yum install iSulad + ``` + +2. Install dependent packages of system containers. + + ``` + # yum install isulad-tools authz isulad-lxcfs-toolkit lxcfs + ``` + +3. Run the following command to check whether iSulad is started: + + ``` + # systemctl status isulad + ``` + +4. Enable the lxcfs and authz services. + + ``` + # systemctl start lxcfs + # systemctl start authz + ``` + + diff --git a/content/en/docs/Container/installation-methods-26.md b/content/en/docs/Container/installation-methods-26.md new file mode 100644 index 000000000..d59f343be --- /dev/null +++ b/content/en/docs/Container/installation-methods-26.md @@ -0,0 +1,18 @@ +# Installation Methods + +## Prerequisites + +- For better performance experience, a secure container needs to run on the bare metal server and must not run on VMs. +- A secure container depends on the following components \(openEuler 1.0 version\). Ensure that the required components have been installed in the environment. To install iSulad, refer to [Installation Methods](installation-methods.md). + - docker-engine + - qemu + + +## Installation Procedure + +Released secure container components are integrated in the **kata-containers-**_version_**.rpm** package. You can run the **rpm** command to install the corresponding software. + +``` +rpm -ivh kata-containers-.rpm +``` + diff --git a/content/en/docs/Container/installation-methods.md b/content/en/docs/Container/installation-methods.md new file mode 100644 index 000000000..0f0e0e743 --- /dev/null +++ b/content/en/docs/Container/installation-methods.md @@ -0,0 +1,20 @@ +# Installation Methods + +iSulad can be installed by running the **yum** or **rpm** command. The **yum** command is recommended because dependencies can be installed automatically. + +This section describes two installation methods. + +- \(Recommended\) Run the following command to install iSulad: + + ``` + $ sudo yum install -y iSulad + ``` + + +- If the **rpm** command is used to install iSulad, you need to download and manually install the RMP packages of iSulad and all its dependencies. To install the RPM package of a single iSulad \(the same for installing dependency packages\), run the following command: + + ``` + $ sudo rpm -ihv iSulad-xx.xx.xx-YYYYmmdd.HHMMSS.gitxxxxxxxx.aarch64.rpm + ``` + + diff --git a/content/en/docs/Container/interconnection-with-the-cni-network.md b/content/en/docs/Container/interconnection-with-the-cni-network.md new file mode 100644 index 000000000..294f8a4dd --- /dev/null +++ b/content/en/docs/Container/interconnection-with-the-cni-network.md @@ -0,0 +1,2 @@ +# Interconnection with the CNI Network + diff --git a/content/en/docs/Container/introduction.md b/content/en/docs/Container/introduction.md new file mode 100644 index 000000000..17a08a964 --- /dev/null +++ b/content/en/docs/Container/introduction.md @@ -0,0 +1,18 @@ +# Introduction + +System container functions are enhanced based on the iSula container engine. The container management function and the command format of the function provided by system containers are the same as those provided by the iSula container engine. + +The following sections describe how to use the enhanced functions provided by system containers. For details about other command operations, see [iSulad Container Engine](isulad-container-engine.md#EN-US_TOPIC_0184808037). + +The system container functions involve only the **isula create/run** command. Unless otherwise specified, this command is used for all functions. The command format is as follows: + +``` +isula create/run [OPTIONS] [COMMAND] [ARG...] +``` + +In the preceding format: + +- **OPTIONS**: one or more command parameters. For details about supported parameters, see [iSulad Container Engine](isulad-container-engine.md#EN-US_TOPIC_0184808037) \> [Appendix](appendix.md#EN-US_TOPIC_0184808158) \> [Command Line Parameters](command-line-parameters.md#EN-US_TOPIC_0189976936). +- **COMMAND**: command executed after a system container is started. +- **ARG**: parameter corresponding to the command executed after a system container is started. + diff --git a/content/en/docs/Container/iptables-component.md b/content/en/docs/Container/iptables-component.md new file mode 100644 index 000000000..dd8abf944 --- /dev/null +++ b/content/en/docs/Container/iptables-component.md @@ -0,0 +1,17 @@ +# Iptables Component + +If the **--icc=false** option is added in Docker, the communication between containers can be restricted. However, if the OS has some rules, the communication between containers may not be restricted. For example: + +``` +Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) +... +0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 +... +0 0 DROP all -- docker0 docker0 0.0.0.0/0 0.0.0.0/0 +... +``` + +In the **Chain FORWARD** command, the ACCEPT icmp rule is added to DROP. As a result, after the **--icc=false** option is added, containers can be pinged, but the peer end is unreachable if UDP or TCP is used. + +Therefore, if you want to add the **--icc=false** option when using Docker in a container OS, you are advised to clear iptables rules on the host first. + diff --git a/content/en/docs/Container/isulad-configuration.md b/content/en/docs/Container/isulad-configuration.md new file mode 100644 index 000000000..ffc2973f8 --- /dev/null +++ b/content/en/docs/Container/isulad-configuration.md @@ -0,0 +1,34 @@ +# iSulad Configuration + +To enable the iSulad to support the new container runtime kata-runtime, perform the following steps which are similar to those for the container engine docker-engine: + +1. Ensure that all software packages \(iSulad and kata-containers\) have been installed in the environment. +2. Stop iSulad. + + ``` + systemctl stop isulad + ``` + +3. Modify the **/etc/isulad/daemon.json** configuration file of the iSulad and add the following configurations: + + ``` + { + "runtimes": { + "kata-runtime": { + "path": "/usr/bin/kata-runtime", + "runtime-args": [ + "--kata-config", + "/usr/share/defaults/kata-containers/configuration.toml" + ] + } + } + } + ``` + +4. Restart iSulad. + + ``` + systemctl start isulad + ``` + + diff --git a/content/en/docs/Container/isulad-container-engine.md b/content/en/docs/Container/isulad-container-engine.md new file mode 100644 index 000000000..88037d348 --- /dev/null +++ b/content/en/docs/Container/isulad-container-engine.md @@ -0,0 +1,2 @@ +# iSulad Container Engine + diff --git a/content/en/docs/Container/journald-component.md b/content/en/docs/Container/journald-component.md new file mode 100644 index 000000000..5c52d8d12 --- /dev/null +++ b/content/en/docs/Container/journald-component.md @@ -0,0 +1,4 @@ +# Journald Component + +After systemd-journald is restarted, Docker daemon needs to be restarted. Journald obtains the Docker daemon logs through a pipe. If the journald service is restarted, the pipe is disabled. The write operation of Docker logs triggers the SIGPIPE signal, which causes the Docker daemon crash. If this signal is ignored, the subsequent Docker daemon logs may fail to be recorded. Therefore, you are advised to restart Docker daemon after the journald service is restarted or becomes abnormal, ensuring that Docker logs can be properly recorded and preventing status exceptions caused by daemon crash. + diff --git a/content/en/docs/Container/limiting-block-i-o-resources.md b/content/en/docs/Container/limiting-block-i-o-resources.md new file mode 100644 index 000000000..5b2b78263 --- /dev/null +++ b/content/en/docs/Container/limiting-block-i-o-resources.md @@ -0,0 +1,65 @@ +# Limiting Block I/O Resources + +1. Configure the block I/O resources for running a lightweight VM. + + To configure block I/O resources for running a lightweight VM of secure containers, use **--annotation com.github.containers.virtcontainers.blkio\_cgroup**. This option can be configured only on the pause container. + + ``` + docker run -tid --runtime --network none --annotation io.kubernetes.docker.type=podsandbox --annotation com.github.containers.virtcontainers.blkio_cgroup= + ``` + + The value of **--annotation com.github.containers.virtcontainers.blkio\_cgroup** must comply with the definition of the BlkioCgroup structure. + + ``` + // BlkioCgroup for Linux cgroup 'blkio' data exchange + type BlkioCgroup struct { + // Items specifies per cgroup values + Items []BlockIOCgroupItem `json:"blkiocgroup,omitempty"` + } + + type BlockIOCgroupItem struct { + // Path represent path of blkio device + Path string `json:"path,omitempty"` + // Limits specifies the blkio type and value + Limits []IOLimit `json:"limits,omitempty"` + } + + type IOLimit struct { + // Type specifies IO type + Type string `json:"type,omitempty"` + // Value specifies rate or weight value + Value uint64 `json:"value,omitempty"` + } + ``` + + The values of the **Type** field in the **IOLimit** structure body are as follows: + + ``` + // BlkioThrottleReadBps is the key to fetch throttle_read_bps + BlkioThrottleReadBps = "throttle_read_bps" + + // BlkioThrottleWriteBps is the key to fetch throttle_write_bps + BlkioThrottleWriteBps = "throttle_write_bps" + + // BlkioThrottleReadIOPS is the key to fetch throttle_read_iops + BlkioThrottleReadIOPS = "throttle_read_iops" + + // BlkioThrottleWriteIOPS is the key to fetch throttle_write_iops + BlkioThrottleWriteIOPS = "throttle_write_iops" + + // BlkioWeight is the key to fetch blkio_weight + BlkioWeight = "blkio_weight" + + // BlkioLeafWeight is the key to fetch blkio_leaf_weight + BlkioLeafWeight = "blkio_leaf_weight" + ``` + + Example: + + ``` + docker run -tid --runtime kata-runtime --network none --annotation com.github.containers.virtcontainers.blkio_cgroup='{"blkiocgroup":[{"path":"/dev/sda","limits":[{"type":"throttle_read_bps","value":400},{"type":"throttle_write_bps","value":400},{"type":"throttle_read_iops","value":700},{"type":"throttle_write_iops","value":699}]},{"limits":[{"type":"blkio_weight","value":78}]}]}' busybox sleep 999999 + ``` + + The preceding command is used to limit the block I/O traffic of the **/dev/sda** disk used by the started secure container by setting **throttle\_read\_bps** to 400 bit/s, **throttle\_write\_bps** to 400 bit/s, **throttle\_read\_iops** to 700 times/s, **throttle\_write\_iops** to 699 times/s, and the weight of the block I/O cgroup to 78. + + diff --git a/content/en/docs/Container/limiting-cpu-resources.md b/content/en/docs/Container/limiting-cpu-resources.md new file mode 100644 index 000000000..fdbc60ca1 --- /dev/null +++ b/content/en/docs/Container/limiting-cpu-resources.md @@ -0,0 +1,146 @@ +# Limiting CPU Resources + +1. Configure CPU resources for running a lightweight VM. + + Configuring CPU resources of a lightweight VM is to configure the vCPUs for running the VM. The secure container uses **--annotation com.github.containers.virtcontainers.sandbox\_cpu** to configure the CPU resources for running the lightweight VM. This option can be configured only on the pause container. + + ``` + docker run -tid --runtime kata-runtime --network none --annotation io.kubernetes.docker.type=podsandbox --annotation com.github.containers.virtcontainers.sandbox_cpu= + ``` + + Example: + + ``` + #Start a pause container. + docker run -tid --runtime kata-runtime --network none --annotation io.kubernetes.docker.type=podsandbox --annotation com.github.containers.virtcontainers.sandbox_cpu=4 busybox sleep 999999 + be3255a3f66a35508efe419bc52eccd3b000032b9d8c9c62df611d5bdc115954 + + #Access the container and check whether the number of CPUs is the same as that configured in the com.github.containers.virtcontainers.sandbox_cpu file. + docker exec be32 lscpu + Architecture: aarch64 + Byte Order: Little Endian + CPU(s): 4 + On-line CPU(s) list: 0-3 + Thread(s) per core: 1 + Core(s) per socket: 1 + Socket(s): 4 + ``` + + >![](public_sys-resources/icon-note.gif) **NOTE:** + >The maximum number of CPUs that can be configured is the number of CPUs \(excluding isolated cores\) that can run on the OS. The minimum number of CPUs is 0.5. + +2. Configure CPU resources for running a container. + + The method of configuring CPU resources for a container is the same as that for an open-source Docker container. You can configure CPU resources by setting the following parameters in the **docker run** command: + + + + + + + + + + + + + + + + + + + + + + + + + +

Parameter

+

Description

+

--cpu-shares

+

Sets the percentage of CPU time that can be used by the container.

+

--cpus

+

Sets the number of CPUs that can be used by the container.

+

--cpu-period

+

Sets the scheduling period of the container process.

+

--cpu-quota

+

Sets the CPU time that can be used by the container process in a scheduling period.

+

--cpuset-cpus

+

Sets the list of CPUs that can be used by the container process.

+
NOTE:

When the secure container uses the --cpuset-cpus option to bind a CPU, the CPU ID cannot exceed the number of CPUs in the lightweight VM corresponding to the secure container minus 1. (The CPU ID in the lightweight VM starts from 0.)

+
+

--cpuset-mems

+

Sets the memory node that can be accessed by the container process.

+
NOTE:

Secure containers do not support the multi-NUMA architecture and configuration. The --cpuset-mems option of NUMA memory can only be set to 0.

+
+
+ +3. Configure CPU hot swap. + + >![](public_sys-resources/icon-note.gif) **NOTE:** + >The CPU hot swap function of the secure container requires the virtualization component QEMU. + + The **enable\_cpu\_memory\_hotplug** option in the kata-runtime configuration file **config.toml** is used to enable or disable CPU and memory hot swap. The default value is **false**, indicating that CPU and memory hot swap is disabled. If the value is **true**, CPU and memory hot swap is enabled. + + The **--cpus** option is reused in kata-runtime to implement the CPU hot swap function. The total number of **--cpus** options of all containers in a pod is calculated to determine the number of CPUs to be hot added to the lightweight VM. + + Example: + + ``` + #Start a pause container. By default, one vCPU is allocated to a lightweight VM. + docker run -tid --runtime kata-runtime --network none --annotation io.kubernetes.docker.type=podsandbox busybox sleep 999999 + 77b40fb72f63b11dd3fcab2f6dabfc7768295fced042af8c7ad9c0286b17d24f + + #View the number of CPUs in the lightweight VM after the pause container is started. + docker exec 77b40fb72f6 lscpu + Architecture: x86_64 + CPU op-mode(s): 32-bit, 64-bit + Byte Order: Little Endian + CPU(s): 1 + On-line CPU(s) list: 0 + Thread(s) per core: 1 + Core(s) per socket: 1 + Socket(s): 1 + + #Start a new container in the same pod and run the --cpus command to set the number of CPUs required by the container to 4. + docker run -tid --runtime kata-runtime --network none --cpus 4 --annotation io.kubernetes.docker.type=container --annotation io.kubernetes.sandbox.id=77b40fb72f63b11dd3fcab2f6dabfc7768295fced042af8c7ad9c0286b17d24f busybox sleep 999999 + 7234d666851d43cbdc41da356bf62488b89cd826361bb71d585a049b6cedafd3 + + #View the number of CPUs in the current lightweight VM. + docker exec 7234d6668 lscpu + Architecture: x86_64 + CPU op-mode(s): 32-bit, 64-bit + Byte Order: Little Endian + CPU(s): 4 + On-line CPU(s) list: 0-3 + Thread(s) per core: 1 + Core(s) per socket: 1 + Socket(s): 4 + + #View the number of CPUs in the lightweight VM after deleting the container where CPUs are hot added. + docker rm -f 7234d666851d + 7234d666851d + + docker exec 77b40fb72f6 lscpu + Architecture: x86_64 + CPU op-mode(s): 32-bit, 64-bit + Byte Order: Little Endian + CPU(s): 1 + On-line CPU(s) list: 0 + Thread(s) per core: 1 + Core(s) per socket: 1 + Socket(s): 1 + ``` + +    + +    + + >![](public_sys-resources/icon-note.gif) **NOTE:** + >The pause container is only a placeholder container and does not have any workload. Therefore, when a lightweight VM is started, the CPU allocated by default can be shared by other containers. Therefore, you only need to hot add three CPUs to the lightweight VM for the new container started in the preceding example. + + - After the container where the CPU is hot added is stopped, the CPU is removed when the container is started. + + diff --git a/content/en/docs/Container/limiting-file-descriptor-resources.md b/content/en/docs/Container/limiting-file-descriptor-resources.md new file mode 100644 index 000000000..3a5255524 --- /dev/null +++ b/content/en/docs/Container/limiting-file-descriptor-resources.md @@ -0,0 +1,15 @@ +# Limiting File Descriptor Resources + +To prevent the file descriptor resources on the host from being exhausted when a large number of files in the 9p shared directory are opened in the container, the secure container can customize the maximum number of file descriptors that can be opened by the QEMU process of the secure container. + +The secure container reuses the **--files-limit** option in the **docker run** command to set the maximum number of file descriptors that can be opened by the QEMU process of the secure container. This parameter can be configured only on the pause container. The usage method is as follows: + +``` +docker run -tid --runtime kata-runtime --network none --annotation io.kubernetes.docker.type=podsandbox --files-limit bash +``` + +>![](public_sys-resources/icon-note.gif) **NOTE:** +>- If the value of **--files-limit** is less than the default minimum value **1024** and is not **0**, the maximum number of file descriptors that can be opened by the QEMU process of the secure container is set to the minimum value **1024**. +>- If the value of **--files-limit** is 0, the maximum number of file descriptors that can be opened by the QEMU process of the secure container is the default value obtained by dividing the maximum number of file descriptors that can be opened by the system \(/proc/sys/fs/file-max\) by 400. +>- If the maximum number of file descriptors that can be opened by the QEMU process of the secure container is not displayed when the secure container is started, the maximum number of file descriptors that can be opened by the QEMU process of the secure container is the same as the system default value. + diff --git a/content/en/docs/Container/limiting-memory-resources.md b/content/en/docs/Container/limiting-memory-resources.md new file mode 100644 index 000000000..e741a1be2 --- /dev/null +++ b/content/en/docs/Container/limiting-memory-resources.md @@ -0,0 +1,96 @@ +# Limiting Memory Resources + +1. Configure memory resources for running a lightweight VM. + + Configuring the memory resources of a lightweight VM is to configure the memory for running the VM. The secure container uses **--annotation com.github.containers.virtcontainers.sandbox\_mem** to configure the memory resources for running the lightweight VM. This option can be configured only on the pause container. + + ``` + docker run -tid --runtime kata-runtime --network none --annotation io.kubernetes.docker.type=podsandbox --annotation com.github.containers.virtcontainers.sandbox_mem= + ``` + + Example: + + ``` + #Start a pause container and use --annotation com.github.containers.virtcontainers.sandbox_mem=4G to allocate 4 GB memory to the lightweight VM. + docker run -tid --runtime kata-runtime --network none --annotation io.kubernetes.docker.type=podsandbox --annotation com.github.containers.virtcontainers.sandbox_mem=4G busybox sleep 999999 + 1532c3e59e7a45cd6b419aa1db07dd0069b0cdd93097f8944177a25e457e4297 + + #View the memory information of the lightweight VM and check whether the memory size is the same as that configured in the com.github.containers.virtcontainers.sandbox_mem file. + docker exec 1532c3e free -m + total used free shared buff/cache available + Mem: 3950 20 3874 41 55 3858 + Swap: 0 0 0 + ``` + + >![](public_sys-resources/icon-note.gif) **NOTE:** + >- If the memory size of a lightweight VM is not set using **--annotation com.github.containers.virtcontainers.sandbox\_mem**, the lightweight VM uses 1 GB memory by default. + >- The minimum memory size of a pod in a secure container is 1 GB, and the maximum memory size is 256 GB. If the memory size allocated to a user exceeds 256 GB, an undefined error may occur. Currently, secure containers do not support the scenario where the memory size exceeds 256 GB. + +2. Configure memory resources for running a container. + + The method of configuring memory resources for running a container is the same as that for the open-source Docker container. You can configure memory resource limitation parameters in the **docker run** command. + + + + + + + + + + +

Parameter

+

Description

+

-m/--memory

+

Sets the memory size that can be used by the container process.

+
NOTE:
  • When memory hot swap is disabled, the value of -m must be less than or equal to the memory size allocated when the lightweight VM is started.
+
+
+ +3. Configure memory hot add. + + The memory hot add function is also configured by the **enable\_cpu\_memory\_hotplug** option in the kata-runtime configuration file **config.toml**. For details, see [3](limiting-cpu-resources.md#en-us_topic_0183903699_li2167326144011). + + >![](public_sys-resources/icon-note.gif) **NOTE:** + >Currently, memory resources support hot add only. + + The **-m** option is reused in kata-runtime to implement the memory hot add function. The sum of the **-m** options of all containers in a pod is collected to determine the number of memories to be hot added to a lightweight VM. + + Example: + + ``` + #Start a pause container. By default, 1 GB memory is allocated to the lightweight VM. + docker run -tid --runtime kata-runtime --network none --annotation io.kubernetes.docker.type=podsandbox busybox sleep 999999 + 99b78508ada3fa7dcbac457bb0f6e3784e64e7f7131809344c5496957931119f + + #View the memory size of the lightweight VM after the pause container is started. + docker exec 99b78508ada free -m + total used free shared buff/cache available + Mem: 983 18 914 36 50 908 + Swap: 0 0 0 + + #Start a new container in the same pod and run the -m command to set the memory size required by the container to 4 GB. + docker run -tid --runtime kata-runtime --network none -m 4G --annotation io.kubernetes.docker.type=container --annotation io.kubernetes.sandbox.id=99b78508ada3fa7dcbac457bb0f6e3784e64e7f7131809344c5496957931119f busybox sleep 999999 + c49461745a712b2ef3127fdf43b2cbb034b7614e6060b13db12b7a5ff3c830c8 + + #View the memory size of the lightweight VM. + docker exec c49461745 free -m + total used free shared buff/cache available + Mem: 4055 69 3928 36 57 3891 + Swap: 0 0 0 + + #After deleting the container where the CPU is hot added, check the memory size of the lightweight VM. + docker rm -f c49461745 + c49461745 + + #The hot added memory does not support the hot add function. Therefore, after the hot added memory container is deleted from the lightweight VM, the memory is still 4 GB. + docker exec 99b78508ada free -m + total used free shared buff/cache available + Mem: 4055 69 3934 36 52 3894 + Swap: 0 0 0 + ``` + + >![](public_sys-resources/icon-note.gif) **NOTE:** + >The pause container is only a placeholder container and does not have any workload. Therefore, the memory allocated to the lightweight VM during startup can be shared by other containers. You only need to hot add 3 GB memory to the lightweight VM for the new container started in the preceding example. + + diff --git a/content/en/docs/Container/listcontainers.md b/content/en/docs/Container/listcontainers.md new file mode 100644 index 000000000..eae6c620e --- /dev/null +++ b/content/en/docs/Container/listcontainers.md @@ -0,0 +1,44 @@ +# ListContainers + +## Prototype + +``` +rpc ListContainers(ListContainersRequest) returns (ListContainersResponse) {} +``` + +## Description + +This API is used to return the container information list. Filtering based on criteria is supported. + +## Parameters + + + + + + + + + +

Parameter

+

Description

+

ContainerFilter filter

+

Filter criteria.

+
+ +## Return Values + + + + + + + + + +

Return Value

+

Description

+

repeated Container containers

+

Container information list.

+
+ diff --git a/content/en/docs/Container/listcontainerstats.md b/content/en/docs/Container/listcontainerstats.md new file mode 100644 index 000000000..92b762508 --- /dev/null +++ b/content/en/docs/Container/listcontainerstats.md @@ -0,0 +1,44 @@ +# ListContainerStats + +## Prototype + +``` +rpc ListContainerStats(ListContainerStatsRequest) returns (ListContainerStatsResponse) {} +``` + +## Description + +This API is used to return the information about resources occupied by multiple containers. Filtering based on criteria is supported. + +## Parameters + + + + + + + + + +

Parameter

+

Description

+

ContainerStatsFilter filter

+

Filter criteria.

+
+ +## Return Values + + + + + + + + + +

Return Value

+

Description

+

repeated ContainerStats stats

+

Container information list. Note: Disks and inodes support only the query of containers started by OCI images.

+
+ diff --git a/content/en/docs/Container/listimages.md b/content/en/docs/Container/listimages.md new file mode 100644 index 000000000..b0416645a --- /dev/null +++ b/content/en/docs/Container/listimages.md @@ -0,0 +1,51 @@ +# ListImages + +## Prototype + +``` +rpc ListImages(ListImagesRequest) returns (ListImagesResponse) {} +``` + +## Description + +This API is used to list existing image information. + +## Precautions + +This is a unified API. You can run the **cri images** command to query embedded images. However, embedded images are not standard OCI images. Therefore, query results have the following restrictions: + +- An embedded image does not have an image ID. Therefore, the value of **image ID** is the config digest of the image. +- An embedded image has only config digest, and it does not comply with the OCI image specifications. Therefore, the value of **digest** cannot be displayed. + +## Parameters + + + + + + + + + +

Parameter

+

Description

+

ImageSpec filter

+

Name of the image to be filtered.

+
+ +## Return Values + + + + + + + + + +

Return Value

+

Description

+

repeated Image images

+

Image information list.

+
+ diff --git a/content/en/docs/Container/listing-images-4.md b/content/en/docs/Container/listing-images-4.md new file mode 100644 index 000000000..e4e936269 --- /dev/null +++ b/content/en/docs/Container/listing-images-4.md @@ -0,0 +1,24 @@ +# Listing Images + +## Description + +List all images in the current environment. + +## Usage + +``` +isula images [OPTIONS] +``` + +## Parameters + +For details about parameters in the **images** command, see [Table 6](command-line-parameters.md#en-us_topic_0189976507_table1698717275206). + +## Example + +``` +$ isula images +REF IMAGE ID CREATED SIZE +test:v1 9319da1f5233 2018-03-01 10:55:44 1.273 MB +``` + diff --git a/content/en/docs/Container/listing-images.md b/content/en/docs/Container/listing-images.md new file mode 100644 index 000000000..cd7637513 --- /dev/null +++ b/content/en/docs/Container/listing-images.md @@ -0,0 +1,24 @@ +# Listing Images + +## Description + +List all images in the current environment. + +## Usage + +``` +isula images +``` + +## Parameters + +For details about parameters in the **images** command, see [Table 6](command-line-parameters.md#en-us_topic_0189976507_table1698717275206). + +## Example + +``` +$ isula images +REF IMAGE ID CREATED SIZE +rnd-dockerhub.huawei.com/official/busybox:latest e4db68de4ff2 2019-06-15 08:19:54 1.376 MB +``` + diff --git a/content/en/docs/Container/listpodsandbox.md b/content/en/docs/Container/listpodsandbox.md new file mode 100644 index 000000000..3ed54367e --- /dev/null +++ b/content/en/docs/Container/listpodsandbox.md @@ -0,0 +1,44 @@ +# ListPodSandbox + +## Prototype + +``` +rpc ListPodSandbox(ListPodSandboxRequest) returns (ListPodSandboxResponse) {} +``` + +## Description + +This API is used to return the sandbox information list. Filtering based on criteria is supported. + +## Parameters + + + + + + + + + +

Parameter

+

Description

+

PodSandboxFilter filter

+

Filter criteria.

+
+ +## Return Values + + + + + + + + + +

Return Value

+

Description

+

repeated PodSandbox items

+

Sandbox information list.

+
+ diff --git a/content/en/docs/Container/load.md b/content/en/docs/Container/load.md new file mode 100644 index 000000000..17350802c --- /dev/null +++ b/content/en/docs/Container/load.md @@ -0,0 +1,20 @@ +# load + +Syntax: **docker load \[**_options_**\]** + +Function: Reloads an image from .tar package obtained by running the **docker save** command. This parameter corresponds to the **docker save** command. + +Parameter description: + +**-i** and **--input=""** can be used. + +Example: + +``` +$ sudo docker load -i busybox.tar +Loaded image ID: sha256:e02e811dd08fd49e7f6032625495118e63f597eb150403d02e3238af1df240ba +$ sudo docker images +REPOSITORY TAG IMAGE ID CREATED SIZE +busybox latest e02e811dd08f 2 years ago 1.09MB +``` + diff --git a/content/en/docs/Container/loading-images-3.md b/content/en/docs/Container/loading-images-3.md new file mode 100644 index 000000000..ecbce1a07 --- /dev/null +++ b/content/en/docs/Container/loading-images-3.md @@ -0,0 +1,23 @@ +# Loading Images + +## Description + +Load images based on the **manifest** files of embedded images. The value of **--type** must be set to **embedded**. + +## Usage + +``` +isula load [OPTIONS] --input=FILE --type=TYPE +``` + +## Parameters + +For details about parameters in the **load** command, see [Table 5](command-line-parameters.md#en-us_topic_0189976507_table99761512187). + +## Example + +``` +$ isula load -i test.manifest --type embedded +Load image from "/root/work/bugfix/tmp/ci_testcase_data/embedded/img/test.manifest" success +``` + diff --git a/content/en/docs/Container/loading-images.md b/content/en/docs/Container/loading-images.md new file mode 100644 index 000000000..9948b21a7 --- /dev/null +++ b/content/en/docs/Container/loading-images.md @@ -0,0 +1,23 @@ +# Loading Images + +## Description + +Load images from a .tar package. The .tar package must be exported by using the **docker save** command or must be in the same format. + +## Usage + +``` +isula load [OPTIONS] +``` + +## Parameters + +For details about parameters in the **load** command, see [Table 5](command-line-parameters.md#en-us_topic_0189976507_table99761512187). + +## Example + +``` +$ isula load -i busybox.tar +Load image from "/root/busybox.tar" success +``` + diff --git a/content/en/docs/Container/logging-in-to-a-registry.md b/content/en/docs/Container/logging-in-to-a-registry.md new file mode 100644 index 000000000..1c1d042ef --- /dev/null +++ b/content/en/docs/Container/logging-in-to-a-registry.md @@ -0,0 +1,24 @@ +# Logging In to a Registry + +## Description + +The **isula login** command is run to log in to a registry. After successful login, you can run the **isula pull** command to pull images from the registry. If the registry does not require a password, you do not need to run this command before pulling images. + +## Usage + +``` +isula login [OPTIONS] SERVER +``` + +## Parameters + +For details about parameters in the **login** command, see [Table 1](command-line-parameters.md#en-us_topic_0189976507_table2711184314112). + +## Example + +``` +$ isula login -u abc my.csp-edge.com:5000 + +Login Succeeded +``` + diff --git a/content/en/docs/Container/logging-out-of-a-registry.md b/content/en/docs/Container/logging-out-of-a-registry.md new file mode 100644 index 000000000..aeeba5edb --- /dev/null +++ b/content/en/docs/Container/logging-out-of-a-registry.md @@ -0,0 +1,23 @@ +# Logging Out of a Registry + +## Description + +The **isula logout** command is run to log out of a registry. If you run the **isula pull** command to pull images from the registry after logging out of the system, the image will fail to be pulled because you are not authenticated. + +## Usage + +``` +isula logout SERVER +``` + +## Parameters + +For details about parameters in the **logout** command, see [Table 2](command-line-parameters.md#en-us_topic_0189976507_table184058282137). + +## Example + +``` +$ isula logout my.csp-edge.com:5000 +Logout Succeeded +``` + diff --git a/content/en/docs/Container/login.md b/content/en/docs/Container/login.md new file mode 100644 index 000000000..3aa5ee3c7 --- /dev/null +++ b/content/en/docs/Container/login.md @@ -0,0 +1,20 @@ +# login + +Syntax: **docker login \[**_options_**\] \[**_server_**\]** + +Function: Logs in to an image server. If no server is specified, the system logs in to **https://index.docker.io/v1/** by default. + +Parameter description: + +**-e** and **--email=""**: Email address. + +**-p** and **--password=""**: Password. + +**-u** and **--username=""**: User name. + +Example: + +``` +$ sudo docker login +``` + diff --git a/content/en/docs/Container/logout.md b/content/en/docs/Container/logout.md new file mode 100644 index 000000000..0655049bd --- /dev/null +++ b/content/en/docs/Container/logout.md @@ -0,0 +1,14 @@ +# logout + +Syntax: **docker logout \[**_server_**\]** + +Function: Logs out of an image server. If no server is specified, the system logs out of **https://index.docker.io/v1/** by default. + +Parameter description: none. + +Example: + +``` +$ sudo docker logout +``` + diff --git a/content/en/docs/Container/logs.md b/content/en/docs/Container/logs.md new file mode 100644 index 000000000..8d97f2f54 --- /dev/null +++ b/content/en/docs/Container/logs.md @@ -0,0 +1,48 @@ +# logs + +Syntax: **docker logs \[**_options_**\]** _container_ + +Function: Captures logs in a container that is in the **running** or **stopped** state. + +Parameter description: + +**-f** and **--follow=false**: Print logs in real time. + +**-t** and **--timestamps=false**: Display the log timestamp. + +**--since**: Displays logs generated after the specified time. + +**--tail="all"**: Sets the number of lines to be displayed. By default, all lines are displayed. + +Example: + +1. Run the following command to check the logs of the jaegertracing container where a jaegertracing service runs: + + ``` + $ sudo docker logs jaegertracing + {"level":"info","ts":1566979103.3696961,"caller":"healthcheck/handler.go:99","msg":"Health Check server started","http-port":14269,"status":"unavailable"} + {"level":"info","ts":1566979103.3820567,"caller":"memory/factory.go:55","msg":"Memory storage configuration","configuration":{"MaxTraces":0}} + {"level":"info","ts":1566979103.390773,"caller":"tchannel/builder.go:94","msg":"Enabling service discovery","service":"jaeger-collector"} + {"level":"info","ts":1566979103.3908608,"caller":"peerlistmgr/peer_list_mgr.go:111","msg":"Registering active peer","peer":"127.0.0.1:14267"} + {"level":"info","ts":1566979103.3922884,"caller":"all-in-one/main.go:186","msg":"Starting agent"} + {"level":"info","ts":1566979103.4047635,"caller":"all-in-one/main.go:226","msg":"Starting jaeger-collector TChannel server","port":14267} + {"level":"info","ts":1566979103.404901,"caller":"all-in-one/main.go:236","msg":"Starting jaeger-collector HTTP server","http-port":14268} + {"level":"info","ts":1566979103.4577134,"caller":"all-in-one/main.go:256","msg":"Listening for Zipkin HTTP traffic","zipkin.http-port":9411} + ``` + +    + +2. Add **-f** to the command to output the logs of the jaegertracing container in real time. + + ``` + $ sudo docker logs -f jaegertracing + {"level":"info","ts":1566979103.3696961,"caller":"healthcheck/handler.go:99","msg":"Health Check server started","http-port":14269,"status":"unavailable"} + {"level":"info","ts":1566979103.3820567,"caller":"memory/factory.go:55","msg":"Memory storage configuration","configuration":{"MaxTraces":0}} + {"level":"info","ts":1566979103.390773,"caller":"tchannel/builder.go:94","msg":"Enabling service discovery","service":"jaeger-collector"} + {"level":"info","ts":1566979103.3908608,"caller":"peerlistmgr/peer_list_mgr.go:111","msg":"Registering active peer","peer":"127.0.0.1:14267"} + {"level":"info","ts":1566979103.3922884,"caller":"all-in-one/main.go:186","msg":"Starting agent"} + ``` + +    + + diff --git a/content/en/docs/Container/managing-the-lifecycle-of-a-secure-container.md b/content/en/docs/Container/managing-the-lifecycle-of-a-secure-container.md new file mode 100644 index 000000000..bd9c9b33a --- /dev/null +++ b/content/en/docs/Container/managing-the-lifecycle-of-a-secure-container.md @@ -0,0 +1,4 @@ +# Managing the Lifecycle of a Secure Container + + + diff --git a/content/en/docs/Container/many-to-many-user-namespaces.md b/content/en/docs/Container/many-to-many-user-namespaces.md new file mode 100644 index 000000000..339705d4f --- /dev/null +++ b/content/en/docs/Container/many-to-many-user-namespaces.md @@ -0,0 +1,78 @@ +# Many-to-Many User Namespaces + +## Function Description + +User namespaces are used to map user **root** of a container to a common user of the host and allow the processes and user in the container \(that are unprivileged on the host\) to have privilege. This can prevent the processes in the container from escaping to the host and performing unauthorized operations. In addition, after user namespaces are used, the container and host use different UIDs and GIDs. This ensures that user resources in the container such as file descriptors are isolated from those on the host. + +In system containers, you can configure the **--user-remap** API parameter to map user namespaces of different containers to different user namespaces on the host, isolating the user namespaces of containers. + +## Parameter Description + + + + + + + + + + + + +

Command

+

Parameter

+

Value Description

+

isula create/run

+

--user-remap

+

The parameter format is uid:gid:offset. The parameter is described as follows:

+
  • uid and gid must be integers greater than or equal to 0.
  • offset must be an integer greater than 0 and less than 65536. The value cannot be too small. Otherwise, the container cannot be started.
  • Either the sum of uid and offset or the sum of gid and offset must be less than or equal to 232 - 1. Otherwise, an error is reported during container startup.
+
+ +## Constraints + +- If **--user-remap** is specified in a system container, the rootfs directory must be accessible to users specified by _uid_ or _gid_ in **--user-remap**. Otherwise, user namespaces of containers cannot access rootfs. As a result, the containers fail to be started. +- All IDs in the container can be mapped to the host rootfs. Some directories or files may be mounted from the host to containers, for example, device files in the **/dev/pts** directory. If _offset_ is too small, the mounting may fail. +- _uid_, _gid_, and _offset_ are controlled by the upper-layer scheduling platform. The container engine only checks the validity of them. +- **--user-remap** is available only in system containers. +- **--user-remap** and **--privileged** cannot be set simultaneously. Otherwise, an error is reported during container startup. +- If _uid_ or _gid_ is set to **0**, **--user-remap** does not take effect. + +## Usage Guide + +>![](public_sys-resources/icon-note.gif) **NOTE:** +>Before specifying the **--user-remap** parameter, configure an offset value for UIDs and GIDs of all directories and files in rootfs. The offset value should be equal to that for _uid_ and _gid_ in **--user-remap**. +>For example, run the following command to offset UIDs and GIDs of all files in the **dev** directory with 100000: +>chown 100000:100000 dev + +Specify the **--user-remap** parameter when the system container is started. + +``` +[root@localhost ~]# isula run -tid --user-remap 100000:100000:65535 --system-container --external-rootfs /home/root-fs none /sbin/init +eb9605b3b56dfae9e0b696a729d5e1805af900af6ce24428fde63f3b0a443f4a +``` + +Check the /sbin/init process information on the host and in a container. + +``` +[root@localhost ~]# isula exec eb ps aux | grep /sbin/init +root 1 0.6 0.0 21624 9624 ? Ss 15:47 0:00 /sbin/init +[root@localhost ~]# ps aux | grep /sbin/init +100000 4861 0.5 0.0 21624 9624 ? Ss 15:47 0:00 /sbin/init +root 4948 0.0 0.0 213032 808 pts/0 S+ 15:48 0:00 grep --color=auto /sbin/init +``` + +The owner of the /sbin/init process in the container is user **root**, but the owner of the host is the user whose UID is **100000**. + +Create a file in a container and view the file owner on the host. + +``` +[root@localhost ~]# isula exec -it eb bash +[root@localhost /]# echo test123 >> /test123 +[root@localhost /]# exit +exit +[root@localhost ~]# ll /home/root-fs/test123 +-rw-------. 1 100000 100000 8 Aug 2 15:52 /home/root-fs/test123 +``` + +The owner of the file that is generated in the container is user **root**, but the file owner displayed on the host is the user whose ID is **100000**. + diff --git a/content/en/docs/Container/maximum-number-of-handles.md b/content/en/docs/Container/maximum-number-of-handles.md new file mode 100644 index 000000000..b22fbfdfd --- /dev/null +++ b/content/en/docs/Container/maximum-number-of-handles.md @@ -0,0 +1,56 @@ +# Maximum Number of Handles + +## Function Description + +System containers support limit on the number of file handles. File handles include common file handles and network sockets. When starting a container, you can specify the **--files-limit** parameter to limit the maximum number of handles opened in the container. + +## Parameter Description + + + + + + + + + + + + +

Command

+

Parameter

+

Value Description

+

isula create/run

+

--files-limit

+

  

+
  • The value cannot be negative and must be an integer.
  • The value 0 indicates that the number is not limited by the parameter. The maximum number is determined by the current kernel files cgroup.
+
+ +## Constraints + +- If the value of **--files-limit** is too small, the system container may fail to run the **exec** command and the error "open temporary files" is reported. Therefore, you are advised to set the parameter to a large value. +- File handles include common file handles and network sockets. + +## Example + +To use **--files-limit** to limit the number of file handles opened in a container, run the following command to check whether the kernel supports files cgroup: + +``` +[root@localhost ~]# cat /proc/1/cgroup | grep files +10:files:/ +``` + +If **files** is displayed, files cgroup is supported. + +Start the container, specify the **--files-limit** parameter, and check whether the **files.limit** parameter is successfully written. + +``` +[root@localhost ~]# isula run -tid --files-limit 1024 --system-container --external-rootfs /tmp/root-fs empty init 01e82fcf97d4937aa1d96eb8067f9f23e4707b92de152328c3fc0ecb5f64e91d +[root@localhost ~]# isula exec -it 01e82fcf97d4 bash +[root@localhost ~]# cat /sys/fs/cgroup/files/files.limit +1024 + +``` + +The preceding information indicates that the number of file handles is successfully limited in the container. + diff --git a/content/en/docs/Container/modification-operations.md b/content/en/docs/Container/modification-operations.md new file mode 100644 index 000000000..0ac221a11 --- /dev/null +++ b/content/en/docs/Container/modification-operations.md @@ -0,0 +1,51 @@ +# Modification Operations + +## Precautions for Starting Multiple Processes in Container Using docker exec + +When the first **docker exec** command executed in a container is the **bash** command, ensure that all processes started by **exec** are stopped before you run the **exit** command. Otherwise, the device may stop responding when you run the **exit** command. To ensure that the process started by **exec** is still running in the background when the **exit** command is run, add **nohup** when starting the process. + +## Usage Conflict Between docker rename and docker stats _container\_name_ + +If you run the **docker stats **_container\_name_ command to monitor a container in real time, after the container is renamed by using **docker rename**, the name displayed after **docker stats** is executed is the original name instead of the renamed one. + +## Failed to Perform docker rename Operation on Container in restarting State + +When the rename operation is performed on a container in the restarting state, Docker modifies the container network configuration accordingly. The container in the restarting state may not be started and the network does not exist. As a result, the rename operation reports an error indicating that the sandbox does not exist. You are advised to rename only containers that are not in the restarting state. + +## docker cp + +1. When you run **docker cp** to copy files to a container, all operations on the container can be performed only after the **docker cp** command is executed. +2. When a container runs as a non-**root** user, and you run the **docker cp** command to copy a non-**root** file on the host to the container, the permission role of the file in the container changes to **root**. Different from the **cp** command, the **docker cp** command changes UIDs and GIDs of the files copied to the container to **root**. + +## docker login + +After the **docker login** command is executed, **usrer/passwd** encrypted by AES \(256-bit\) is saved in **/root/.docker/config.json**. At the same time, _root_**.docker/aeskey** \(permission 0600\) is generated to decrypt **usrer/passwd** in **/root/.docker/config.json**. Currently, AES key cannot be updated periodically. You need to manually delete the AES key for updating. After AES key is updated, you need to log in to Docker daemon again to push the AES key no matter whether Docker daemon is restarted. For example: + +``` +root@hello:~/workspace/dockerfile# docker login +Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one. +Username: example Password: +Login Succeeded +root@hello:~/workspace/dockerfile# docker push example/empty +The push refers to a repository [docker.io/example/empty] +547b6288eb33: Layer already exists +latest: digest: sha256:99d4fb4ce6c6f850f3b39f54f8eca0bbd9e92bd326761a61f106a10454b8900b size: 524 +root@hello:~/workspace/dockerfile# rm /root/.docker/aeskey +root@hello:~/workspace/dockerfile# docker push example/empty +WARNING: Error loading config file:/root/.docker/config.json - illegal base64 data at input byte 0 +The push refers to a repository [docker.io/example/empty] +547b6288eb33: Layer already exists +errors: +denied: requested access to the resource is denied +unauthorized: authentication required +root@hello:~/workspace/dockerfile# docker login +Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one. +Username: example +Password: +Login Succeeded +root@hello:~/workspace/dockerfile# docker push example/empty +The push refers to a repository [docker.io/example/empty] +547b6288eb33: Layer already exists +latest: digest: sha256:99d4fb4ce6c6f850f3b39f54f8eca0bbd9e92bd326761a61f106a10454b8900b size: 524 +``` + diff --git a/content/en/docs/Container/monitoring-secure-containers.md b/content/en/docs/Container/monitoring-secure-containers.md new file mode 100644 index 000000000..f94400944 --- /dev/null +++ b/content/en/docs/Container/monitoring-secure-containers.md @@ -0,0 +1,144 @@ +# Monitoring Secure Containers + +## Description + +The **kata events** command is used to view the status information of a specified container. The information includes but is not limited to the container memory, CPU, PID, Blkio, hugepage memory, and network information. + +## Usage + +``` +kata-runtime events [command options] +``` + +## Parameters + +- **-- interval value**: specifies the query period. If this parameter is not specified, the default query period is 5 seconds. +- **--stats**: displays container information and exits the query. + +## Prerequisites + +The container to be queried must be in the **running** state. Otherwise, the following error message will be displayed: "Container ID \(\) does not exist". + +This command can be used to query the status of only one container. + +## Example + +- The container status is displayed every three seconds. + + ``` + $ kata-runtime events --interval 3s 5779b2366f47 + { + "data": { + "blkio": {}, + "cpu": { + "throttling": {}, + "usage": { + "kernel": 130000000, + "percpu": [ + 214098440 + ], + "total": 214098440, + "user": 10000000 + } + }, + "hugetlb": {}, + "intel_rdt": {}, + "interfaces": [ + { + "name": "lo", + "rx_bytes": 0, + "rx_dropped": 0, + "rx_errors": 0, + "rx_packets": 0, + "tx_bytes": 0, + "tx_dropped": 0, + "tx_errors": 0, + "tx_packets": 0 + } + ], + "memory": { + "cache": 827392, + "kernel": { + "failcnt": 0, + "limit": 9223372036854771712, + "max": 421888, + "usage": 221184 + }, + "kernelTCP": { + "failcnt": 0, + "limit": 0 + }, + "raw": { + "active_anon": 49152, + "active_file": 40960, + "cache": 827392, + "dirty": 0, + "hierarchical_memory_limit": 9223372036854771712, + "hierarchical_memsw_limit": 9223372036854771712, + "inactive_anon": 0, + "inactive_file": 839680, + "mapped_file": 540672, + "pgfault": 6765, + "pgmajfault": 0, + "pgpgin": 12012, + "pgpgout": 11803, + "rss": 4096, + "rss_huge": 0, + "shmem": 32768, + "swap": 0, + "total_active_anon": 49152, + "total_active_file": 40960, + "total_cache": 827392, + "total_dirty": 0, + "total_inactive_anon": 0, + "total_inactive_file": 839680, + "total_mapped_file": 540672, + "total_pgfault": 6765, + "total_pgmajfault": 0, + "total_pgpgin": 12012, + "total_pgpgout": 11803, + "total_rss": 4096, + "total_rss_huge": 0, + "total_shmem": 32768, + "total_swap": 0, + "total_unevictable": 0, + "total_writeback": 0, + "unevictable": 0, + "writeback": 0 + }, + "swap": { + "failcnt": 0, + "limit": 9223372036854771712, + "max": 34201600, + "usage": 1204224 + }, + "usage": { + "failcnt": 0, + "limit": 9223372036854771712, + "max": 34201600, + "usage": 1204224 + } + }, + "pids": { + "current": 1 + }, + "tcp": {}, + "tcp6": {}, + "udp": {}, + "udp6": {} + }, + "id": "5779b2366f47cd1468ebb1ba7c52cbdde3c7d3a5f2af3eefadc8356700fc860b", + "type": "stats" + } + ``` + + +- The query exits after the container status is displayed. + + ``` + kata-runtime events --stats + ``` + + The format of the command output is the same as that of the previous command. However, the output of this command is displayed only once. + + diff --git a/content/en/docs/Container/nic-management.md b/content/en/docs/Container/nic-management.md new file mode 100644 index 000000000..f6baf08e3 --- /dev/null +++ b/content/en/docs/Container/nic-management.md @@ -0,0 +1,105 @@ +# NIC Management + +## Function Description + +isulad-tools allows you to insert physical or virtual NICs on the host to a container. If the NICs are not required, isulad-tools allows you to delete them from the container and return them to the host. In addition, the NIC configurations can be dynamically modified. To insert a physical NIC, add the NIC on the host to the container. To insert a virtual NIC, create a veth pair and insert its one end to the container. + +## Command Format + +``` +isulad-tools [COMMADN][OPTIONS] +``` + +In the preceding format: + +**COMMAND**: command related to NIC management. + +**OPTIONS**: option supported by the NIC management command. + +**container\_id**: container ID. + +## Parameter Description + + + + + + + + + + + + + + + + + + + + + + + + +

Command

+

Function Description

+

Option Description

+

add-nic

+

Creates an NIC for a container.

+

Supported options are as follows:

+
  • --type: specifies the NIC type. Only eth and veth are supported.
  • --name: specifies the NIC name. The format is [host:]container. If host is not specified, a random value is used.
  • --ip: specifies the NIC IP address.
  • --mac: specifies the NIC MAC address.
  • --bridge: specifies the network bridge bound to the NIC.
  • --mtu: specifies the MTU value of the NIC. The default value is 1500.
  • --update-config-only: If this flag is set, only configuration files are updated and NICs are not added.
  • --qlen: specifies the value of QLEN. The default value is 1000.
+

remove-nic

+

Deletes NICs from a container and restores them to the host.

+

Supported options are as follows:

+
  • --type: specifies the NIC type.
  • --name: specifies the name of the NIC. The format is [host:]container.
+

list-nic

+

Lists all NICs in a container.

+

Supported options are as follows:

+
  • --pretty: outputs data in JSON format.
  • --filter: outputs filtered data in the specific format, for example, --filter' {"ip":"192.168.3.4/24", "Mtu":1500}'.
+

update-nic

+

Modifies configuration parameters of a specified NIC in a container.

+

Supported options are as follows:

+
  • --name: specifies the name of the NIC in the container. This parameter is mandatory.
  • --ip: specifies the NIC IP address.
  • --mac: specifies the NIC MAC address.
  • --bridge: specifies the network bridge bound to the NIC.
  • --mtu: specifies the MTU value of the NIC.
  • --update-config-only: If this flag is set, configuration files are updated and NICs are not updated.
  • --qlen: specifies the value of QLEN.
+
+ +## Constraints + +- Physical NICs \(eth\) and virtual NICs \(veth\) can be added. +- When adding a NIC, you can also configure the NIC. The configuration parameters include **--ip**, **--mac**, **--bridge**, **--mtu**, **--qlen**. +- A maximum of eight physical NICs can be added to a container. +- If you run the **isulad-tools add-nic** command to add an eth NIC to a container and do not add a hook, you must manually delete the NIC before the container exits. Otherwise, the name of the eth NIC on the host will be changed to the name of that in the container. +- For a physical NIC \(except 1822 VF NIC\), use the original MAC address when running the **add-nic** command. Do not change the MAC address in the container, or when running the **update-nic** command. +- When using the **isulad-tools add-nic** command, set the MTU value. The value range depends on the NIC model. +- When using isulad-tools to add NICs and routes to containers, you are advised to run the **add-nic** command to add NICs and then run the **add-route** command to add routes. When using isulad-tools to delete NICs and routes from a container, you are advised to run the **remove-route** command to delete routes and then run the **remove-nic** command to delete NICs. +- When using isulad-tools to add NICs, add a NIC to only one container. + +## Example + +- Start a system container, and set **hook spec** to the isulad hook execution script. + + ``` + [root@localhost ~]# isula run -tid --hook-spec /etc/isulad-tools/hookspec.json --system-container --external-rootfs /root/root-fs none init + 2aaca5c1af7c872798dac1a468528a2ccbaf20b39b73fc0201636936a3c32aa8 + ``` + + +- Add a virtual NIC to a container. + + ``` + [root@localhost ~]# isulad-tools add-nic --type "veth" --name abc2:bcd2 --ip 172.17.28.5/24 --mac 00:ff:48:13:xx:xx --bridge docker0 2aaca5c1af7c + Add network interface to container 2aaca5c1af7c (bcd2,abc2) done + ``` + +- Add a physical NIC to a container. + + ``` + [root@localhost ~]# isulad-tools add-nic --type "eth" --name eth3:eth1 --ip 172.17.28.6/24 --mtu 1300 --qlen 2100 2aaca5c1af7c + Add network interface to container 2aaca5c1af7c (eth3,eth1) done + ``` + + >![](public_sys-resources/icon-note.gif) **NOTE:** + >When adding a virtual or physical NIC, ensure that the NIC is in the idle state. Adding a NIC in use will disconnect the system network. + + diff --git a/content/en/docs/Container/nics-may-be-residual.md b/content/en/docs/Container/nics-may-be-residual.md new file mode 100644 index 000000000..8152e26f0 --- /dev/null +++ b/content/en/docs/Container/nics-may-be-residual.md @@ -0,0 +1,4 @@ +# NICs May Be Residual + +When a container is started in bridge mode, forcibly killing may cause residual NICs. In bridge network mode, when Docker creates a container, a pair of veths are created on the host, and then the NIC information is saved to the database. If daemon is forcibly killed before the NIC information is saved to the database of Docker, the NIC cannot be associated with Docker and cannot be deleted during the next startup because Docker deletes unused NICs from its database. + diff --git a/content/en/docs/Container/obtaining-container-logs.md b/content/en/docs/Container/obtaining-container-logs.md new file mode 100644 index 000000000..afa308848 --- /dev/null +++ b/content/en/docs/Container/obtaining-container-logs.md @@ -0,0 +1,62 @@ +# Obtaining Container Logs + +## Description + +To obtain container logs, run the **isula logs** command. Only containers whose runtime is of the LCR type are supported. + +## **Usage** + +``` +isula logs [OPTIONS] [CONTAINER...] +``` + +## Parameters + +The following table lists the parameters supported by the **logs** command. + +**Table 1** Parameter description + + + + + + + + + + + + + + + + + +

Command

+

Parameter

+

Description

+

logs

+

  

+

-H, --host

+

Specifies the iSulad socket file path to be accessed.

+

-f, --follow

+

Traces log output.

+

--tail

+

Displays the number of log records.

+
+ +## Constraints + +- By default, the container log function is enabled. To disable this function, run the **isula create --log-opt disable-log=true** or **isula run --log-opt disable-log=true** command. + +## Example + +Obtain container logs. + +``` +$ isula logs 6a144695f5dae81e22700a8a78fac28b19f8bf40e8827568b3329c7d4f742406 +hello, world +hello, world +hello, world +``` + diff --git a/content/en/docs/Container/obtaining-event-messages-from-the-server-in-real-time.md b/content/en/docs/Container/obtaining-event-messages-from-the-server-in-real-time.md new file mode 100644 index 000000000..7dd38ffd5 --- /dev/null +++ b/content/en/docs/Container/obtaining-event-messages-from-the-server-in-real-time.md @@ -0,0 +1,51 @@ +# Obtaining Event Messages from the Server in Real Time + +## **Description** + +The **isula events** command is used to obtain event messages such as container image lifecycle and running event from the server in real time. Only containers whose runtime type is **lcr** are supported. + +## **Usage** + +``` +isula events [OPTIONS] +``` + +## Parameter + + + + + + + + + + + + + + + + + + +

Command

+

Parameter

+

Description

+

events

+

-H, --host

+

Specifies the iSulad socket file path to be accessed.

+

-n, --name

+

Obtains event messages of a specified container.

+

-S, --since

+

Obtains event messages generated since a specified time.

+
+ +## Example + +Run the following command to obtain event messages from the server in real time: + +``` +$ isula events +``` + diff --git a/content/en/docs/Container/overlay2-storage-driver-configuration.md b/content/en/docs/Container/overlay2-storage-driver-configuration.md new file mode 100644 index 000000000..f34a38f97 --- /dev/null +++ b/content/en/docs/Container/overlay2-storage-driver-configuration.md @@ -0,0 +1,122 @@ +# overlay2 Storage Driver Configuration + +## Configuration Methods + +overlay2 is the default storage driver of Docker. You can also use either of the following methods to check or configure the driver: + +- Edit the **/etc/docker/daemon.json** file to check or configure the **storage-driver** field. + + ``` + cat /etc/docker/daemon.json + { + "storage-driver": "overlay2" + } + ``` + + +- Edit the **/etc/sysconfig/docker-storage** file and check or configure the Docker daemon startup parameters. + + ``` + cat /etc/sysconfig/docker-storage + DOCKER_STORAGE_OPTIONS="--storage-driver=overlay2" + ``` + + +## Precautions + +- When you perform lifecycle management operations on some containers, an error may be reported, indicating that the corresponding rootfs or executable file cannot be found. +- If the health check of a container is configured to execute executable files in the container, an error may be reported, which causes the health check failure of the container. + +- When you use overlay2 as the graphdriver and modify an image file in a container for the first time, the modification fails if the file size is greater than the remaining space of the system. Even if a little modification on the file is involved, the whole file must be copied to the upper layer. If the remaining space is insufficient, the modification fails. +- Compared with common file systems, the overlay2 file system has the following behavior differences: + - Kernel version + + overlay2 is compatible only with the native kernel 4.0 or later. You are advised to use the Ext4 file system. + + - Copy-UP performance + + Modifying files at the lower layer triggers file replication to the upper layer. Data block replication and fsync are time-consuming. + + - Rename directories + - The rename system call is allowed only when both the source and the destination paths are at the merged layer. Otherwise, the EXDEV error is reported. + - Kernel 4.10 introduces the redirect directory feature to fix this issue. The corresponding kernel option is **CONFIG\_OVERLAY\_FS\_REDIRECT\_DIR**. + + When overlay2 is used, a file system directory fails to be renamed because the related feature configured in the **/sys/module/overlay/parameters/redirect\_dir** file has been disabled. To use this feature, you need to manually set **/sys/module/overlay/parameters/redirect\_dir** to **Y**. + + - Hard link disconnection + - If there are multiple hard links in the lower-layer directory, writing data to the merged layer will trigger Copy-UP, resulting in hard link disconnection. + - The index feature is introduced in kernel 4.13 to fix this issue. The corresponding kernel option is **CONFIG\_OVERLAY\_FS\_INDEX**. Note that this option is not forward compatible and does not support hot upgrade. + + - Changes of **st\_dev** and **st\_ino** + + After Copy-UP is triggered, you can view only new files at the merged layer, and inodes change. Although **attr** and **xattr** can be replicated, **st\_dev** and **st\_ino** are unique and cannot be replicated. As a result, you can run **stat** and **ls** commands to check inode changes accordingly. + + - fd change + + Before Copy-UP is triggered, you can obtain the descriptor fd1 when opening a file in read-only mode. After Copy-UP is trigger, you can obtain the descriptor fd2 when opening the file with the same name. The two descriptors point to different files. The data written to fd2 is not displayed in fd1. + + + +## Abnormal Scenarios + +When a container uses the overlay2 storage driver, mount points may be overwritten. + +   + +## Abnormal Scenario: Mount Point Being Overwritten + +In the faulty container, there is a mount point in **/var/lib/docker/overlay2**. + +``` +[root@localhost ~]# mount -l | grep overlay +overlay on /var/lib/docker/overlay2/844fd3bca8e616572935808061f009d106a8748dfd29a0a4025645457fa21785/merged type overlay (rw,relatime,seclabel,lowerdir=/var/lib/docker/overlay2/l/JL5PZQLNDCIBU3ZOG3LPPDBHIJ:/var/lib/docker/overlay2/l/ELRPYU4JJG4FDPRLZJCZZE4UO6,upperdir=/var/lib/docker/overlay2/844fd3bca8e616572935808061f009d106a8748dfd29a0a4025645457fa21785/diff,workdir=/var/lib/docker/overlay2/844fd3bca8e616572935808061f009d106a8748dfd29a0a4025645457fa21785/work) +/dev/mapper/dm-root on /var/lib/docker/overlay2 type ext4 (rw,relatime,seclabel,data=ordered) +``` + +An error as follows may occur when some Docker commands are executed: + +``` +[root@localhost ~]# docker rm 1348136d32 +docker rm: Error response from daemon: driver "overlay2" failed to remove root filesystem for 1348136d32: error while removing /var/lib/docker/overlay2/844fd3bca8e616572935808061f009d106a8748dfd29a0a4025645457fa21785: invalid argument +``` + +You will find that the rootfs of the corresponding container cannot be found on the host. However, this does not mean that the rootfs is lost. The rootfs is overwritten by the mount point in **/var/lib/docker/overlay2**, and services are still running properly. The solutions are as follows: + +- Solution 1 + 1. Run the following command to check the graphdriver used by Docker: + + ``` + docker info | grep "Storage Driver" + ``` + +    + + 2. Run the following commands to query the current mount point: + + ``` + Devicemapper: mount -l | grep devicemapper + Overlay2: mount -l | grep overlay2 + ``` + + The output format is _A_ on _B_ type _C_ \(_D_\). + + - _A_: block device name or **overlay** + - _B_: mount point + - _C_: file system type + - _D_: mounting attribute + + 3. Run the **umount** command on the mount points \(_B_\) one by one from bottom to top. + 4. Run the **docker restart** command on all the containers or delete all the containers. + 5. Run the following command to restart Docker: + + ``` + systemctl restart docker + ``` + + + +- Solution 2 + 1. Migrate services. + 2. Restart nodes. + + diff --git a/content/en/docs/Container/overview-0.md b/content/en/docs/Container/overview-0.md new file mode 100644 index 000000000..21985e7c2 --- /dev/null +++ b/content/en/docs/Container/overview-0.md @@ -0,0 +1,4 @@ +# Overview + +The container runtime interface \(CRI\) is provided to connect to the CNI network, including parsing the CNI network configuration file and adding or removing a pod to or from the CNI network. When a pod needs to support a network through a container network plug-in such as Canal, the CRI needs to be interconnected to Canal so as to provide the network capability for the pod. + diff --git a/content/en/docs/Container/overview-21.md b/content/en/docs/Container/overview-21.md new file mode 100644 index 000000000..a60fa18aa --- /dev/null +++ b/content/en/docs/Container/overview-21.md @@ -0,0 +1,4 @@ +# Overview + +System containers are used for heavyweight applications and cloud-based services in scenarios with re-computing, high performance, and high concurrency. Compared with the VM technology, system containers can directly inherit physical machine features and has better performance and less overhead. In addition, system containers can be allocated more computing units of limited resources, reducing costs. Therefore, system containers can be used to build differentiated product competitiveness and provide computing unit instances with higher computing density, lower price, and better performance. + diff --git a/content/en/docs/Container/overview-24.md b/content/en/docs/Container/overview-24.md new file mode 100644 index 000000000..7183c37a0 --- /dev/null +++ b/content/en/docs/Container/overview-24.md @@ -0,0 +1,26 @@ +# Overview + +The secure container technology is an organic combination of virtualization and container technologies. Compared with a common Linux container, a secure container has better isolation performance. + +Common Linux containers use namespaces to isolate the running environment between processes and use cgroups to limit resources. Essentially, these common Linux containers share the same kernel. Therefore, if a single container affects the kernel intentionally or unintentionally, the containers on the same host will be affected. + +Secure containers are isolated by the virtualization layers. Containers on the same host do not affect each other. + +**Figure 1** Secure container architecture + + +![](figures/安全容器框架1.png) + +Secure containers are closely related to the concept of pod in Kubernetes. Kubernetes is the open-source ecosystem standard for the container scheduling management platform. It defines a group of container runtime interfaces \(CRIs\). + +In the CRI standards, a pod is a logical grouping of one or more containers, which are scheduled together and share interprocess communication \(IPC\) and network namespaces. As the smallest unit for scheduling, a pod must contain a pause container and one or more service containers. The lifecycle of a pause container is the same as that of the pod. + +A lightweight virtual machine \(VM\) in a secure container is a pod. The first container started in the VM is the pause container, and the containers started later are service containers. + +In a secure container, you can start a single container or start a pod. + +[Figure 2](#fig17734185518269) shows the relationship between the secure container and peripheral components. + +**Figure 2** Relationship between the secure container and peripheral components +![](figures/relationship-between-the-secure-container-and-peripheral-components.png "relationship-between-the-secure-container-and-peripheral-components") + diff --git a/content/en/docs/Container/overview-33.md b/content/en/docs/Container/overview-33.md new file mode 100644 index 000000000..f6f46b191 --- /dev/null +++ b/content/en/docs/Container/overview-33.md @@ -0,0 +1,4 @@ +# Overview + +Docker is an open-source Linux container engine that enables quick application packaging, deployment, and delivery. The original meaning of Docker is dork worker, whose job is to pack the goods to the containers, and move containers, and load containers. Similarly, the job of Docker in Linux is to pack applications to containers, and deploy and run applications on various platforms using containers. Docker uses Linux Container technology to turn applications into standardized, portable, and self-managed components, enabling the "build once" and "run everywhere" features of applications. Features of Docker technology include: quick application release, easy application deployment and management, and high application density. + diff --git a/content/en/docs/Container/overview.md b/content/en/docs/Container/overview.md new file mode 100644 index 000000000..44a1a1cb2 --- /dev/null +++ b/content/en/docs/Container/overview.md @@ -0,0 +1,11 @@ +# Overview + +Compared with Docker, iSulad is a new container solution with a unified architecture design to meet different requirements in the CT and IT fields. Lightweight containers are implemented using C/C++. They are smart, fast, and not restricted by hardware and architecture. With less noise floor overhead, the containers can be widely used. + +[Figure 1](#en-us_topic_0182207099_fig10763114141217) shows the unified container architecture. + +**Figure 1** Unified container architecture + + +![](figures/en-us_image_0183048952.png) + diff --git a/content/en/docs/Container/pause-unpause.md b/content/en/docs/Container/pause-unpause.md new file mode 100644 index 000000000..f17441580 --- /dev/null +++ b/content/en/docs/Container/pause-unpause.md @@ -0,0 +1,47 @@ +# pause/unpause + +Syntax: **docker pause** _container_ + +**docker unpause** _container_ + +Function: The two commands are used in pairs. The **docker pause** command suspends all processes in a container, and the **docker unpause** command resumes the suspended processes. + +Parameter description: none. + +Example: + +The following uses a container where the docker registry service runs as an example. After the **docker pause** command is executed to pause the process of the container, access of the registry service by running the **curl** command is blocked. You can run the **docker unpause** command to resume the suspended registry service. The registry service can be accessed by running the **curl** command. + +1. Run the following command to start a registry container: + + ``` + $ sudo docker run -d --name pause_test -p 5000:5000 registry + ``` + + Run the **curl** command to access the service. Check whether the status code **200 OK** is returned. + + ``` + $ sudo curl -v 127.0.0.1:5000 + ``` + +    + +2. Run the following command to stop the processes in the container: + + ``` + $ sudo docker pause pause_test + ``` + + Run the **curl** command to access the service to check whether it is blocked and wait until the service starts. + +3. Run the following command to resume the processes in the container: + + ``` + $ sudo docker unpause pause_test + ``` + + The cURL access in step 2 is restored and the request status code **200 OK** is returned. + +    + + diff --git a/content/en/docs/Container/pausing-a-container.md b/content/en/docs/Container/pausing-a-container.md new file mode 100644 index 000000000..7261afafb --- /dev/null +++ b/content/en/docs/Container/pausing-a-container.md @@ -0,0 +1,47 @@ +# Pausing a Container + +## Description + +To pause all processes in a container, run the **isula pause** command. Only containers whose runtime is of the LCR type are supported. + +## **Usage** + +``` +isula pause CONTAINER [CONTAINER...] +``` + +## Parameters + + + + + + + + + + + +

Command

+

Parameter

+

Description

+

pause

+

-H, --host

+

Specifies the iSulad socket file path to be accessed.

+
+ +## Constraints + +- Only containers in the running state can be paused. +- After a container is paused, other lifecycle management operations \(such as **restart**, **exec**, **attach**, **kill**, **stop**, and **rm**\) cannot be performed. +- After a container with health check configurations is paused, the container status changes to unhealthy. + +## Example + +Pause a running container. + +``` +$ isula pause 8fe25506fb5883b74c2457f453a960d1ae27a24ee45cdd78fb7426d2022a8bac + 8fe25506fb5883b74c2457f453a960d1ae27a24ee45cdd78fb7426d2022a8bac +``` + diff --git a/content/en/docs/Container/podsandboxstatus.md b/content/en/docs/Container/podsandboxstatus.md new file mode 100644 index 000000000..430ff9d0b --- /dev/null +++ b/content/en/docs/Container/podsandboxstatus.md @@ -0,0 +1,54 @@ +# PodSandboxStatus + +## Prototype + +``` +rpc PodSandboxStatus(PodSandboxStatusRequest) returns (PodSandboxStatusResponse) {} +``` + +## Description + +This API is used to query the sandbox status. If the sandbox does not exist, an error is returned. + +## Parameters + + + + + + + + + + + + +

Parameter

+

Description

+

string pod_sandbox_id

+

Sandbox ID

+

bool verbose

+

Whether to display additional information about the sandbox. This parameter does not take effect now.

+
+ +## Return Values + + + + + + + + + + + + +

Return Value

+

Description

+

PodSandboxStatus status

+

Status of the sandbox.

+

map<string, string> info

+

Additional information about the sandbox. The key can be any string, and the value is a JSON character string. The information can be any debugging content. When verbose is set to true, info cannot be empty. This parameter does not take effect now.

+
+ diff --git a/content/en/docs/Container/port.md b/content/en/docs/Container/port.md new file mode 100644 index 000000000..abc496f20 --- /dev/null +++ b/content/en/docs/Container/port.md @@ -0,0 +1,25 @@ +# port + +Syntax: **docker port **_container_ **\[**_private\_port\[/proto\]_**\]** + +Function: Lists the port mapping of a container or queries the host port where a specified port resides. + +Parameter description: none. + +Example: + +1. Run the following command to list all port mappings of a container: + + ``` + $ sudo docker port registry + 5000/tcp -> 0.0.0.0.:5000 + ``` + +2. Run the following command to query the mapping of a specified container port: + + ``` + $ sudo docker port registry 5000 + 0.0.0.0.:5000 + ``` + + diff --git a/content/en/docs/Container/precautions-for-common-users-in-the-scenario-where-a-large-number-of-containers-are-deployed.md b/content/en/docs/Container/precautions-for-common-users-in-the-scenario-where-a-large-number-of-containers-are-deployed.md new file mode 100644 index 000000000..575854957 --- /dev/null +++ b/content/en/docs/Container/precautions-for-common-users-in-the-scenario-where-a-large-number-of-containers-are-deployed.md @@ -0,0 +1,18 @@ +# Precautions for Common Users in the Scenario Where a Large Number of Containers Are Deployed + +The maximum number of processes that a common user can create on an OS host can be restricted by creating the **/etc/security/limits.d/20-nproc.conf** file in the system. Similarly, the maximum number of processes that a common user can create in a container is determined by the value in the **/etc/security/limits.d/20-nproc.conf** file in the container image, as shown in the following example: + +``` +cat /etc/security/limits.conf +* soft nproc 4096 +``` + +If an error is reported due to insufficient resources when a large number of containers are deployed by a common user, increase the value **4096** in the **/etc/security/limits.d/20-nproc.conf** file. + +Configure the maximum value based on the maximum capability of the kernel, as shown in the following example: + +``` +[root@localhost ~]# sysctl -a | grep pid_max +kernel.pid_max = 32768 +``` + diff --git a/content/en/docs/Container/precautions.md b/content/en/docs/Container/precautions.md new file mode 100644 index 000000000..9d044a31f --- /dev/null +++ b/content/en/docs/Container/precautions.md @@ -0,0 +1,4 @@ +# Precautions + +- The **docker-engine** RPM package cannot be installed together with the **containerd**, **runc**, or **podman** RPM package. This is because the **docker-engine** RPM package contains all components required for Docker running, including **containerd**, **runc**, and **docker** binary files. Yet the **containerd**, **runc**, and **podman** RPM packages also contain the corresponding binary files. Software package conflicts may occur due to repeated installation. + diff --git a/content/en/docs/Container/privileged-container.md b/content/en/docs/Container/privileged-container.md new file mode 100644 index 000000000..9f6729ae4 --- /dev/null +++ b/content/en/docs/Container/privileged-container.md @@ -0,0 +1,2 @@ +# Privileged Container + diff --git a/content/en/docs/Container/proc-file-system-isolation-(lxcfs).md b/content/en/docs/Container/proc-file-system-isolation-(lxcfs).md new file mode 100644 index 000000000..298df2667 --- /dev/null +++ b/content/en/docs/Container/proc-file-system-isolation-(lxcfs).md @@ -0,0 +1,134 @@ +# proc File System Isolation \(Lxcfs\) + +## Application Scenario + +Container virtualization is lightweight and efficient, and can be quickly deployed. However, containers are not strongly isolated, which causes great inconvenience to users. Containers have some defects in isolation because the namespace feature of the Linux kernel is not perfect. For example, you can view the proc information on the host \(such as meminfo, cpuinfo, stat, and uptime\) in the proc file system of a container. You can use the lxcfs tool to replace the /proc content of instances in the container with the content in the /proc file system of the host so that services in the container can obtain the correct resource value. + +## API Description + +A system container provides two tool packages: lxcfs and lxcfs-toolkit, which are used together. Lxcfs resides on the host as the daemon process. lxcfs-toolkit mounts the lxcfs file system of the host to containers through the hook mechanism. + +The command line of lxcfs-toolkit is as follows: + +``` +lxcfs-toolkit [OPTIONS] COMMAND [COMMAND_OPTIONS] +``` + + + + + + + + + + + + + + + + + + + + + + + + +

Command

+

Function

+

Parameter

+

remount

+

Remounts lxcfs to containers.

+

--all: remounts lxcfs to all containers.

+

--container-id: remounts lxcfs to a specified container.

+

umount

+

Unmounts lxcfs from containers.

+

--all: unmounts lxcfs from all containers.

+

--container-id: unmounts lxcfs from a specified container.

+

check-lxcfs

+

Checks whether the lxcfs service is running properly.

+

None

+

prestart

+

Mounts the /var/lib/lxcfs directory to the container before the lxcfs service starts.

+

None

+
+ +## Constraints + +- Currently, only the **cpuinfo**, **meminfo**, **stat**, **diskstats**, **partitions**, **swaps**, and **uptime** files in the proc file system are supported. Other files are not isolated from other kernel API file systems \(such as sysfs\). +- After an RPM package is installed, a sample JSON file is generated in **/var/lib/lcrd/hooks/hookspec.json**. To add the log function, you need to add the **--log** configuration during customization. +- The **diskstats** file displays only information about disks that support CFQ scheduling, instead of partition information. Devices in containers are displayed as names in the **/dev** directory. If a device name does not exist, the information is left blank. In addition, the device where the container root directory is located is displayed as **sda**. +- The **slave** parameter is required when lxcfs is mounted. If the **shared** parameter is used, the mount point in containers may be leaked to the host, affecting the host running. +- Lxcfs supports graceful service degradation. If the lxcfs service crashes or becomes unavailable, the **cpuinfo**, **meminfo**, **stat**, **diskstats**, **partitions**, **swaps **and **uptime** files in containers are about host information, and other service functions of containers are not affected. +- Bottom layer of lxcfs depends on the FUSE kernel module and libfuse library. Therefore, the kernel needs to support FUSE. +- Lxcfs supports only the running of 64-bit applications in containers. If a 32-bit application is running in a container, the CPU information \(**cpuinfo**\) read by the application may fail to meet expectations. +- Lxcfs simulates the resource view only of container control groups \(cgroups\). Therefore, system calls \(such as sysconf\) in containers can obtain only host information. Lxcfs cannot implement the kernel isolation. +- The CPU information \(**cpuinfo**\) displayed after lxcfs implements the isolation has the following features: + - **processor**: The value increases from 0. + - **physical id**: The value increases from 0. + - **sibliing**: It has a fixed value of **1**. + - **core id**: It has a fixed value of **0**. + - **cpu cores**: It has a fixed value of **1**. + + +## Example + +1. Install the lxcfs and lxcfs-toolkit packages and start the lxcfs service. + + ``` + [root@localhost ~]# yum install lxcfs lxcfs-toolkit + [root@localhost ~]# systemctl start lxcfs + ``` + +2. After a container is started, check whether the lxcfs mount point exists in the container. + + ``` + [root@localhost ~]# isula run -tid -v /var/lib/lxc:/var/lib/lxc --hook-spec /var/lib/isulad/hooks/hookspec.json --system-container --external-rootfs /home/root-fs none init + a8acea9fea1337d9fd8270f41c1a3de5bceb77966e03751346576716eefa9782 + [root@localhost ~]# isula exec a8 mount | grep lxcfs + lxcfs on /var/lib/lxc/lxcfs type fuse.lxcfs (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other) + lxcfs on /proc/cpuinfo type fuse.lxcfs (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other) + lxcfs on /proc/diskstats type fuse.lxcfs (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other) + lxcfs on /proc/meminfo type fuse.lxcfs (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other) + lxcfs on /proc/partitions type fuse.lxcfs (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other) + lxcfs on /proc/stat type fuse.lxcfs (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other) + lxcfs on /proc/swaps type fuse.lxcfs (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other) + lxcfs on /proc/uptime type fuse.lxcfs (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other) + ``` + +3. Run the **update** command to update the CPU and memory resource configurations of the container and check the container resources. As shown in the following command output, the container resource view displays the actual container resource data instead of data of the host. + + ``` + [root@localhost ~]# isula update --cpuset-cpus 0-1 --memory 1G a8 + a8 + [root@localhost ~]# isula exec a8 cat /proc/cpuinfo + processor : 0 + BogoMIPS : 100.00 + cpu MHz : 2400.000 + Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid + CPU implementer : 0x41 + CPU architecture: 8 + CPU variant : 0x0 + CPU part : 0xd08 + CPU revision : 2 + + processor : 1 + BogoMIPS : 100.00 + cpu MHz : 2400.000 + Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid + CPU implementer : 0x41 + CPU architecture: 8 + CPU variant : 0x0 + CPU part : 0xd08 + CPU revision : 2 + + [root@localhost ~]# isula exec a8 free -m + total used free shared buff/cache available + Mem: 1024 17 997 7 8 1006 + Swap: 4095 0 4095 + ``` + + diff --git a/content/en/docs/Container/ps.md b/content/en/docs/Container/ps.md new file mode 100644 index 000000000..fa10c328d --- /dev/null +++ b/content/en/docs/Container/ps.md @@ -0,0 +1,37 @@ +# ps + +Syntax:** docker ps \[**_options_**\]** + +Function: Lists containers in different states based on different parameters. If no parameter is added, all running containers are listed. + +Parameter description: + +**-a** and **--all=false**: Display the container. + +**-f** and **--filter=\[\]**: Filter values. The available options are: **exited=**_int_ \(exit code of the container\) **status=**_restarting|running|paused|exited_ \(status code of the container\), for example, **-f status=running**: lists the running containers. + +**-l** and **--latest=false**: List the latest created container. + +**-n=-1**: Lists the latest created _n_ containers. + +**--no-trunc=false**: Displays all 64-bit container IDs. By default, 12-bit container IDs are displayed. + +**-q** and **--quiet=false**: Display the container ID. + +**-s** and **--size=false**: Display the container size. + +Example: + +1. Run the following command to lists running containers: + + ``` + $ sudo docker ps + ``` + +2. Run the following command to display all containers: + + ``` + $ sudo docker ps -a + ``` + + diff --git a/content/en/docs/Container/public_sys-resources/icon-caution.gif b/content/en/docs/Container/public_sys-resources/icon-caution.gif new file mode 100644 index 0000000000000000000000000000000000000000..6e90d7cfc2193e39e10bb58c38d01a23f045d571 GIT binary patch literal 580 zcmV-K0=xZ3Nk%w1VIu$?0Hp~4{QBgqmQ+MG9K51r{QB&)np^||1PlfQ%(86!{`~yv zv{XhUWKt}AZaiE{EOcHp{O-j3`t;<+eEiycJT4p@77X;(jQsMfB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 literal 0 HcmV?d00001 diff --git a/content/en/docs/Container/public_sys-resources/icon-danger.gif b/content/en/docs/Container/public_sys-resources/icon-danger.gif new file mode 100644 index 0000000000000000000000000000000000000000..6e90d7cfc2193e39e10bb58c38d01a23f045d571 GIT binary patch literal 580 zcmV-K0=xZ3Nk%w1VIu$?0Hp~4{QBgqmQ+MG9K51r{QB&)np^||1PlfQ%(86!{`~yv zv{XhUWKt}AZaiE{EOcHp{O-j3`t;<+eEiycJT4p@77X;(jQsMfB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 literal 0 HcmV?d00001 diff --git a/content/en/docs/Container/public_sys-resources/icon-note.gif b/content/en/docs/Container/public_sys-resources/icon-note.gif new file mode 100644 index 0000000000000000000000000000000000000000..6314297e45c1de184204098efd4814d6dc8b1cda GIT binary patch literal 394 zcmZ?wbhEHblx7fPSjxcg=ii?@_wH=jwxy=7CMGH-B`L+l$wfv=#>UF#$gv|VY%C^b zCQFtrnKN(Bo_%|sJbO}7RAORe!otL&qo<>yq_Sq+8Xqqo5h0P3w3Lvb5E(g{p01vl zxR@)KuDH0l^z`+-dH3eaw=XqSH7aTIx{kzVBN;X&hha0dQSgWuiw0NWUvMRmkD|> literal 0 HcmV?d00001 diff --git a/content/en/docs/Container/public_sys-resources/icon-notice.gif b/content/en/docs/Container/public_sys-resources/icon-notice.gif new file mode 100644 index 0000000000000000000000000000000000000000..86024f61b691400bea99e5b1f506d9d9aef36e27 GIT binary patch literal 406 zcmV;H0crk6Nk%w1VIu$@0J8u9|NsB@_xJDb@8;&_*4Ea}&d#;9wWXz{jEszHYim+c zQaU<1At50E0000000000A^8Le000gEEC2ui03!e%000R7038S%NU)&51O^i-Tu6`s z0)`MFE@;3YqD6xSC^kTNu_J>91{PH8XfZ(p1pp2-SU@u3#{mEUC}_}tg3+I#{z}{Ok@D_ZUDg- zt0stin4;pC8M{WLSlRH*1pzqEw1}3oOskyNN?j;7HD{BBZ*OEcv4HK!6Bk6beR+04 z&8}k>SkTusVTDmkyOz#5fCA$JTPGJVQvr3uZ?QzzPQFvD0rGf_PdrcF`pMs}p^BcF zKtKTd`0wipR%nKN&Wj+V}pX;WC3SdJV!a_8Qi zE7z`U*|Y^H0^}fB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 literal 0 HcmV?d00001 diff --git a/content/en/docs/Container/pull.md b/content/en/docs/Container/pull.md new file mode 100644 index 000000000..ee90fd887 --- /dev/null +++ b/content/en/docs/Container/pull.md @@ -0,0 +1,36 @@ +# pull + +Syntax: **docker pull \[**_options_**\]** _name_**\[**_:tag_**\]** + +Function: Pulls an image from an official or private registry. + +Parameter description: + +**-a** and **--all-tags=false**: Download all images in a registry. \(A registry can be tagged with multiple tags. For example, a busybox registry may have multiple tags, such as **busybox:14.04**, **busybox:13.10**, **busybox:latest**. If **-a** is used, all busybox images with tags are pulled.\) + +Example: + +1. Run the following command to obtain the Nginx image from the official registry: + + ``` + $ sudo docker pull nginx + Using default tag: latest + latest: Pulling from official/nginx + 94ed0c431eb5: Pull complete + 9406c100a1c3: Pull complete + aa74daafd50c: Pull complete + Digest: sha256:788fa27763db6d69ad3444e8ba72f947df9e7e163bad7c1f5614f8fd27a311c3 + Status: Downloaded newer image for nginx:latest + ``` + + When an image is pulled, the system checks whether the dependent layer exists. If yes, the local layer is used. + +2. Pull an image from a private registry. + + Run the following command to pull the Fedora image from the private registry, for example, the address of the private registry is **192.168.1.110:5000**: + + ``` + $ sudo docker pull 192.168.1.110:5000/fedora + ``` + + diff --git a/content/en/docs/Container/pullimage.md b/content/en/docs/Container/pullimage.md new file mode 100644 index 000000000..5f6b4de87 --- /dev/null +++ b/content/en/docs/Container/pullimage.md @@ -0,0 +1,58 @@ +# PullImage + +## Prototype + +``` + rpc PullImage(PullImageRequest) returns (PullImageResponse) {} +``` + +## Description + +This API is used to download images. + +## Precautions + +Currently, you can download public images, and use the username, password, and auth information to download private images. The **server\_address**, **identity\_token**, and **registry\_token** fields in **authconfig** cannot be configured. + +## Parameters + + + + + + + + + + + + + + + +

Parameter

+

Description

+

ImageSpec image

+

Name of the image to be downloaded.

+

AuthConfig auth

+

Verification information for downloading a private image.

+

PodSandboxConfig sandbox_config

+

Whether to download an image in the pod context. This parameter does not take effect now.

+
+ +## Return Values + + + + + + + + + +

Return Value

+

Description

+

string image_ref

+

Information about the downloaded image.

+
+ diff --git a/content/en/docs/Container/pulling-images-from-a-registry.md b/content/en/docs/Container/pulling-images-from-a-registry.md new file mode 100644 index 000000000..9f184ec3e --- /dev/null +++ b/content/en/docs/Container/pulling-images-from-a-registry.md @@ -0,0 +1,24 @@ +# Pulling Images from a Registry + +## Description + +Pull images from a registry to the local host. + +## Usage + +``` +isula pull [OPTIONS] NAME[:TAG|@DIGEST] +``` + +## Parameters + +For details about parameters in the **pull** command, see [Table 3](command-line-parameters.md#en-us_topic_0189976507_table157501230181515). + +## Example + +``` +$ isula pull localhost:5000/official/busybox +Image "localhost:5000/official/busybox" pulling +Image "localhost:5000/official/busybox@sha256:bf510723d2cd2d4e3f5ce7e93bf1e52c8fd76831995ac3bd3f90ecc866643aff" pulled +``` + diff --git a/content/en/docs/Container/push.md b/content/en/docs/Container/push.md new file mode 100644 index 000000000..c08b16ce2 --- /dev/null +++ b/content/en/docs/Container/push.md @@ -0,0 +1,26 @@ +# push + +Syntax: **docker push** _name_**\[**_:tag_**\]** + +Function: Pushes an image to the image registry. + +Parameter description: none. + +Example: + +1. Run the following command to push an image to the private image registry at 192.168.1.110:5000. +2. Label the image to be pushed. \(The **docker tag** command is described in the following section.\) In this example, the image to be pushed is busybox:sshd. + + ``` + $ sudo docker tag ubuntu:sshd 192.168.1.110:5000/busybox:sshd + ``` + +3. Run the following command to push the tagged image to the private image registry: + + ``` + $ sudo docker push 192.168.1.110:5000/busybox:sshd + ``` + + During the push, the system automatically checks whether the dependent layer exists in the image registry. If yes, the layer is skipped. + + diff --git a/content/en/docs/Container/querying-container-information.md b/content/en/docs/Container/querying-container-information.md new file mode 100644 index 000000000..c5efce178 --- /dev/null +++ b/content/en/docs/Container/querying-container-information.md @@ -0,0 +1,8 @@ +# Querying Container Information + +In any case, the container status should not be determined based on whether the **docker** command is successfully returned. To view the container status, you are advised to use the following command: + +``` +docker inspect +``` + diff --git a/content/en/docs/Container/querying-information-about-a-single-container.md b/content/en/docs/Container/querying-information-about-a-single-container.md new file mode 100644 index 000000000..bd45e6163 --- /dev/null +++ b/content/en/docs/Container/querying-information-about-a-single-container.md @@ -0,0 +1,183 @@ +# Querying Information About a Single Container + +## Description + +To query information about a single container, run the **isula inspect** command. + +## **Usage** + +``` +isula inspect [OPTIONS] CONTAINER|IMAGE [CONTAINER|IMAGE...] +``` + +## Parameters + +The following table lists the parameters supported by the **inspect** command. + +**Table 1** Parameter description + + + + + + + + + + + + + + + + + +

Command

+

Parameter

+

Description

+

inspect

+

  

+

-H, --host

+

Specifies the iSulad socket file path to be accessed.

+

-f, --format

+

Output format.

+

-t, --time

+

Timeout interval, in seconds. If the inspect command fails to query container information within the specified period, the system stops waiting and reports an error immediately. The default value is 120s. If the value is less than or equal to 0, the inspect command keeps waiting until the container information is obtained successfully.

+
+ +## Constraints + +- Lightweight containers do not support the output in \{\{.State\}\} format but support the output in the \{\{json .State\}\} format. The **-f** parameter is not supported when the object is an image. + +## Example + +Query information about a container. + +``` +$ isula inspect c75284634bee +[ + { + "Id": "c75284634beeede3ab86c828790b439d16b6ed8a537550456b1f94eb852c1c0a", + "Created": "2019-08-01T22:48:13.993304927-04:00", + "Path": "sh", + "Args": [], + "State": { + "Status": "running", + "Running": true, + "Paused": false, + "Restarting": false, + "Pid": 21164, + "ExitCode": 0, + "Error": "", + "StartedAt": "2019-08-02T06:09:25.535049168-04:00", + "FinishedAt": "2019-08-02T04:28:09.479766839-04:00", + "Health": { + "Status": "", + "FailingStreak": 0, + "Log": [] + } + }, + "Image": "busybox", + "ResolvConfPath": "", + "HostnamePath": "", + "HostsPath": "", + "LogPath": "none", + "Name": "c75284634beeede3ab86c828790b439d16b6ed8a537550456b1f94eb852c1c0a", + "RestartCount": 0, + "HostConfig": { + "Binds": [], + "NetworkMode": "", + "GroupAdd": [], + "IpcMode": "", + "PidMode": "", + "Privileged": false, + "SystemContainer": false, + "NsChangeFiles": [], + "UserRemap": "", + "ShmSize": 67108864, + "AutoRemove": false, + "AutoRemoveBak": false, + "ReadonlyRootfs": false, + "UTSMode": "", + "UsernsMode": "", + "Sysctls": {}, + "Runtime": "lcr", + "RestartPolicy": { + "Name": "no", + "MaximumRetryCount": 0 + }, + "CapAdd": [], + "CapDrop": [], + "Dns": [], + "DnsOptions": [], + "DnsSearch": [], + "ExtraHosts": [], + "HookSpec": "", + "CPUShares": 0, + "Memory": 0, + "OomScoreAdj": 0, + "BlkioWeight": 0, + "BlkioWeightDevice": [], + "CPUPeriod": 0, + "CPUQuota": 0, + "CPURealtimePeriod": 0, + "CPURealtimeRuntime": 0, + "CpusetCpus": "", + "CpusetMems": "", + "SecurityOpt": [], + "StorageOpt": {}, + "KernelMemory": 0, + "MemoryReservation": 0, + "MemorySwap": 0, + "OomKillDisable": false, + "PidsLimit": 0, + "FilesLimit": 0, + "Ulimits": [], + "Hugetlbs": [], + "HostChannel": { + "PathOnHost": "", + "PathInContainer": "", + "Permissions": "", + "Size": 0 + }, + "EnvTargetFile": "", + "ExternalRootfs": "" + }, + "Mounts": [], + "Config": { + "Hostname": "localhost", + "User": "", + "Env": [ + "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", + "TERM=xterm", + "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" + ], + "Tty": true, + "Cmd": [ + "sh" + ], + "Entrypoint": [], + "Labels": {}, + "Annotations": { + "log.console.file": "none", + "log.console.filerotate": "7", + "log.console.filesize": "1MB", + "rootfs.mount": "/var/lib/isulad/mnt/rootfs", + "native.umask": "secure" + }, + "HealthCheck": { + "Test": [], + "Interval": 0, + "Timeout": 0, + "StartPeriod": 0, + "Retries": 0, + "ExitOnUnhealthy": false + } + }, + "NetworkSettings": { + "IPAddress": "" + } + } +] +``` + diff --git a/content/en/docs/Container/querying-information-about-all-containers.md b/content/en/docs/Container/querying-information-about-all-containers.md new file mode 100644 index 000000000..96889e335 --- /dev/null +++ b/content/en/docs/Container/querying-information-about-all-containers.md @@ -0,0 +1,80 @@ +# Querying Information About All Containers + +## Description + +To query information about all containers, run the **isula ps** command. + +## **Usage** + +``` +isula ps [OPTIONS] +``` + +## Parameters + +The following table lists the parameters supported by the **ps** command. + +**Table 1** Parameter description + + + + + + + + + + + + + + + + + + + + + + + + + + +

Command

+

Parameter

+

Description

+

ps

+

  

+

  

+

  

+

  

+

-a, --all

+

Displays all containers.

+

-H, --host

+

Specifies the iSulad socket file path to be accessed.

+

-q, --quiet

+

Displays only the container name.

+

-f, --filter

+

Adds filter criteria.

+

--format

+

Output format.

+

--no-trunc

+

Do not truncate the container ID.

+
+ +## Example + +Query information about all containers. + +``` +$ isula ps -a + +ID IMAGE STATUS PID COMMAND EXIT_CODE RESTART_COUNT STARTAT FINISHAT RUNTIME NAMES +e84660aa059c rnd-dockerhub.huawei.com/official/busybox running 304765 "sh" 0 0 13 minutes ago - lcr e84660aa059cafb0a77a4002e65cc9186949132b8e57b7f4d76aa22f28fde016 +$ isula ps -a --format "table {{.ID}} {{.Image}}" --no-trunc +ID IMAGE +e84660aa059cafb0a77a4002e65cc9186949132b8e57b7f4d76aa22f28fde016 rnd-dockerhub.huawei.com/official/busybox + +``` + diff --git a/content/en/docs/Container/querying-information.md b/content/en/docs/Container/querying-information.md new file mode 100644 index 000000000..84c588b08 --- /dev/null +++ b/content/en/docs/Container/querying-information.md @@ -0,0 +1,2 @@ +# Querying Information + diff --git a/content/en/docs/Container/querying-system-level-information.md b/content/en/docs/Container/querying-system-level-information.md new file mode 100644 index 000000000..0991e5fce --- /dev/null +++ b/content/en/docs/Container/querying-system-level-information.md @@ -0,0 +1,37 @@ +# Querying System-level Information + +## Description + +The **isula info** command is run to query the system-level information, number of containers, and number of images. + +## Usage + +``` +isula info +``` + +## Example + +Query system-level information, including the number of containers, number of images, kernel version, and operating system \(OS\). + +``` +$ isula info +Containers: 2 + Running: 0 + Paused: 0 + Stopped: 2 +Images: 8 +Server Version: 1.0.31 +Logging Driver: json-file +Cgroup Driverr: cgroupfs +Hugetlb Pagesize: 2MB +Kernel Version: 4.19 +Operating System: Fedora 29 (Twenty Nine) +OSType: Linux +Architecture: x86_64 +CPUs: 8 +Total Memory: 7 GB +Name: localhost.localdomain +iSulad Root Dir: /var/lib/isulad +``` + diff --git a/content/en/docs/Container/querying-the-service-version.md b/content/en/docs/Container/querying-the-service-version.md new file mode 100644 index 000000000..f1ccb959c --- /dev/null +++ b/content/en/docs/Container/querying-the-service-version.md @@ -0,0 +1,51 @@ +# Querying the Service Version + +## Description + +The **isula version** command is run to query the version of the iSulad service. + +## Usage + +``` +isula version +``` + +## Example + +Query the version information. + +``` +isula version +``` + +If the iSulad service is running properly, you can view the information about versions of the client, server, and **OCI config**. + +``` +Client: + Version: 1.0.31 + Git commit: fa7f9902738e8b3d7f2eb22768b9a1372ddd1199 + Built: 2019-07-30T04:21:48.521198248-04:00 + +Server: + Version: 1.0.31 + Git commit: fa7f9902738e8b3d7f2eb22768b9a1372ddd1199 + Built: 2019-07-30T04:21:48.521198248-04:00 + +OCI config: + Version: 1.0.0-rc5-dev + Default file: /etc/default/isulad/config.json +``` + +If the iSulad service is not running, only the client information is queried and a message is displayed indicating that the connection times out. + +``` +Client: + Version: 1.0.31 + Git commit: fa7f9902738e8b3d7f2eb22768b9a1372ddd1199 + Built: 2019-07-30T04:21:48.521198248-04:00 + +Can not connect with server.Is the iSulad daemon running on the host? +``` + +Therefore, the **isula version** command is often used to check whether the iSulad service is running properly. + diff --git a/content/en/docs/Container/reboot-or-shutdown-in-a-container.md b/content/en/docs/Container/reboot-or-shutdown-in-a-container.md new file mode 100644 index 000000000..2b4cc63e8 --- /dev/null +++ b/content/en/docs/Container/reboot-or-shutdown-in-a-container.md @@ -0,0 +1,79 @@ +# Reboot or Shutdown in a Container + +## Function Description + +The **reboot** and **shutdown** commands can be executed in a system container. You can run the **reboot** command to restart a container, and run the **shutdown** command to stop a container. + +## Parameter Description + + + + + + + + + + + + +

Command

+

Parameter

+

Value Description

+

isula create/run

+

--restart

+
  • Variable of the string type.
  • Supported option is as follows:

    on-reboot: restarts the system container.

    +

      

    +
+
+ +## Constraints + +- The shutdown function relies on the actual OS of the container running environment. +- When you run the **shutdown -h now** command to shut down the system, do not open multiple consoles. For example, if you run the **isula run -ti** command to open a console and run the **isula attach** command for the container in another host bash, another console is opened. In this case, the **shutdown** command fails to be executed. + +## Example + +- Specify the **--restart on-reboot** parameter when starting a container. For example: + + ``` + [root@localhost ~]# isula run -tid --restart on-reboot --system-container --external-rootfs /root/myrootfs none init + 106faae22a926e22c828a0f2b63cf5c46e5d5986ea8a5b26de81390d0ed9714f + ``` + + +- In the container, run the **reboot** command. + + ``` + [root@localhost ~]# isula exec -it 10 bash + [root@localhost /]# reboot + ``` + + Check whether the container is restarted. + + ``` + [root@localhost ~]# isula exec -it 10 ps aux + USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND + root 1 0.1 0.0 21588 9504 ? Ss 12:11 0:00 init + root 14 0.1 0.0 27024 9376 ? Ss 12:11 0:00 /usr/lib/system + root 17 0.0 0.0 18700 5876 ? Ss 12:11 0:00 /usr/lib/system + dbus 22 0.0 0.0 9048 3624 ? Ss 12:11 0:00 /usr/bin/dbus-d + root 26 0.0 0.0 8092 3012 ? Rs+ 12:13 0:00 ps aux + ``` + +- In the container, run the **shutdown** command. + + ``` + [root@localhost ~]# isula exec -it 10 bash + [root@localhost /]# shutdown -h now + [root@localhost /]# [root@localhost ~]# + ``` + + Check whether the container is stopped. + + ``` + [root@localhost ~]# isula exec -it 10 bash + Error response from daemon: Exec container error;Container is not running:106faae22a926e22c828a0f2b63cf5c46e5d5986ea8a5b26de81390d0ed9714f + ``` + + diff --git a/content/en/docs/Container/removecontainer.md b/content/en/docs/Container/removecontainer.md new file mode 100644 index 000000000..06c728d46 --- /dev/null +++ b/content/en/docs/Container/removecontainer.md @@ -0,0 +1,32 @@ +# RemoveContainer + +## Prototype + +``` +rpc RemoveContainer(RemoveContainerRequest) returns (RemoveContainerResponse) {} +``` + +## Description + +This API is used to delete a container. If the container is running, it must be forcibly stopped. If the container has been deleted, no errors will be returned. + +## Parameters + + + + + + + + + +

Parameter

+

Description

+

string container_id

+

Container ID.

+
+ +## Return Values + +None + diff --git a/content/en/docs/Container/removeimage.md b/content/en/docs/Container/removeimage.md new file mode 100644 index 000000000..2926bf8c4 --- /dev/null +++ b/content/en/docs/Container/removeimage.md @@ -0,0 +1,36 @@ +# RemoveImage + +## Prototype + +``` +rpc RemoveImage(RemoveImageRequest) returns (RemoveImageResponse) {} +``` + +## Description + +This API is used to delete specified images. + +## Precautions + +This is a unified API. Since embedded images do not comply with the OCI image specifications and do not contain required fields, you cannot delete embedded images by using this API and the image ID. + +## Parameters + + + + + + + + + +

Parameter

+

Description

+

ImageSpec image

+

Name or ID of the image to be deleted.

+
+ +## Return Values + +None + diff --git a/content/en/docs/Container/removepodsandbox.md b/content/en/docs/Container/removepodsandbox.md new file mode 100644 index 000000000..40fe21147 --- /dev/null +++ b/content/en/docs/Container/removepodsandbox.md @@ -0,0 +1,48 @@ +# RemovePodSandbox + +## Prototype + +``` +rpc RemovePodSandbox(RemovePodSandboxRequest) returns (RemovePodSandboxResponse) {} +``` + +## Description + +This API is used to delete a sandbox. If any running container belongs to the sandbox, the container must be forcibly stopped and deleted. If the sandbox has been deleted, no errors will be returned. + +## Precautions + +1. When a sandbox is deleted, network resources of the sandbox are not deleted. Before deleting a pod, you must call StopPodSandbox to clear network resources. Ensure that StopPodSandbox is called at least once before deleting the sandbox. + +## Parameters + + + + + + + + + +

Parameter

+

Description

+

string pod_sandbox_id

+

Sandbox ID.

+
+ +## Return Values + + + + + + + + + +

Return Value

+

Description

+

None

+

None

+
+ diff --git a/content/en/docs/Container/removing-a-container.md b/content/en/docs/Container/removing-a-container.md new file mode 100644 index 000000000..4366bd45b --- /dev/null +++ b/content/en/docs/Container/removing-a-container.md @@ -0,0 +1,59 @@ +# Removing a Container + +## Description + +To remove a container, run the **isula rm** command. + +## **Usage** + +``` +isula rm [OPTIONS] CONTAINER [CONTAINER...] +``` + +## Parameters + +The following table lists the parameters supported by the **rm** command. + +**Table 1** Parameter description + + + + + + + + + + + + + + + + + +

Command

+

Parameter

+

Description

+

rm

+

-f, --force

+

Forcibly removes a running container.

+

-H, --host

+

Specifies the iSulad socket file path to be accessed.

+

-v, --volume

+

Removes a volume mounted to a container. (Note: Currently, iSulad does not use this function.)

+
+ +## Constraints + +- In normal I/O scenarios, it takes T1 to delete a running container in an empty environment \(with only one container\). In an environment with 200 containers \(without a large number of I/O operations and with normal host I/O\), it takes T2 to delete a running container. The specification of T2 is as follows: T2 = max \{T1 x 3, 5\}s. + +## Example + +Delete a stopped container. + +``` +$ isula rm fd7376591a9c3d8ee9a14f5d2c2e5255b02cc44cddaabca82170efd4497510e1 +fd7376591a9c3d8ee9a14f5d2c2e5255b02cc44cddaabca82170efd4497510e1 +``` + diff --git a/content/en/docs/Container/removing-a-pod-from-the-cni-network-list.md b/content/en/docs/Container/removing-a-pod-from-the-cni-network-list.md new file mode 100644 index 000000000..dc2c5680f --- /dev/null +++ b/content/en/docs/Container/removing-a-pod-from-the-cni-network-list.md @@ -0,0 +1,8 @@ +# Removing a Pod from the CNI Network List + +When StopPodSandbox is called, the interface for removing a pod from the CNI network list will be called to clear network resources. + +>![](public_sys-resources/icon-note.gif) **NOTE:** +>1. Before calling the RemovePodSandbox interface, you must call the StopPodSandbox interface at least once. +>2. If StopPodSandbox fails to call the CNI, residual network resources may exist. + diff --git a/content/en/docs/Container/rename.md b/content/en/docs/Container/rename.md new file mode 100644 index 000000000..8aa213da9 --- /dev/null +++ b/content/en/docs/Container/rename.md @@ -0,0 +1,22 @@ +# rename + +Syntax: **docker rename OLD\_NAME NEW\_NAME** + +Function: Renames a container. + +Example: + +Run the **docker run** command to create and start a container, run the **docker rename** command to rename the container, and check whether the container name is changed. + +``` +$ sudo docker ps +CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES +b15976967abb busybox:latest "bash" 3 seconds ago Up 2 seconds festive_morse +$ sudo docker rename pedantic_euler new_name +$ sudo docker ps +CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES +b15976967abb busybox:latest "bash" 34 seconds ago Up 33 seconds new_name +``` + +   + diff --git a/content/en/docs/Container/renaming-a-container.md b/content/en/docs/Container/renaming-a-container.md new file mode 100644 index 000000000..53539f6bf --- /dev/null +++ b/content/en/docs/Container/renaming-a-container.md @@ -0,0 +1,44 @@ +# Renaming a Container + +## Description + +To rename a container, run the **isula rename** command. + +## **Usage** + +``` +isula rename [OPTIONS] OLD_NAME NEW_NAME +``` + +## Parameters + +The following table lists the parameters supported by the **rename** command. + +**Table 1** Parameter description + + + + + + + + + + + +

Command

+

Parameter

+

Description

+

rename

+

-H, --host

+

Renames a container.

+
+ +## Example + +Rename a container. + +``` +$ isula rename my_container my_new_container +``` + diff --git a/content/en/docs/Container/restart.md b/content/en/docs/Container/restart.md new file mode 100644 index 000000000..4d7020713 --- /dev/null +++ b/content/en/docs/Container/restart.md @@ -0,0 +1,19 @@ +# restart + +Syntax: **docker restart \[**_options_**\]** _container_ **\[**_container..._**\]** + +Function: Restarts a running container. + +Parameter description: + +**-t** and **--time=10**: Number of seconds to wait for the container to stop before the container is killed. If the container has stopped, restart the container. The default value is **10**. + +Example: + +``` +$ sudo docker restart busybox +``` + +>![](public_sys-resources/icon-note.gif) **NOTE:** +>During the container restart, if a process in the **D** or **Z** state exists in the container, the container may fail to be restarted. In this case, you need to analyze the cause of the **D** or **Z** state of the process in the container. Restart the container after the **D** or **Z** state of the process in the container is released. + diff --git a/content/en/docs/Container/restarting-a-container.md b/content/en/docs/Container/restarting-a-container.md new file mode 100644 index 000000000..7c406ecae --- /dev/null +++ b/content/en/docs/Container/restarting-a-container.md @@ -0,0 +1,67 @@ +# Restarting a Container + +## Description + +To restart one or more containers, run the **isula restart** command. + +## **Usage** + +``` +isula restart [OPTIONS] CONTAINER [CONTAINER...] +``` + +## Parameters + +The following table lists the parameters supported by the **restart** command. + +**Table 1** Parameter description + + + + + + + + + + + + + + +

Command

+

Parameter

+

Description

+

restart

+

-H, --host

+

Specifies the iSulad socket file path to be accessed.

+

-t, --time

+

Time for graceful stop. If the time exceeds the value of this parameter, the container is forcibly stopped.

+
+ +## Constraints + +- If the **t** parameter is specified and the value of **t** is less than 0, ensure that the application in the container can process the stop signal. + + The restart command first calls the stop command to stop the container. Send the SIGTERM signal to the container, and then wait for a period of time \(**t** entered by the user\). If the container is still running after the period of time, the SIGKILL signal is sent to forcibly kill the container. + +- The meaning of the input parameter **t** is as follows: + + **t** < 0: Wait for graceful stop. This setting is preferred when users are assured that their applications have a proper stop signal processing mechanism. + + **t** = 0: Do not wait and send **kill -9** to the container immediately. + + **t** \> 0: Wait for a specified period and send **kill -9** to the container if the container does not stop within the specified period. + + Therefore, if **t** is set to a value less than 0 \(for example, **t** = -1\), ensure that the container application correctly processes the SIGTERM signal. If the container ignores this signal, the container will be suspended when the **isula stop** command is run. + + +## Example + +Restart a container. + +``` +$ isula restart c75284634beeede3ab86c828790b439d16b6ed8a537550456b1f94eb852c1c0a + c75284634beeede3ab86c828790b439d16b6ed8a537550456b1f94eb852c1c0a +``` + diff --git a/content/en/docs/Container/restricting-cpu-resources-of-a-running-container.md b/content/en/docs/Container/restricting-cpu-resources-of-a-running-container.md new file mode 100644 index 000000000..09cd89665 --- /dev/null +++ b/content/en/docs/Container/restricting-cpu-resources-of-a-running-container.md @@ -0,0 +1,84 @@ +# Restricting CPU Resources of a Running Container + +## Description + +You can set parameters to restrict the CPU resources of a container. + +## **Usage** + +When running the **isula create/run** command, you can set CPU-related parameters to limit the CPU resources of a container. For details about the parameters and values, see the following table. + +## Parameters + +You can specify the following parameters when running the **isula create/run** command: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Parameter

+

Description

+

Value Range

+

Mandatory or Not

+

--cpu-period

+

Limits the CPU CFS period in a container.

+

64-bit integer

+

No

+

--cpu-quota

+

Limits the CPU CFS quota.

+

64-bit integer

+

No

+

--cpu-shares

+

Limits the CPU share (relative weight).

+

64-bit integer

+

No

+

--cpuset-cpus

+

Limits the CPU nodes.

+

A character string. The value is the number of CPUs to be configured. The value ranges from 0 to 3, or 0 and 1.

+

No

+

--cpuset-mems

+

Limits the memory nodes used by cpuset in the container.

+

A character string. The value is the number of CPUs to be configured. The value ranges from 0 to 3, or 0 and 1.

+

No

+
+ +## Example + +To restrict a container to use a specific CPU, add **--cpuset-cpus number** when running the container. For example: + +``` +isula run -tid --cpuset-cpus 0,2-3 busybox sh +``` + +>![](public_sys-resources/icon-note.gif) **NOTE:** +>You can check whether the configuration is successful. For details, see "Querying Information About a Single Container." + diff --git a/content/en/docs/Container/restricting-i-o-resources-of-a-running-container.md b/content/en/docs/Container/restricting-i-o-resources-of-a-running-container.md new file mode 100644 index 000000000..6ac99f265 --- /dev/null +++ b/content/en/docs/Container/restricting-i-o-resources-of-a-running-container.md @@ -0,0 +1,51 @@ +# Restricting I/O Resources of a Running Container + +## Description + +You can set parameters to limit the read/write speed of devices in the container. + +## **Usage** + +When running the **isula create/run** command, you can set **--device-read-bps/--device-write-bps :\[\]** to limit the read/write speed of devices in the container. + +## Parameters + +When running the **isula create/run** command, set **--device-read/write-bps**. + + + + + + + + + + + + + + +

Parameter

+

Description

+

Value Range

+

Mandatory or Not

+

--device-read-bps/--device-write-bps

+

Limits the read/write speed of devices in the container.

+

64-bit integer The value is a positive integer. The value can be 0, indicating that no limit is set. The unit can be empty (byte), KB, MB, GB, TB, or PB.

+

No

+
+ +## Example + +To limit the read/write speed of devices in the container, add **--device-write-bps/--device-read-bps :\[\]** when running the container. For example, to limit the read speed of the device **/dev/sda** in the container **busybox** to 1 Mbit/s, run the following command: + +``` +isula run -tid --device-write /dev/sda:1mb busybox sh +``` + +To limit the write speed, run the following command: + +``` +isula run -tid read-bps /dev/sda:1mb busybox sh +``` + diff --git a/content/en/docs/Container/restricting-the-memory-usage-of-a-running-container.md b/content/en/docs/Container/restricting-the-memory-usage-of-a-running-container.md new file mode 100644 index 000000000..7a2826f18 --- /dev/null +++ b/content/en/docs/Container/restricting-the-memory-usage-of-a-running-container.md @@ -0,0 +1,72 @@ +# Restricting the Memory Usage of a Running Container + +## Description + +You can set parameters to restrict the memory usage of a container. + +## **Usage** + +When running the **isula create/run** command, you can set memory-related parameters to restrict memory usage of containers. For details about the parameters and values, see the following table. + +## Parameters + +You can specify the following parameters when running the **isula create/run** command: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Parameter

+

Description

+

Value Range

+

Mandatory or Not

+

--memory

+

Specifies the upper limit of the memory usage of a container.

+

64-bit integer The value is a non-negative number. The value 0 indicates that no limit is set. The unit can be empty (byte), KB, MB, GB, TB, or PB.

+

No

+

--memory-reservation

+

Specifies the soft upper limit of the memory of a container.

+

64-bit integer The value is a non-negative number. The value 0 indicates that no limit is set. The unit can be empty (byte), KB, MB, GB, TB, or PB.

+

No

+

--memory-swap

+

Specifies the upper limit of the swap memory of the container.

+

64-bit integer The value can be -1 or a non-negative number. The value -1 indicates no limit, and the value 0 indicates that no limit is set. The unit can be empty (byte), KB, MB, GB, TB, or PB.

+

No

+

--kernel-memory

+

Specifies the upper limit of the kernel memory of the container.

+

64-bit integer The value is a non-negative number. The value 0 indicates that no limit is set. The unit can be empty (byte), KB, MB, GB, TB, or PB.

+

No

+
+ +## Example + +To set the upper limit of the memory of a container, add **--memory \[\]** when running the container. For example: + +``` +isula run -tid --memory 1G busybox sh +``` + diff --git a/content/en/docs/Container/restricting-the-number-of-file-handles-in-a-container.md b/content/en/docs/Container/restricting-the-number-of-file-handles-in-a-container.md new file mode 100644 index 000000000..f7f8a3c14 --- /dev/null +++ b/content/en/docs/Container/restricting-the-number-of-file-handles-in-a-container.md @@ -0,0 +1,68 @@ +# Restricting the Number of File Handles in a Container + +## Description + +You can set parameters to limit the number of file handles that can be opened in a container. + +## **Usage** + +When running the **isula create/run** command, set the **--files-limit** parameter to limit the number of file handles that can be opened in a container. + +## Parameters + +Set the **--files-limit** parameter when running the **isula create/run** command. + + + + + + + + + + + + + + +

Parameter

+

Description

+

Value Range

+

Mandatory or Not

+

--files-limit

+

Limits the number of file handles that can be opened in a container.

+

64-bit integer The value can be 0 or a negative number, but cannot be greater than 2 to the power of 63 minus 1. The value 0 or a negative number indicates no limit.

+

During container creation, some handles are opened temporarily. Therefore, the value cannot be too small. Otherwise, the container may not be restricted by the file limit. If the value is less than the number of opened handles, the cgroup file cannot be written. It is recommended that the value be greater than 30.

+

No

+
+ +## Example + +When running the container, add **--files-limit n**. For example: + +``` +isula run -ti --files-limit 1024 busybox bash +``` + +## **Constraints** + +1. If the **--files-limit** parameter is set to a small value, for example, 1, the container may fail to be started. + + ``` + [root@localhost ~]# isula run -itd --files-limit 1 rnd-dockerhub.huawei.com/official/busybox-aarch64 + 004858d9f9ef429b624f3d20f8ba12acfbc8a15bb121c4036de4e5745932eff4 + Error response from daemon: Start container error: Container is not running:004858d9f9ef429b624f3d20f8ba12acfbc8a15bb121c4036de4e5745932eff4 + ``` + + Docker will be started successfully, and the value of **files.limit cgroup** is **max**. + + ``` + [root@localhost ~]# docker run -itd --files-limit 1 rnd-dockerhub.huawei.com/official/busybox-aarch64 + ef9694bf4d8e803a1c7de5c17f5d829db409e41a530a245edc2e5367708dbbab + [root@localhost ~]# docker exec -it ef96 cat /sys/fs/cgroup/files/files.limit + max + ``` + + The root cause is that the startup principles of the lxc and runc processes are different. After the lxc process creates the cgroup, the files.limit value is set, and then the PID of the container process is written into the cgroup.procs file of the cgroup. At this time, the process has opened more than one handle. As a result, an error is reported, and the startup fails. After you create a cgroup by running the **runc** command, the PID of the container process is written to the cgroup.procs file of the cgroup, and then the files.limit value is set. Because more than one handle is opened by the process in the cgroup, the file.limit value does not take effect, the kernel does not report any error, and the container is started successfully. + + diff --git a/content/en/docs/Container/restricting-the-number-of-processes-or-threads-that-can-be-created-in-a-container.md b/content/en/docs/Container/restricting-the-number-of-processes-or-threads-that-can-be-created-in-a-container.md new file mode 100644 index 000000000..8fe1c7a4c --- /dev/null +++ b/content/en/docs/Container/restricting-the-number-of-processes-or-threads-that-can-be-created-in-a-container.md @@ -0,0 +1,49 @@ +# Restricting the Number of Processes or Threads that Can Be Created in a Container + +## Description + +You can set parameters to limit the number of processes or threads that can be created in a container. + +## **Usage** + +When creating or running a container, use the **--pids-limit** parameter to limit the number of processes or threads that can be created in the container. + +## Parameters + +When running the **create/run** command, set the **--pids-limit** parameter. + + + + + + + + + + + + + + +

Parameter

+

Description

+

Value Range

+

Mandatory or Not

+

--pids-limit

+

Limits the number of file handles that can be opened in a container.

+

64-bit integer The value can be 0 or a negative number, but cannot be greater than 2 to the power of 63 minus 1. The value 0 or a negative number indicates no limit.

+

No

+
+ +## Example + +When running the container, add **--pids-limit n**. For example: + +``` +isula run -ti --pids-limit 1024 busybox bash +``` + +## **Constraints** + +During container creation, some processes are created temporarily. Therefore, the value cannot be too small. Otherwise, the container may fail to be started. It is recommended that the value be greater than 10. + diff --git a/content/en/docs/Container/restricting-the-rootfs-storage-space-of-a-container.md b/content/en/docs/Container/restricting-the-rootfs-storage-space-of-a-container.md new file mode 100644 index 000000000..77a4cfa73 --- /dev/null +++ b/content/en/docs/Container/restricting-the-rootfs-storage-space-of-a-container.md @@ -0,0 +1,169 @@ +# Restricting the Rootfs Storage Space of a Container + +## Description + +When the overlay2 storage driver is used on the EXT4 file system, the file system quota of a single container can be set. For example, the quota of container A is set to 5 GB, and the quota of container B is set to 10 GB. + +This feature is implemented by the project quota function of the EXT4 file system. If the kernel supports this function, use the syscall SYS\_IOCTL to set the project ID of a directory, and then use the syscall SYS\_QUOTACTL to set the hard limit and soft limit of the corresponding project ID. + +## Usage + +1. Prepare the environment. + + Ensure that the file system supports the **Project ID** and **Project Quota** attributes, the kernel version is 4.19 or later, and the version of the peripheral package e2fsprogs is 1.43.4-2 or later. + +2. Before mounting overlayfs to a container, set different project IDs for the upper and work directories of different containers and set inheritance options. After overlayfs is mounted to a container, the project IDs and inherited attributes cannot be modified. +3. Set the quota as a privileged user outside the container. +4. Add the following configuration to daemon: + + ``` + -s overlay2 --storage-opt overlay2.override_kernel_check=true + ``` + +5. Daemon supports the following options for setting default restrictions for containers: + + **--storage-opt overlay2.basesize=128M** specifies the default limit. If **--storeage-opt size** is also specified when you run the **isula run** command, the value of this parameter takes effect. If no size is specified during the daemon process or when you run the **isula run** command, the size is not limited. + +6. Enable the **Project ID** and **Project Quota** attributes of the file system. + - Format and mount the file system. + + ``` + # mkfs.ext4 -O quota,project /dev/sdb + # mount -o prjquota /dev/sdb /var/lib/isulad + ``` + + + +## Parameters + +When running the **create/run** command, set **--storage-opt**. + + + + + + + + + + + + + + +

Parameter

+

Description

+

Value Range

+

Mandatory or Not

+

--storage-opt size=${rootfsSize}

+

Restricts the root file system (rootfs) storage space of the container.

+

The size parsed by rootfsSize is a positive 64-bit integer expressed in bytes. You can also set it to ([kKmMgGtTpP])?[iI]?[bB]?$.

+

No

+
+ +## Example + +In the **isula run/create** command, use the existing parameter **--storage-opt size=**_value_ to set the quota. The value is a positive number in the unit of **\[kKmMgGtTpP\]?\[iI\]?\[bB\]?**. If the value does not contain a unit, the default unit is byte. + +``` +$ [root@localhost ~]# isula run -ti --storage-opt size=10M busybox +/ # df -h +Filesystem Size Used Available Use% Mounted on +overlay 10.0M 48.0K 10.0M 0% / +none 64.0M 0 64.0M 0% /dev +none 10.0M 0 10.0M 0% /sys/fs/cgroup +tmpfs 64.0M 0 64.0M 0% /dev +shm 64.0M 0 64.0M 0% /dev/shm +/dev/mapper/vg--data-ext41 + 9.8G 51.5M 9.2G 1% /etc/hostname +/dev/mapper/vg--data-ext41 + 9.8G 51.5M 9.2G 1% /etc/resolv.conf +/dev/mapper/vg--data-ext41 + 9.8G 51.5M 9.2G 1% /etc/hosts +tmpfs 3.9G 0 3.9G 0% /proc/acpi +tmpfs 64.0M 0 64.0M 0% /proc/kcore +tmpfs 64.0M 0 64.0M 0% /proc/keys +tmpfs 64.0M 0 64.0M 0% /proc/timer_list +tmpfs 64.0M 0 64.0M 0% /proc/sched_debug +tmpfs 3.9G 0 3.9G 0% /proc/scsi +tmpfs 64.0M 0 64.0M 0% /proc/fdthreshold +tmpfs 64.0M 0 64.0M 0% /proc/fdenable +tmpfs 3.9G 0 3.9G 0% /sys/firmware +/ # +/ # dd if=/dev/zero of=/home/img bs=1M count=12 && sync +dm-4: write failed, project block limit reached. +10+0 records in +9+0 records out +10432512 bytes (9.9MB) copied, 0.011782 seconds, 844.4MB/s +/ # df -h | grep overlay +overlay 10.0M 10.0M 0 100% / +/ # +``` + +## Constraints + +1. The quota applies only to the rw layer. + + The quota of overlay2 is for the rw layer of the container. The image size is not included. + +2. The kernel supports and enables this function. + + The kernel must support the EXT4 project quota function. When running **mkfs**, add **-O quota,project**. When mounting the file system, add **-o prjquota**. If any of the preceding conditions is not met, an error is reported when **--storage-opt size=**_value_ is used. + + ``` + $ [root@localhost ~]# isula run -it --storage-opt size=10Mb busybox df -h + Error response from daemon: Failed to prepare rootfs with error: time="2019-04-09T05:13:52-04:00" level=fatal msg="error creating read- + write layer with ID "a4c0e55e82c55e4ee4b0f4ee07f80cc2261cf31b2c2dfd628fa1fb00db97270f": --storage-opt is supported only for overlay over + xfs or ext4 with 'pquota' mount option" + ``` + +3. Description of the limit of quota: + 1. If the quota is greater than the size of the partition where user **root** of iSulad is located, the file system quota displayed by running the **df** command in the container is the size of the partition where user **root** of iSulad is located, not the specified quota. + 2. **--storage-opt size=0** indicates that the size is not limited and the value cannot be less than 4096. The precision of size is one byte. If the specified precision contains decimal bytes, the decimal part is ignored. For example, if size is set to **0.1**, the size is not limited. \(The value is restricted by the precision of the floating point number stored on the computer. That is, 0.999999999999999999999999999 is equal to 1. The number of digits 9 may vary according to computers. Therefore, 4095.999999999999999999999999999 is equal to 4096.\) Note that running **isula inspect** displays the original command line specified format. If the value contains decimal bytes, you need to ignore the decimal part. + 3. If the quota is too small, for example,** --storage-opt size=4k**, the container may fail to be started because some files need to be created for starting the container. + 4. The **-o prjquota** option is added to the root partition of iSulad when iSulad is started last time. If this option is not added during this startup, the setting of the container with quota created during the last startup does not take effect. + 5. The value range of the daemon quota **--storage-opt overlay2.basesize** is the same as that of **--storage-opt size**. + +4. When **storage-opt** is set to 4 KB, the lightweight container startup is different from that of Docker. + + Use the **storage-opt size=4k** and image **rnd-dockerhub.huawei.com/official/ubuntu-arm64:latest** to run the container. + + Docker fails to be started. + + ``` + [root@localhost ~]# docker run -itd --storage-opt size=4k rnd-dockerhub.huawei.com/official/ubuntu-arm64:latest + docker: Error response from daemon: symlink /proc/mounts /var/lib/docker/overlay2/e6e12701db1a488636c881b44109a807e187b8db51a50015db34a131294fcf70-init/merged/etc/mtab: disk quota exceeded. + See 'docker run --help'. + ``` + + The lightweight container is started properly and no error is reported. + + ``` + [root@localhost ~]# isula run -itd --storage-opt size=4k rnd-dockerhub.huawei.com/official/ubuntu-arm64:latest + 636480b1fc2cf8ac895f46e77d86439fe2b359a1ff78486ae81c18d089bbd728 + [root@localhost ~]# isula ps + STATUS PID IMAGE COMMAND EXIT_CODE RESTART_COUNT STARTAT FINISHAT RUNTIME ID NAMES + running 17609 rnd-dockerhub.huawei.com/official/ubuntu-arm64:latest /bin/bash 0 0 2 seconds ago - lcr 636480b1fc2c 636480b1fc2cf8ac895f46e77d86439fe2b359a1ff78486ae81c18d089bbd728 + ``` + + During container startup, if you need to create a file in the **rootfs** directory of the container, the image size exceeds 4 KB, and the quota is set to 4 KB, the file creation will fail. + + When Docker starts the container, it creates more mount points than iSulad to mount some directories on the host to the container, such as **/proc/mounts** and **/dev/shm**. If these files do not exist in the image, the creation will fail, therefore, the container fails to be started. + + When a lightweight container uses the default configuration during container startup, there are few mount points. The lightweight container is created only when the directory like **/proc** or **/sys** does not exist. The image **rnd-dockerhub.huawei.com/official/ubuntu-arm64:latest** in the test case contains **/proc** and **/sys**. Therefore, no new file or directory is generated during the container startup. As a result, no error is reported during the lightweight container startup. To verify this process, when the image is replaced with **rnd-dockerhub.huawei.com/official/busybox-aarch64:latest**, an error is reported when the lightweight container is started because **/proc** does not exist in the image. + + ``` + [root@localhost ~]# isula run -itd --storage-opt size=4k rnd-dockerhub.huawei.com/official/busybox-aarch64:latest + 8e893ab483310350b8caa3b29eca7cd3c94eae55b48bfc82b350b30b17a0aaf4 + Error response from daemon: Start container error: runtime error: 8e893ab483310350b8caa3b29eca7cd3c94eae55b48bfc82b350b30b17a0aaf4:tools/lxc_start.c:main:404 starting container process caused "Failed to setup lxc, + please check the config file." + ``` + +5. Other description: + + When using iSulad with the quota function to switch data disks, ensure that the data disks to be switched are mounted using the **prjquota** option and the mounting mode of the **/var/lib/isulad/storage/overlay2** directory is the same as that of the **/var/lib/isulad** directory. + + >![](public_sys-resources/icon-note.gif) **NOTE:** + >Before switching the data disk, ensure that the mount point of **/var/lib/isulad/storage/overlay2** is unmounted. + + diff --git a/content/en/docs/Container/resuming-a-container.md b/content/en/docs/Container/resuming-a-container.md new file mode 100644 index 000000000..6251424a3 --- /dev/null +++ b/content/en/docs/Container/resuming-a-container.md @@ -0,0 +1,45 @@ +# Resuming a Container + +## Description + +To resume all processes in a container, run the **isula unpause** command. It is the reverse process of **isula pause**. Only containers whose runtime is of the LCR type are supported. + +## **Usage** + +``` +isula unpause CONTAINER [CONTAINER...] +``` + +## Parameters + + + + + + + + + + + +

Command

+

Parameter

+

Description

+

pause

+

-H, --host

+

Specifies the iSulad socket file path to be accessed.

+
+ +## Constraints + +- Only containers in the paused state can be unpaused. + +## Example + +Resume a paused container. + +``` +$ isula unpause 8fe25506fb5883b74c2457f453a960d1ae27a24ee45cdd78fb7426d2022a8bac + 8fe25506fb5883b74c2457f453a960d1ae27a24ee45cdd78fb7426d2022a8bac +``` + diff --git a/content/en/docs/Container/rm.md b/content/en/docs/Container/rm.md new file mode 100644 index 000000000..cce8ae60c --- /dev/null +++ b/content/en/docs/Container/rm.md @@ -0,0 +1,29 @@ +# rm + +Syntax: **docker rm \[**_options_**\] **_container_ **\[**_container..._**\]** + +Function: Deletes one or more containers. + +Parameter description: + +**-f** and **--force=false**: Forcibly delete a running container. + +**-l** and **--link=false**: Remove the specified link and do not remove the underlying container. + +**-v** and **--volumes=false**: Remove the volumes associated with the container. + +Example: + +1. Run the following command to delete a stopped container: + + ``` + $ sudo docker rm test + ``` + +2. Run the following command to delete a running container: + + ``` + $ sudo docker rm -f rm_test + ``` + + diff --git a/content/en/docs/Container/rmi.md b/content/en/docs/Container/rmi.md new file mode 100644 index 000000000..01817da6d --- /dev/null +++ b/content/en/docs/Container/rmi.md @@ -0,0 +1,18 @@ +# rmi + +Syntax: **docker rmi \[**_options_**\] **_image _**\[**_image..._**\]** + +Function: Deletes one or more images. If an image has multiple tags in the image library, only the untag operation is performed when the image is deleted. If the image has only one tag, the dependent layers are deleted in sequence. + +Parameter description: + +**-f** and **--force=false**: Forcibly delete an image. + +**--no-prune=false**: Does not delete parent images without tags. + +Example: + +``` +$ sudo docker rmi 192.168.1.110:5000/busybox:sshd +``` + diff --git a/content/en/docs/Container/route-management.md b/content/en/docs/Container/route-management.md new file mode 100644 index 000000000..c784738ef --- /dev/null +++ b/content/en/docs/Container/route-management.md @@ -0,0 +1,115 @@ +# Route Management + +## Function Description + +isulad-tools can be used to dynamically add or delete routing tables for system containers. + +## Command Format + +``` +isulad-tools [COMMADN][OPTIONS] [ARG...] +``` + +In the preceding format: + +**COMMAND**: command related to route management. + +**OPTIONS**: option supported by the route management command. + +**container\_id**: container ID. + +**ARG**: parameter corresponding to the command. + +## API Description + + + + + + + + + + + + + + + + + + + + + + + + +

Command

+

Function Description

+

Option Description

+

Parameter Description

+

add-route

+

Adds the network routing rules to a container.

+

Supported options are as follows:

+

--update-config-only: If this parameter is configured, configuration files are updated and routing tables are not updated.

+

Parameter format: [{rule1},{rule2}]

+

Example of rule:

+

'[{"dest":"default", "gw":"192.168.10.1"},{"dest":"192.168.0.0/16","dev":"eth0","src":"192.168.1.2"}]'

+
  • dest: target network. If this parameter is left blank, the default gateway is used.
  • src: source IP address of a route.
  • gw: route gateway.
  • dev: network device.
+

remove-route

+

Deletes a route from a container.

+

Supported options are as follows:

+

--update-config-only: If this parameter is configured, only configuration files are updated and routes are not deleted from the container.

+

Parameter format: [{rule1},{rule2}]

+

Example of rule:

+

'[{"dest":"default", "gw":"192.168.10.1"},{"dest":"192.168.0.0/16","dev":"eth0","src":"192.168.1.2"}]'

+
  • dest: target network. If this parameter is left blank, the default gateway is used.
  • src: source IP address of a route.
  • gw: route gateway.
  • dev: network device.
+

list-route

+

Lists all routing rules in a container.

+

Supported options are as follows:

+
  • --pretty: outputs data in JSON format.
  • --filter: outputs filtered data in the specific format, for example, --filter' {"ip":"192.168.3.4/24", "Mtu":1500}'.
+

None

+
+ +## Constraints + +- When using isulad-tools to add NICs and routes to containers, you are advised to run the **add-nic** command to add NICs and then run the **add-route** command to add routes. When using isulad-tools to delete NICs and routes from a container, you are advised to run the **remove-route** command to delete routes and then run the **remove-nic** command to delete NICs. +- When adding a routing rule to a container, ensure that the added routing rule does not conflict with existing routing rules in the container. + +## Example + +- Start a system container, and set **hook spec** to the isulad hook execution script. + + ``` + [root@localhost ~]# isula run -tid --hook-spec /etc/isulad-tools/hookspec.json --system-container --external-rootfs /root/root-fs none init + 0d2d68b45aa0c1b8eaf890c06ab2d008eb8c5d91e78b1f8fe4d37b86fd2c190b + ``` + + +- Use isulad-tools to add a physical NIC to the system container. + + ``` + [root@localhost ~]# isulad-tools add-nic --type "eth" --name enp4s0:eth123 --ip 172.17.28.6/24 --mtu 1300 --qlen 2100 0d2d68b45aa0 + Add network interface (enp4s0) to container (0d2d68b45aa0,eth123) done + ``` + + +- isulad-tools adds a routing rule to the system container. Format example: **\[\{"dest":"default", "gw":"192.168.10.1"\},\{"dest":"192.168.0.0/16","dev":"eth0","src":"192.168.1.2"\}\]**. If **dest** is left blank, its value will be **default**. + + ``` + [root@localhost ~]# isulad-tools add-route 0d2d68b45aa0 '[{"dest":"172.17.28.0/32", "gw":"172.17.28.5","dev":"eth123"}]' + Add route to container 0d2d68b45aa0, route: {dest:172.17.28.0/32,src:,gw:172.17.28.5,dev:eth123} done + ``` + +- Check whether a routing rule is added in the container. + + ``` + [root@localhost ~]# isula exec -it 0d2d68b45aa0 route + Kernel IP routing table + Destination Gateway Genmask Flags Metric Ref Use Iface + 172.17.28.0 172.17.28.5 255.255.255.255 UGH 0 0 0 eth123 + 172.17.28.0 0.0.0.0 255.255.255.0 U 0 0 0 eth123 + ``` + + diff --git a/content/en/docs/Container/run.md b/content/en/docs/Container/run.md new file mode 100644 index 000000000..a3891bed5 --- /dev/null +++ b/content/en/docs/Container/run.md @@ -0,0 +1,22 @@ +# run + +Syntax: **docker run \[**_options_**\] **_image_ **\[**_command_**\] \[**_arg_**...\]** + +Function: Creates a container from a specified image \(if the specified image does not exist, an image is downloaded from the official image registry\), starts the container, and runs the specified command in the container. This command integrates the **docker create**, **docker start**, and **docker exec** commands. + +Parameter description: \(The parameters of this command are the same as those of the **docker create** command. For details, see the parameter description of the **docker create** command. Only the following two parameters are different.\) + +**--rm=false**: Specifies the container to be automatically deleted when it exits. + +**-v**: Mounts a local directory or an anonymous volume to the container. Note: When a local directory is mounted to a container with a SELinux security label, do not add or delete the local directory at the same time. Otherwise, the security label may not take effect. + +**--sig-proxy=true**: Receives proxy of the process signal. SIGCHLD, SIGSTOP, and SIGKILL do not use the proxy. + +Example: + +Run the busybox image to start a container and run the **/bin/sh** command after the container is started: + +``` +$ sudo docker run -ti busybox /bin/sh +``` + diff --git a/content/en/docs/Container/running-a-container.md b/content/en/docs/Container/running-a-container.md new file mode 100644 index 000000000..bceef644c --- /dev/null +++ b/content/en/docs/Container/running-a-container.md @@ -0,0 +1,382 @@ +# Running a Container + +## Description + +To create and start a container, run the **isula run** command. You can use a specified container image to create a container read/write layer and prepare for running the specified command. After the container is created, run the specified command to start the container. The **run** command is equivalent to creating and starting a container. + +## **Usage** + +``` +isula run [OPTIONS] ROOTFS|IMAGE [COMMAND] [ARG...] +``` + +## Parameters + +The following table lists the parameters supported by the **run** command. + +**Table 1** Parameter description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Command

+

Parameter

+

Description

+

run

+

--annotation

+

Sets annotations for the container. For example, set the native.umask option.

+
--annotation native.umask=normal #The umask value of the started container is 0022.
+--annotation native.umask=secure #The umask value of the started container is 0027.
+

If this parameter is not set, the umask configuration in iSulad is used.

+

--cap-add

+

Adds Linux functions.

+

--cap-drop

+

Deletes Linux functions.

+

--cgroup-parent

+

Specifies the cgroup parent path of the container.

+

--cpuset-cpus

+

Allowed CPUs (for example, 0-3, 0, 1).

+

--cpu-shares

+

CPU share (relative weight).

+

--cpu-quota

+

Limits the CPU CFS quota.

+

-d, --detach

+

Runs the container in the background and displays the container ID.

+

--device=[]

+

Adds a device to the container.

+

--dns

+

Adds a DNS server.

+

--dns-opt

+

Adds DNS options.

+

--dns-search

+

Sets the search domain of a container.

+

-e, --env

+

Sets environment variables.

+

--env-file

+

Configures environment variables using a file.

+

--entrypoint

+

Entry point to run when the container is started.

+

--external-rootfs=PATH

+

Specifies a rootfs (a folder or block device) that is not managed by iSulad for the container.

+

--files-limit

+

Limits the number of file handles that can be opened in the container. The value -1 indicates no limit.

+

--group-add=[]

+

Adds additional user groups to the container.

+

--help

+

Displays help information.

+

--health-cmd

+

Command executed in a container.

+

--health-exit-on-unhealthy

+

Determines whether to kill a container when the container is detected unhealthy.

+

--health-interval

+

Interval between two consecutive command executions.

+

--health-retries

+

Maximum number of health check retries.

+

--health-start-period

+

Container initialization interval.

+

--health-timeout

+

Maximum time for executing a single check command.

+

--hook-spec

+

Hook configuration file.

+

-H, --host

+

Specifies the iSulad socket file path to be accessed.

+

-h, --hostname

+

Container host name.

+

--hugetlb-limit=[]

+

Limits the size of huge-page files, for example, --hugetlb-limit 2MB:32MB.

+

-i, --interactive

+

Enables the standard input of the container even if it is not connected to the standard input of the container.

+

--log-opt=[]

+

Log driver option. By default, the container serial port log function is disabled. You can run the --log-opt disable-log=false command to enable it.

+

-m, --memory

+

Memory limit.

+

--memory-reservation

+

Sets the container memory limit. The default value is the same as that of --memory. --memory is a hard limit, and --memory-reservation is a soft limit. When the memory usage exceeds the preset value, the memory usage is dynamically adjusted (the system attempts to reduce the memory usage to a value less than the preset value when reclaiming the memory). However, the memory usage may exceed the preset value. Generally, this parameter can be used together with --memory. The value must be less than the preset value of --memory. The minimum value is 4 MB.

+

--memory-swap

+

Memory swap space, which should be a positive integer. The value -1 indicates no limit.

+

--memory-swappiness

+

The value of swappiness is a positive integer ranging from 0 to 100. The smaller the value is, the less the swap partition is used and the more the memory is used in the Linux system. The larger the value is, the more the swap space is used by the kernel. The default value is –1, indicating that the default system value is used.

+

--mount

+

Mounts a host directory to a container.

+

--no-healthcheck

+

Disables the health check configuration.

+

--name=NAME

+

Container name.

+

--net=none

+

Connects a container to a network.

+

--pids-limit

+

Limits the number of processes that can be executed in the container. The value -1 indicates no limit.

+

--privileged

+

Grants container extension privileges.

+

-R, --runtime

+

Container runtime. The parameter value can be lcr, which is case insensitive. Therefore, LCR and lcr are equivalent.

+

--read-only

+

Sets the rootfs of a container to read-only.

+

--restart

+

Restart policy upon container exit.

+

For a system container, --restart on-reboot is supported.

+

--rm

+

Automatically clears a container upon exit.

+

--storage-opt

+

Configures the storage driver option for a container.

+

-t, --tty

+

Allocates a pseudo terminal.

+

--ulimit

+

Sets the ulimit for a container.

+

-u, --user

+

User name or UID, in the format of [<name|uid>][:<group|gid>].

+

-v, --volume=[]

+

Mounts a volume.

+
+ +## Constraints + +- When the parent process of a container exits, the corresponding container automatically exits. +- When a common container is created, the parent process cannot be initiated because the permission of common containers is insufficient. As a result, the container does not respond when you run the **attach** command though it is created successfully. +- If **--net** is not specified when the container is running, the default host name is **localhost**. +- If the **--files-limit** parameter is to transfer a small value, for example, 1, when the container is started, iSulad creates a cgroup, sets the files.limit value, and writes the PID of the container process to the **cgroup.procs** file of the cgroup. At this time, the container process has opened more than one handle. As a result, a write error is reported, and the container fails to be started. +- If both** --mount** and **--volume** exist and their destination paths conflict, **--mount** will be run after **--volume** \(that is, the mount point in **--volume** will be overwritten\). + + Note: The value of the **type** parameter of lightweight containers can be **bind** or **squashfs**. When **type** is set to **squashfs**, **src** is the image path. The value of the **type** parameter of the native Docker can be **bind**, **volume**, and **tmpfs**. + +- The restart policy does not support **unless-stopped**. +- The values returned for Docker and lightweight containers are 127 and 125 respectively in the following three scenarios: + + The host device specified by **--device** does not exist. + + The hook JSON file specified by **--hook-spec** does not exist. + + The entry point specified by **--entrypoint** does not exist. + +- When the **--volume** parameter is used, /dev/ptmx will be deleted and recreated during container startup. Therefore, do not mount the **/dev** directory to that of the container. Use **--device** to mount the devices in **/dev** of the container. +- Do not use the echo option to input data to the standard input of the **run** command. Otherwise, the client will be suspended. The echo value should be directly transferred to the container as a command line parameter. + + ``` + [root@localhost ~]# echo ls | isula run -i busybox /bin/sh + + + ^C + [root@localhost ~]# + ``` + + The client is suspended when the preceding command is executed because the preceding command is equivalent to input **ls** to **stdin**. Then EOF is read and the client does not send data and waits for the server to exit. However, the server cannot determine whether the client needs to continue sending data. As a result, the server is suspended in reading data, and both parties are suspended. + + The correct execution method is as follows: + + ``` + [root@localhost ~]# isula run -i busybox ls + bin + dev + etc + home + proc + root + sys + tmp + usr + var + [root@localhost ~]# + ``` + +- If the root directory \(/\) of the host is used as the file system of the container, the following situations may occur during the mounting: + + **Table 2** Mounting scenarios + + + + + + + + + + + + + +

Host Path (Source)

+

Container Path (Destination)

+

/home/test1

+

/mnt/

+

/home/test2

+

/mnt/abc

+
+ + >![](public_sys-resources/icon-notice.gif) **NOTICE:** + >Scenario 1: Mount **/home/test1** and then **/home/test2**. In this case, the content in **/home/test1** overwrites the content in **/mnt**. As a result, the **abc** directory does not exist in **/mnt**, and mounting** /home/test2** to **/mnt/abc** fails. + >Scenario 2: Mount **/home/test2** and then **/home/test1**. In this case, the content of **/mnt** is replaced with the content of **/home/test1** during the second mounting. In this way, the content mounted during the first mounting from **/home/test2** to **/mnt/abc** is overwritten. + >The first scenario is not supported. For the second scenario, users need to understand the risk of data access failures. + + >![](public_sys-resources/icon-notice.gif) **NOTICE:** + >- In high concurrency scenarios \(200 containers are concurrently started\), the memory management mechanism of Glibc may cause memory holes and large virtual memory \(for example, 10 GB\). This problem is caused by the restriction of the Glibc memory management mechanism in the high concurrency scenario, but not by memory leakage. Therefore, the memory consumption does not increase infinitely. You can set the **MALLOC\_ARENA\_MAX** environment variable to reduce the virtual memory and increase the probability of reducing the physical memory. However, this environment variable will cause the iSulad concurrency performance to deteriorate. Set this environment variable based on the site requirements. + > ``` + > To balance performance and memory usage, set MALLOC_ARENA_MAX to 4. (The iSulad performance deterioration on the ARM64 server is controlled by less than 10%.) + > Configuration method: + > 1. To manually start iSulad, run the export MALLOC_ARENA_MAX=4 command and then start the iSulad. + > 2. If systemd manages iSulad, you can modify the /etc/sysconfig/iSulad file by adding MALLOC_ARENA_MAX=4. + > ``` + + +## Example + +Run a new container. + +``` +$ isula run -itd busybox +9c2c13b6c35f132f49fb7ffad24f9e673a07b7fe9918f97c0591f0d7014c713b +``` + diff --git a/content/en/docs/Container/running-a-new-command-in-the-container.md b/content/en/docs/Container/running-a-new-command-in-the-container.md new file mode 100644 index 000000000..86b8e7806 --- /dev/null +++ b/content/en/docs/Container/running-a-new-command-in-the-container.md @@ -0,0 +1,12 @@ +# Running a New Command in the Container + +The pause container functions only as a placeholder container. Therefore, if you start a pod, run a new command in the service container. The pause container does not execute the corresponding command. If only one container is started, run the following command directly: + +``` +docker exec -ti +``` + +>![](public_sys-resources/icon-note.gif) **NOTE:** +>1. If the preceding command has no response because another host runs the **docker restart** or **docker stop** command to access the same container, you can press **Ctrl**+**P**+**Q** to exit the operation. +>2. If the **-d** option is used, the command is executed in the background and no error information is displayed. The exit code cannot be used to determine whether the command is executed correctly. + diff --git a/content/en/docs/Container/runpodsandbox.md b/content/en/docs/Container/runpodsandbox.md new file mode 100644 index 000000000..40b625037 --- /dev/null +++ b/content/en/docs/Container/runpodsandbox.md @@ -0,0 +1,54 @@ +# RunPodSandbox + +## Prototype + +``` +rpc RunPodSandbox(RunPodSandboxRequest) returns (RunPodSandboxResponse) {} +``` + +## Description + +This API is used to create and start a PodSandbox. If the PodSandbox is successfully run, the sandbox is in the ready state. + +## Precautions + +1. The default image for starting a sandbox is **rnd-dockerhub.huawei.com/library/pause-$\{**_machine_**\}:3.0** where **$\{**_machine_**\}** indicates the architecture. On x86\_64, the value of _machine_ is **amd64**. On ARM64, the value of _machine_ is **aarch64**. Currently, only the **amd64** or **aarch64** image can be downloaded from the rnd-dockerhub registry. If the image does not exist on the host, ensure that the host can download the image from the rnd-dockerhub registry. If you want to use another image, refer to **pod-sandbox-image** in the _iSulad Deployment Configuration_. +2. The container name is obtained from fields in [PodSandboxMetadata](apis.md#en-us_topic_0182207110_li2359918134912) and separated by underscores \(\_\). Therefore, the metadata cannot contain underscores \(\_\). Otherwise, the [ListPodSandbox](listpodsandbox.md#EN-US_TOPIC_0184808098) API cannot be used for query even when the sandbox is running successfully. + +## Parameters + + + + + + + + + + + + +

Parameter

+

Description

+

PodSandboxConfig config

+

Sandbox configuration.

+

string runtime_handler

+

Runtime for the created sandbox. Currently, lcr and kata-runtime are supported.

+
+ +## Return Values + + + + + + + + + +

Return Value

+

Description

+

string pod_sandbox_id

+

If the operation is successful, the response is returned.

+
+ diff --git a/content/en/docs/Container/runtime-service.md b/content/en/docs/Container/runtime-service.md new file mode 100644 index 000000000..96811d666 --- /dev/null +++ b/content/en/docs/Container/runtime-service.md @@ -0,0 +1,6 @@ +# Runtime Service + +The runtime service provides APIs for operating pods and containers, and APIs for querying the configuration and status information of the runtime service. + + + diff --git a/content/en/docs/Container/save.md b/content/en/docs/Container/save.md new file mode 100644 index 000000000..b5eb0db3a --- /dev/null +++ b/content/en/docs/Container/save.md @@ -0,0 +1,18 @@ +# save + +Syntax: **docker save \[**_options_**\] **_image _**\[**_image..._**\]** + +Function: Saves an image to a TAR package. The output is **STDOUT** by default. + +Parameter description: + +**-o** and **--output=""**: Save an image to a file rather than STDOUT. + +Example: + +``` +$ sudo docker save -o nginx.tar nginx:latest +$ ls +nginx.tar +``` + diff --git a/content/en/docs/Container/scenarios-12.md b/content/en/docs/Container/scenarios-12.md new file mode 100644 index 000000000..da2ddb0a1 --- /dev/null +++ b/content/en/docs/Container/scenarios-12.md @@ -0,0 +1,8 @@ +# Scenarios + +The capability mechanism is a security feature introduced to Linux kernel after version 2.2. The super administrator permission is controlled at a smaller granularity to prevent the root permission from being used. The root permission is divided based on different domains so that the divided permissions can be enabled or disabled separately. For details about capabilities, see the _Linux Programmer's Manual_ \([capabilities\(7\) - Linux man page](http://man7.org/linux/man-pages/man7/capabilities.7.html)\). + +``` +man capabilities +``` + diff --git a/content/en/docs/Container/scenarios-15.md b/content/en/docs/Container/scenarios-15.md new file mode 100644 index 000000000..a85d3556f --- /dev/null +++ b/content/en/docs/Container/scenarios-15.md @@ -0,0 +1,4 @@ +# Scenarios + +Security-Enhanced Linux \(SELinux\) is a Linux kernel security module that provides a mechanism for supporting access control security policies. Through Multi-Category Security \(MCS\), iSulad labels processes in containers to control containers' access to resources, reducing privilege escalation risks and preventing further damage. + diff --git a/content/en/docs/Container/scenarios-7.md b/content/en/docs/Container/scenarios-7.md new file mode 100644 index 000000000..77eb9669a --- /dev/null +++ b/content/en/docs/Container/scenarios-7.md @@ -0,0 +1,4 @@ +# Scenarios + +In the production environment, bugs are inevitable in applications provided by developers or services provided by platforms. Therefore, a management system is indispensable for periodically checking and repairing applications. The container health check mechanism adds a user-defined health check function for containers. When a container is created, the **--health-cmd** option is configured so that commands are periodically executed in the container to monitor the health status of the container based on return values. + diff --git a/content/en/docs/Container/scenarios-9.md b/content/en/docs/Container/scenarios-9.md new file mode 100644 index 000000000..89f93b00b --- /dev/null +++ b/content/en/docs/Container/scenarios-9.md @@ -0,0 +1,13 @@ +# Scenarios + +Secure computing mode \(seccomp\) is a simple sandboxing mechanism introduced to the Linux kernel from version 2.6.23. In some specific scenarios, you may want to perform some privileged operations in a container without starting the privileged container. You can add **--cap-add** at runtime to obtain some small-scope permissions. For container instances with strict security requirements, th capability granularity may not meet the requirements. You can use some methods to control the permission scope in a refined manner. + +- Example + + In a common container scenario, you can use the **-v** flag to map a directory \(including a binary file that cannot be executed by common users\) on the host to the container. + + In the container, you can add chmod 4777 \(the modification permission of the binary file\) to the S flag bit. In this way, on the host, common users who cannot run the binary file \(or whose running permission is restricted\) can obtain the permissions of the binary file \(such as the root permission\) when running the binary file after the action added to the S flag bit is performed, so as to escalate the permission or access other files. + + In this scenario, if strict security requirements are required, the chmod, fchmod, and fchmodat system calls need to be tailored by using seccomp. + + diff --git a/content/en/docs/Container/scenarios.md b/content/en/docs/Container/scenarios.md new file mode 100644 index 000000000..9bc8d8643 --- /dev/null +++ b/content/en/docs/Container/scenarios.md @@ -0,0 +1,4 @@ +# Scenarios + +By default, iSulad starts common containers that are suitable for starting common processes. However, common containers have only the default permissions defined by capabilities in the **/etc/default/isulad/config.json** directory. To perform privileged operations \(such as use devices in the **/sys** directory\), a privileged container is required. By using this feature, user **root** in the container has **root** permissions of the host. Otherwise, user **root** in the container has only common user permissions of the host. + diff --git a/content/en/docs/Container/search.md b/content/en/docs/Container/search.md new file mode 100644 index 000000000..1307b68c2 --- /dev/null +++ b/content/en/docs/Container/search.md @@ -0,0 +1,38 @@ +# search + +Syntax: **docker search **_options_ _TERM_ + +Function: Searches for a specific image in the image registry. + +Parameter description: + +**--automated=false**: Displays the automatically built image. + +**--no-trunc=false**: Does not delete any output. + +**-s** and **--stars=0**: Display only images of a specified star level or higher. + +Example: + +1. Run the following command to search for Nginx in the official image library: + + ``` + $ sudo docker search nginx + NAME DESCRIPTION STARS OFFICIAL AUTOMATED + nginx Official build of Nginx. 11873 [OK] + jwilder/nginx-proxy Automated Nginx reverse proxy for docker con... 1645 [OK] + richarvey/nginx-php-fpm Container running Nginx + PHP-FPM capable of... 739 [OK] + linuxserver/nginx An Nginx container, brought to you by LinuxS... 74 + bitnami/nginx Bitnami nginx Docker Image 70 [OK] + tiangolo/nginx-rtmp Docker image with Nginx using the nginx-rtmp... 51 [OK] + ``` + +    + +2. Run the following command to search for busybox in the private image library. The address of the private image library must be added during the search. + + ``` + $ sudo docker search 192.168.1.110:5000/busybox + ``` + + diff --git a/content/en/docs/Container/seccomp-security-configuration.md b/content/en/docs/Container/seccomp-security-configuration.md new file mode 100644 index 000000000..2311c2a04 --- /dev/null +++ b/content/en/docs/Container/seccomp-security-configuration.md @@ -0,0 +1,4 @@ +# Seccomp Security Configuration + + + diff --git a/content/en/docs/Container/secure-container.md b/content/en/docs/Container/secure-container.md new file mode 100644 index 000000000..c5daf4ef5 --- /dev/null +++ b/content/en/docs/Container/secure-container.md @@ -0,0 +1,5 @@ +# Secure Container + + + + diff --git a/content/en/docs/Container/security-and-isolation.md b/content/en/docs/Container/security-and-isolation.md new file mode 100644 index 000000000..c4af4a188 --- /dev/null +++ b/content/en/docs/Container/security-and-isolation.md @@ -0,0 +1,4 @@ +# Security and Isolation + + + diff --git a/content/en/docs/Container/security-configuration-seccomp.md b/content/en/docs/Container/security-configuration-seccomp.md new file mode 100644 index 000000000..29d912a59 --- /dev/null +++ b/content/en/docs/Container/security-configuration-seccomp.md @@ -0,0 +1,8 @@ +# Security Configuration seccomp + +During the container network performance test, it is found that the performance of Docker is lower than that of the native kernel namespace. After seccomp is enabled, system calls \(such as sendto\) are not performed through system\_call\_fastpath. Instead, tracesys is called, which greatly deteriorates the performance. Therefore, you are advised to disable seccomp in container scenarios where services require high performance. For example: + +``` +docker run -itd --security-opt seccomp=unconfined busybox:latest +``` + diff --git a/content/en/docs/Container/security-features.md b/content/en/docs/Container/security-features.md new file mode 100644 index 000000000..9f4aeb1eb --- /dev/null +++ b/content/en/docs/Container/security-features.md @@ -0,0 +1,5 @@ +# Security Features + + + + diff --git a/content/en/docs/Container/selinux-security-configuration.md b/content/en/docs/Container/selinux-security-configuration.md new file mode 100644 index 000000000..76e81a616 --- /dev/null +++ b/content/en/docs/Container/selinux-security-configuration.md @@ -0,0 +1,4 @@ +# SELinux Security Configuration + + + diff --git a/content/en/docs/Container/semaphores-may-be-residual.md b/content/en/docs/Container/semaphores-may-be-residual.md new file mode 100644 index 000000000..6bc5154dc --- /dev/null +++ b/content/en/docs/Container/semaphores-may-be-residual.md @@ -0,0 +1,48 @@ +# Semaphores May Be Residual + +When the devicemapper is used as the graphdriver, forcible killing may cause residual semaphores. Docker creates semaphores when performing operations on devicemapper. If daemon is forcibly killed before the semaphores are released, the release may fail. A maximum of one semaphore can be leaked at a time, and the leakage probability is low. However, the Linux OS has an upper limit on semaphores. When the number of semaphore leakage times reaches the upper limit, new semaphores cannot be created. As a result, Docker daemon fails to be started. The troubleshooting method is as follows: + +1. Check the residual semaphores in the system. + + ``` + $ ipcs + ------ Message Queues -------- + key msqid owner perms used-bytes messages + ------ Shared Memory Segments -------- + key shmid owner perms bytes nattch status + ------ Semaphore Arrays -------- + key semid owner perms nsems + 0x0d4d3358 238977024 root 600 1 + 0x0d4d0ec9 270172161 root 600 1 + 0x0d4dc02e 281640962 root 600 1 + ``` + +2. Run the **dmsetup** command to check semaphores created by devicemapper. The semaphore set is the subset of the system semaphores queried in the previous step. + + ``` + $ dmsetup udevcookies + ``` + +3. Check the upper limit of kernel semaphores. The fourth value is the upper limit of the current system semaphores. + + ``` + $ cat /proc/sys/kernel/sem + 250 32000 32 128 + ``` + + If the number of residual semaphores in step 1 is the same as the upper limit of semaphores in step 3, the number of residual semaphores reaches the upper limit. In this case, Docker daemon cannot be normally started. You can run the following command to increase the upper limit to restart Docker: + + ``` + $ echo 250 32000 32 1024 > /proc/sys/kernel/sem + ``` + + You can also run the following command to manually clear the residual devicemapper semaphores. The following describes how to clear the devicemapper semaphores applied one minute ago. + + ``` + $ dmsetup udevcomplete_all 1 + This operation will destroy all semaphores older than 1 minutes with keys that have a prefix 3405 (0xd4d). + Do you really want to continue? [y/n]: y + 0 semaphores with keys prefixed by 3405 (0xd4d) destroyed. 0 skipped. + ``` + + diff --git a/content/en/docs/Container/shared-memory-channels.md b/content/en/docs/Container/shared-memory-channels.md new file mode 100644 index 000000000..8e1347809 --- /dev/null +++ b/content/en/docs/Container/shared-memory-channels.md @@ -0,0 +1,56 @@ +# Shared Memory Channels + +## Function Description + +System containers enable the communication between container and host processes through shared memory. You can set the **--host-channel** parameter when creating a container to allow the host to share the same tmpfs with the container so that they can communicate with each other. + +## Parameter Description + + + + + + + + + + + + +

Command

+

Parameter

+

Value Description

+

isula create/run

+

--host-channel

+
  • Variable of the string type. Its format is as follows:
    <host path>:<container path>:<rw/ro>:<size limit>
    +
  • The parameter is described as follows:

    <host path>: path to which tmpfs is mounted on the host, which must be an absolute path.

    +

    <container path>: path to which tmpfs is mounted in a container, which must be an absolute path.

    +

    <rw/ro>: permissions on the file system mounted to the container. The value can only be rw (read and write) or ro (read only). The default value is rw.

    +

    <size limit>: maximum size used by the mounted tmpfs. The minimum value is one 4 KB physical page, and the maximum value is half of the total physical memory in the system. The default value is 64MB.

    +
+
+ +## Constraints + +- The lifecycle of tmpfs mounted on the host starts from the container startup to the container deletion. After a container is deleted and its occupied space is released, the space is removed. +- When a container is deleted, the path to which tmpfs is mounted on the host is deleted. Therefore, an existing directory on the host cannot be used as the mount path. +- To ensure that processes running by non-root users on the host can communicate with containers, the permission for tmpfs mounted on the host is 1777. + +## Example + +Specify the **--host-channel** parameter when creating a container. + +``` +[root@localhost ~]# isula run --rm -it --host-channel /testdir:/testdir:rw:32M --system-container --external-rootfs /root/myrootfs none init +root@3b947668eb54:/# dd if=/dev/zero of=/testdir/test.file bs=1024 count=64K +dd: error writing '/testdir/test.file': No space left on device +32769+0 records in +32768+0 records out +33554432 bytes (34 MB, 32 MiB) copied, 0.0766899 s, 438 MB/s +``` + +>![](public_sys-resources/icon-note.gif) **NOTE:** +>- If **--host-channel** is used for size limit, the file size is constrained by the memory limit in the container. \(The OOM error may occur when the memory usage reaches the upper limit.\) +>- If a user creates a shared file on the host, the file size is not constrained by the memory limit in the container. +>- If you need to create a shared file in the container and the service is memory-intensive, you can add the value of **--host-channel** to the original value of the container memory limit, eliminating the impact. + diff --git a/content/en/docs/Container/sharing-resources-29.md b/content/en/docs/Container/sharing-resources-29.md new file mode 100644 index 000000000..1d24a406d --- /dev/null +++ b/content/en/docs/Container/sharing-resources-29.md @@ -0,0 +1,6 @@ +# Sharing Resources + +Because the secure container runs on a virtualized and isolated lightweight VM, resources in some namespaces on the host cannot be accessed. Therefore, **--net host**, **--ipc host**, **--pid host**, and **--uts host** are not supported during startup. + +When a pod is started, all containers in the pod share the same net namespace and ipc namespace by default. If containers in the same pod need to share the pid namespace, you can use Kubernetes to configure the pid namespace. In Kubernetes 1.11, the pid namespace is disabled by default. + diff --git a/content/en/docs/Container/sharing-resources.md b/content/en/docs/Container/sharing-resources.md new file mode 100644 index 000000000..d16566785 --- /dev/null +++ b/content/en/docs/Container/sharing-resources.md @@ -0,0 +1,73 @@ +# Sharing Resources + +## Description + +Containers or containers and hosts can share namespace information mutually, including PID, network, IPC, and UTS information. + +## Usage + +When running the **isula create/run** command, you can set the namespace parameters to share resources. For details, see the following parameter description table. + +## Parameters + +You can specify the following parameters when running the **lcrc create/run** command: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Parameter

+

Description

+

Value Range

+

Mandatory or Not

+

--pid

+

Specifies the PID namespace to be shared.

+

[none, host, container:<containerID>]: none indicates that the namespace is not shared. host indicates that the namespace is shared with the host. container:<containerID> indicates that the namespace is shared with the container.

+

No

+

--net

+

Specifies the network namespace to be shared.

+

[none, host, container:<containerID>]: none indicates that the namespace is not shared. host indicates that the namespace is shared with the host. container:<containerID> indicates that the namespace is shared with the container.

+

No

+

--ipc

+

Specifies the IPC namespace to be shared.

+

[none, host, container:<containerID>]: none indicates that the namespace is not shared. host indicates that the namespace is shared with the host. container:<containerID> indicates that the namespace is shared with the container.

+

No

+

--uts

+

Specifies the UTS namespace to be shared.

+

[none, host, container:<containerID>]: none indicates that the namespace is not shared. host indicates that the namespace is shared with the host. container:<containerID> indicates that the namespace is shared with the container.

+

No

+
+ +## Example + +If two containers need to share the same PID namespace, add **--pid container:** when running the container. For example: + +``` +isula run -tid --name test_pid busybox sh +isula run -tid --name test --pid container:test_pid busybox sh +``` + diff --git a/content/en/docs/Container/specifying-rootfs-to-create-a-container.md b/content/en/docs/Container/specifying-rootfs-to-create-a-container.md new file mode 100644 index 000000000..c6ea0dc04 --- /dev/null +++ b/content/en/docs/Container/specifying-rootfs-to-create-a-container.md @@ -0,0 +1,46 @@ +# Specifying Rootfs to Create a Container + +## Function Description + +Different from a common container that needs to be started by specifying a container image, a system container is started by specifying a local root file system \(rootfs\) through the **--external-rootfs** parameter. Rootfs contains the operating system environment on which the container depends during running. + +## Parameter Description + + + + + + + + + + + + +

Command

+

Parameter

+

Value Description

+

isula create/run

+

--external-rootfs

+
  • Variable of the string type.
  • Absolute path in the root file system of the container, that is, the path of rootfs.
+
+ +## Constraints + +- The rootfs directory specified by the **--external-rootfs** parameter must be an absolute path. +- The rootfs directory specified by the **--external-rootfs** parameter must be a complete OS environment. Otherwise, the container fails to be started. +- When a container is deleted, the rootfs directory specified by **--external-rootfs** is not deleted. +- Containers based on ARM rootfs cannot run on x86 servers. Containers based on x86 rootfs cannot run on ARM servers. +- You are not advised to start multiple container instances by using the same rootfs. That is, one rootfs is used only by container instances in the same lifecycle. + +## Example + +If the local rootfs path is **/root/myrootfs**, run the following command to start a system container: + +``` +# isula run -tid --system-container --external-rootfs /root/myrootfs none init +``` + +>![](public_sys-resources/icon-note.gif) **NOTE:** +>Rootfs is a user-defined file system. Prepare it by yourself. For example, a rootfs is generated after the TAR package of container images is decompressed. + diff --git a/content/en/docs/Container/start.md b/content/en/docs/Container/start.md new file mode 100644 index 000000000..b0670c22e --- /dev/null +++ b/content/en/docs/Container/start.md @@ -0,0 +1,22 @@ +# start + +Syntax: **docker start \[**_options_**\]** _container_ **\[**_container_**...\]** + +Function: Starts one or more containers that are not running. + +Parameter description: + +**-a** and **--attach=false**: Attach the standard output and error output of a container to STDOUT and STDERR of the host. + +**-i** and **--interactive=false**: Attach the standard input of the container to the STDIN of the host. + +Example: + +Run the following command to start a container named **busybox** and add the **-i -a** to the command to add standard input and output. After the container is started, directly enter the container. You can exist the container by entering **exit**. + +If **-i -a** is not added to the command when the container is started, the container is started in the background. + +``` +$ sudo docker start -i -a busybox +``` + diff --git a/content/en/docs/Container/startcontainer.md b/content/en/docs/Container/startcontainer.md new file mode 100644 index 000000000..72a05fa92 --- /dev/null +++ b/content/en/docs/Container/startcontainer.md @@ -0,0 +1,44 @@ +# StartContainer + +## Prototype + +``` +rpc StartContainer(StartContainerRequest) returns (StartContainerResponse) {} +``` + +## Description + +This API is used to start a container. + +## Parameters + + + + + + + + + +

Parameter

+

Description

+

string container_id

+

Container ID.

+
+ +## Return Values + + + + + + + + + +

Return Value

+

Description

+

None

+

None

+
+ diff --git a/content/en/docs/Container/starting-a-container.md b/content/en/docs/Container/starting-a-container.md new file mode 100644 index 000000000..b7dd6f88c --- /dev/null +++ b/content/en/docs/Container/starting-a-container.md @@ -0,0 +1,49 @@ +# Starting a Container + +## Description + +To start one or more containers, run the **isula start** command. + +## **Usage** + +``` +isula start [OPTIONS] CONTAINER [CONTAINER...] +``` + +## Parameters + +The following table lists the parameters supported by the **start** command. + +**Table 1** Parameter description + + + + + + + + + + + + + + +

Command

+

Parameter

+

Description

+

start

+

-H, --host

+

Specifies the iSulad socket file path to be accessed.

+

-R, --runtime

+

Container runtime. The parameter value can be lcr, which is case insensitive. Therefore, LCR and lcr are equivalent.

+
+ +## Example + +Start a new container. + +``` +$ isula start fd7376591a9c3d8ee9a14f5d2c2e5255b02cc44cddaabca82170efd4497510e1 +``` + diff --git a/content/en/docs/Container/starting-a-secure-container.md b/content/en/docs/Container/starting-a-secure-container.md new file mode 100644 index 000000000..b42ef47f4 --- /dev/null +++ b/content/en/docs/Container/starting-a-secure-container.md @@ -0,0 +1,57 @@ +# Starting a Secure Container + +You can use the Docker engine or iSulad as the container engine of the secure container. The invoking methods of the two engines are similar. You can select either of them to start a secure container. + +To start a secure container, perform the following steps: + +1. Ensure that the secure container component has been correctly installed and deployed. +2. Prepare the container image. If the container image is busybox, run the following commands to download the container image using the Docker engine or iSulad: + + ``` + docker pull busybox + ``` + + ``` + isula pull busybox + ``` + +3. Start a secure container. Run the following commands to start a secure container using the Docker engine and iSulad: + + ``` + docker run -tid --runtime kata-runtime --network none busybox + ``` + + ``` + isula run -tid --runtime kata-runtime --network none busybox + ``` + + >![](public_sys-resources/icon-note.gif) **NOTE:** + >The secure container supports the CNI network only and does not support the CNM network. The **-p** and **--expose** options cannot be used to expose container ports. When using a secure container, you need to specify the **--net=none** option. + +4. Start a pod. + 1. Start the pause container and obtain the sandbox ID of the pod based on the command output. Run the following commands to start a pause container using the Docker engine and iSulad: + + ``` + docker run -tid --runtime kata-runtime --network none --annotation io.kubernetes.docker.type=podsandbox + ``` + + ``` + isula run -tid --runtime kata-runtime --network none --annotation io.kubernetes.cri.container-type=sandbox + ``` + +    + + 1. Create a service container and add it to the pod. Run the following commands to create a service container using the Docker engine and iSulad: + + ``` + docker run -tid --runtime kata-runtime --network none --annotation io.kubernetes.docker.type=container --annotation io.kubernetes.sandbox.id= busybox + ``` + + ``` + isula run -tid --runtime kata-runtime --network none --annotation io.kubernetes.cri.container-type=container --annotation io.kubernetes.cri.sandbox-id= busybox + ``` + + **--annotation** is used to mark the container type, which is provided by the Docker engine and iSulad, but not provided by the open-source Docker engine in the upstream community. + + + diff --git a/content/en/docs/Container/statistics.md b/content/en/docs/Container/statistics.md new file mode 100644 index 000000000..a7021fdb9 --- /dev/null +++ b/content/en/docs/Container/statistics.md @@ -0,0 +1,2 @@ +# Statistics + diff --git a/content/en/docs/Container/stats.md b/content/en/docs/Container/stats.md new file mode 100644 index 000000000..18c8c8d67 --- /dev/null +++ b/content/en/docs/Container/stats.md @@ -0,0 +1,26 @@ +# stats + +Syntax: **docker stats \[**_options_**\] \[**_container_**...\]** + +Function: Continuously monitors and displays the resource usage of a specified container. \(If no container is specified, the resource usage of all containers is displayed by default.\) + +Parameter description: + +**-a**, and **--all**: Display information about all containers. By default, only running containers are displayed. + +**--no-stream**: Displays only the first result and does not continuously monitor the result. + +Example: + +Run the **docker run** command to start and create a container, and run the **docker stats** command to display the resource usage of the container: + +``` +$ sudo docker stats +CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS +2e242bcdd682 jaeger 0.00% 77.08MiB / 125.8GiB 0.06% 42B / 1.23kB 97.9MB / 0B 38 +02a06be42b2c relaxed_chandrasekhar 0.01% 8.609MiB / 125.8GiB 0.01% 0B / 0B 0B / 0B 10 +deb9e49fdef1 hardcore_montalcini 0.01% 12.79MiB / 125.8GiB 0.01% 0B / 0B 0B / 0B 9 +``` + +   + diff --git a/content/en/docs/Container/status.md b/content/en/docs/Container/status.md new file mode 100644 index 000000000..a881477ce --- /dev/null +++ b/content/en/docs/Container/status.md @@ -0,0 +1,53 @@ +# Status + +## Prototype + +``` +rpc Status(StatusRequest) returns (StatusResponse) {}; +``` + +## Description + +This API is used to obtain the network status of the runtime and pod. Obtaining the network status will trigger the update of network configuration. Only containers whose runtime is of the LCR type are supported. + +## Precautions + +If the network configuration fails to be updated, the original configuration is not affected. The original configuration is overwritten only when the update is successful. + +## Parameters + + + + + + + + + +

Parameter

+

Description

+

bool verbose

+

Whether to display additional runtime information. This parameter does not take effect now.

+
+ +## Return Values + + + + + + + + + + + + +

Return Value

+

Description

+

RuntimeStatus status

+

Runtime status.

+

map<string, string> info

+

Additional information about the runtime. The key of info can be any value. The value must be in JSON format and can contain any debugging information. When verbose is set to true, info cannot be empty.

+
+ diff --git a/content/en/docs/Container/stop.md b/content/en/docs/Container/stop.md new file mode 100644 index 000000000..70953550c --- /dev/null +++ b/content/en/docs/Container/stop.md @@ -0,0 +1,16 @@ +# stop + +Syntax: **docker stop \[**_options_**\]** _container_ **\[**_container_**...\]** + +Function: Sends a SIGTERM signal to a container and then sends a SIGKILL signal to stop the container after a certain period. + +Parameter description: + +**-t** and **--time=10**: Number of seconds that the system waits for the container to exit before the container is killed. The default value is **10**. + +Example: + +``` +$ sudo docker stop -t=15 busybox +``` + diff --git a/content/en/docs/Container/stopcontainer.md b/content/en/docs/Container/stopcontainer.md new file mode 100644 index 000000000..196e39293 --- /dev/null +++ b/content/en/docs/Container/stopcontainer.md @@ -0,0 +1,37 @@ +# StopContainer + +## Prototype + +``` +rpc StopContainer(StopContainerRequest) returns (StopContainerResponse) {} +``` + +## Description + +This API is used to stop a running container. You can set a graceful timeout time. If the container has been stopped, no errors will be returned. + +## Parameters + + + + + + + + + + + + +

Parameter

+

Description

+

string container_id

+

Container ID.

+

int64 timeout

+

Waiting time before a container is forcibly stopped. The default value is 0, indicating forcible stop.

+
+ +## Return Values + +None + diff --git a/content/en/docs/Container/stopping-a-container.md b/content/en/docs/Container/stopping-a-container.md new file mode 100644 index 000000000..3bc4fd8a5 --- /dev/null +++ b/content/en/docs/Container/stopping-a-container.md @@ -0,0 +1,73 @@ +# Stopping a Container + +## Description + +To stop a container, run the **isula stop** command. The SIGTERM signal is sent to the first process in the container. If the container is not stopped within the specified time \(10s by default\), the SIGKILL signal is sent. + +## **Usage** + +``` +isula stop [OPTIONS] CONTAINER [CONTAINER...] +``` + +## Parameters + +The following table lists the parameters supported by the **stop** command. + +**Table 1** Parameter description + + + + + + + + + + + + + + + + + +

Command

+

Parameter

+

Description

+

stop

+

-f, --force

+

Forcibly stops a running container.

+

-H, --host

+

Specifies the iSulad socket file path to be accessed.

+

-t, --time

+

Time for graceful stop. If the time exceeds the value of this parameter, the container is forcibly stopped.

+
+ +## Constraints + +- If the **t** parameter is specified and the value of **t** is less than 0, ensure that the application in the container can process the stop signal. + + Principle of the Stop command: Send the SIGTERM signal to the container, and then wait for a period of time \(**t** entered by the user\). If the container is still running after the period of time, the SIGKILL signal is sent to forcibly kill the container. + + +- The meaning of the input parameter **t** is as follows: + + **t** < 0: Wait for graceful stop. This setting is preferred when users are assured that their applications have a proper stop signal processing mechanism. + + **t** = 0: Do not wait and send **kill -9** to the container immediately. + + **t** \> 0: Wait for a specified period and send **kill -9** to the container if the container does not stop within the specified period. + + Therefore, if **t** is set to a value less than 0 \(for example, **t** = -1\), ensure that the container application correctly processes the SIGTERM signal. If the container ignores this signal, the container will be suspended when the **isula stop** command is run. + + +## Example + +Stop a container. + +``` +$ isula stop fd7376591a9c3d8ee9a14f5d2c2e5255b02cc44cddaabca82170efd4497510e1 +fd7376591a9c3d8ee9a14f5d2c2e5255b02cc44cddaabca82170efd4497510e1 +``` + diff --git a/content/en/docs/Container/stopping-a-secure-container.md b/content/en/docs/Container/stopping-a-secure-container.md new file mode 100644 index 000000000..bfa5e8fc5 --- /dev/null +++ b/content/en/docs/Container/stopping-a-secure-container.md @@ -0,0 +1,13 @@ +# Stopping a Secure Container + +- Run the following command to stop a secure container: + + ``` + docker stop + ``` + +- Stop a pod. + + When stopping a pod, note that the lifecycle of the pause container is the same as that of the pod. Therefore, stop service containers before the pause container. + + diff --git a/content/en/docs/Container/stopping-and-deleting-a-container.md b/content/en/docs/Container/stopping-and-deleting-a-container.md new file mode 100644 index 000000000..16dd1e8f9 --- /dev/null +++ b/content/en/docs/Container/stopping-and-deleting-a-container.md @@ -0,0 +1,74 @@ +# Stopping and Deleting a Container + +Run the **docker stop** command to stop the container named **container1**. + +``` +[root@localhost ~]# docker stop container1 +``` + +Or run the **docker kill** command to kill and stop the container. + +``` +[root@localhost ~]# docker kill container1 +``` + +After the container is stopped, run the **docker rm** command to delete the container. + +``` +[root@localhost ~]# docker rm container1 +``` + +Or run the **docker rm -f** command to forcibly delete the container. + +``` +[root@localhost ~]# docker rm -f container1 +``` + +## Precautions + +- Do not run the **docker rm –f **_XXX_ command to delete a container. If you forcibly delete a container, the **docker rm** command ignores errors during the process, which may cause residual metadata of the container. If you delete an image in common mode and an error occurs during the deletion process, the deletion fails and no metadata remains. +- Do not run the **docker kill** command. The **docker kill** command sends related signals to service processes in a container. Depending on the signal processing policies of service processes in the container may cause the result that the signal execution cannot be performed as expected. +- A container in the restarting state may not stop immediately when you run the **docker stop** command. If a container uses the restart rules, when the container is in the restarting state, there is a low probability that the **docker stop** command on the container returns immediately. The container will still be restarted with the impact of the restart rule. +- Do not run the **docker restart** command to restart a container with the **--rm** parameter. When a container with the **--rm** parameter exits, the container is automatically deleted. If the container with the **--rm** parameter is restarted, exceptions may occur. For example, if both the **--rm** and **-ti** parameters are added when the container is started, the restart operation cannot be performed on the container, otherwise, the container may stop responding and cannot exit. + +## When Using docker stop/restart to Specify -t and t<0, Ensure That Applications in the Container Can Process Stop Signal + +Stop Principle: \(The stop process is called by **Restart**.\) + +1. The SIGTERM \(15\) signal can be sent to a container for the first time. +2. Wait for a period of time \(**t** entered by the user\). +3. If the container process still exists, send the SIGKILL \(9\) signal to forcibly kill the process. + +The meaning of the input parameter **t** \(unit: s\) is as follows: + +- **t** < 0: Wait for graceful stop. This setting is preferred when users are assured that their applications have a proper stop signal processing mechanism. +- **t** = 0: Do not wait and send **kill -9** to the container immediately. +- **t** \> 0: Wait for a specified period and send **kill -9** to the container if the container does not stop within the specified period. + +Therefore, if **t** is set to a value less than 0 \(for example, **t** = **-1**\), ensure that the container application correctly processes the SIGTERM signal. If the container ignores this signal, the container will be suspended when the **docker stop** command is run. + +## Manually Deleting Containers in the Dead State As the Underlying File System May Be Busy + +When Docker deletes a container, it stops related processes of the container, changes the container status to Dead, and then deletes the container rootfs. When the file system or devicemapper is busy, the last step of deleting rootfs fails. Run the **docker ps -a** command. The command output shows that the container is in the Dead state. Containers in the Dead state cannot be started again. Wait until the file system is not busy and run the **docker rm** command again to delete the containers. + +## In PID namespace Shared Containers, If Child Container Is in pause State, Parent Container Stops Responding and the docker run Command Cannot Be Executed + +When the **--pid** parameter is used to create the parent and child containers that share PID namespace, if any process in the child container cannot exit \(for example, it is in the D or pause state\) when the **docker stop** command is executed, the **docker stop** command of the parent container is waiting. You need to manually recover the process so that the command can be executed normally. + +In this case, run the **docker inspect** command on the container in the pause state to check whether the parent container corresponding to **PidMode** is the container that requires **docker stop**. For the required container, run the **docker unpause** command to cancel the pause state of the child container. Then, proceed to the next step. + +Generally, the possible cause is that the PID namespace corresponding to the container cannot be destroyed due to residual processes. If the problem persists, use Linux tools to obtain the residual processes and locate the cause of the process exit failure in PID namespace. After the problem is solved, the container can exit. + +- Obtain PID namespace ID in a container. + + ``` + docker inspect --format={{.State.Pid}} CONTAINERID | awk '{print "/proc/"$1"/ns/pid"}' |xargs readlink + ``` + +- Obtain threads in the namespace. + + ``` + ls -l /proc/*/task/*/ns/pid |grep -F PIDNAMESPACE_ID |awk '{print $9}' |awk -F \/ '{print $5}' + ``` + + diff --git a/content/en/docs/Container/stoppodsandbox.md b/content/en/docs/Container/stoppodsandbox.md new file mode 100644 index 000000000..4ea4ce492 --- /dev/null +++ b/content/en/docs/Container/stoppodsandbox.md @@ -0,0 +1,44 @@ +# StopPodSandbox + +## Prototype + +``` +rpc StopPodSandbox(StopPodSandboxRequest) returns (StopPodSandboxResponse) {} +``` + +## Description + +This API is used to stop PodSandboxes and sandbox containers, and reclaim the network resources \(such as IP addresses\) allocated to a sandbox. If any running container belongs to the sandbox, the container must be forcibly stopped. + +## Parameters + + + + + + + + + +

Parameter

+

Description

+

string pod_sandbox_id

+

Sandbox ID.

+
+ +## Return Values + + + + + + + + + +

Return Value

+

Description

+

None

+

None

+
+ diff --git a/content/en/docs/Container/storage-description.md b/content/en/docs/Container/storage-description.md new file mode 100644 index 000000000..9fadda4d9 --- /dev/null +++ b/content/en/docs/Container/storage-description.md @@ -0,0 +1,79 @@ +# Storage Description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

File

+

Directory

+

Description

+

*

+

/etc/default/isulad/

+

Stores the OCI configuration file and hook template file of iSulad. The file configuration permission is set to 0640, and the sysmonitor check permission is set to 0550.

+

*

+

/etc/isulad/

+

Default configuration files of iSulad and seccomp.

+

isulad.sock

+

/var/run/

+

Pipe communication file, which is used for the communication between the client and iSulad.

+

isulad.pid

+

/var/run/

+

File for storing the iSulad PIDs. It is also a file lock to prevent multiple iSulad instances from being started.

+

*

+

/run/lxc/

+

Lock file, which is created during iSulad running.

+

*

+

/var/run/isulad/

+

Real-time communication cache file, which is created during iSulad running.

+

*

+

/var/run/isula/

+

Real-time communication cache file, which is created during iSulad running.

+

*

+

/var/lib/lcr/

+

Temporary directory of the LCR component.

+

*

+

/var/lib/isulad/

+

Root directory where iSulad runs, which stores the created container configuration, default log path, database file, and mount point.

+

/var/lib/isulad/mnt/: mount point of the container rootfs.

+

/var/lib/isulad/engines/lcr/: directory for storing LCR container configurations. Each container has a directory named after the container.

+
+ diff --git a/content/en/docs/Container/storage-driver-configuration.md b/content/en/docs/Container/storage-driver-configuration.md new file mode 100644 index 000000000..2134f8d9a --- /dev/null +++ b/content/en/docs/Container/storage-driver-configuration.md @@ -0,0 +1,6 @@ +# Storage Driver Configuration + +This Docker version supports two storage drivers: overlay2 and devicemapper. Since overlay2 has better performance than devicemapper, it is recommended that overlay2 be preferentially used in the production environment. + + + diff --git a/content/en/docs/Container/supporting-oci-hooks.md b/content/en/docs/Container/supporting-oci-hooks.md new file mode 100644 index 000000000..260e1741c --- /dev/null +++ b/content/en/docs/Container/supporting-oci-hooks.md @@ -0,0 +1,2 @@ +# Supporting OCI hooks + diff --git a/content/en/docs/Container/system-container.md b/content/en/docs/Container/system-container.md new file mode 100644 index 000000000..312a7234d --- /dev/null +++ b/content/en/docs/Container/system-container.md @@ -0,0 +1,2 @@ +# System Container + diff --git a/content/en/docs/Container/tag.md b/content/en/docs/Container/tag.md new file mode 100644 index 000000000..c0a2d155a --- /dev/null +++ b/content/en/docs/Container/tag.md @@ -0,0 +1,16 @@ +# tag + +Syntax: **docker tag \[**_options_**\] **_image_**\[**_:tag_**\] \[**_registry host/_**\]\[**_username/_**\]**_name_**\[**_:tag_**\]** + +Function: Tags an image to a registry. + +Parameter description: + +**-f** or **--force=false**: Forcibly replaces the original image when the same tag name exists. + +Example: + +``` +$ sudo docker tag busybox:latest busybox:test +``` + diff --git a/content/en/docs/Container/terms-of-use.md b/content/en/docs/Container/terms-of-use.md new file mode 100644 index 000000000..05f4b258f --- /dev/null +++ b/content/en/docs/Container/terms-of-use.md @@ -0,0 +1,18 @@ +# Terms of Use + +**Copyright © Huawei Technologies Co., Ltd. 2020. All rights reserved.** + +Your replication, use, modification, and distribution of this document are governed by the Creative Commons License Attribution-ShareAlike 4.0 International Public License \(CC BY-SA 4.0\). You can visit [https://creativecommons.org/licenses/by-sa/4.0/](https://creativecommons.org/licenses/by-sa/4.0/) to view a human-readable summary of \(and not a substitute for\) CC BY-SA 4.0. For the complete CC BY-SA 4.0, visit [https://creativecommons.org/licenses/by-sa/4.0/legalcode](https://creativecommons.org/licenses/by-sa/4.0/legalcode). + +   + +**Trademarks and Permissions** + +openEuler is a trademark or registered trademark of Huawei Technologies Co., Ltd. All other trademarks and registered trademarks mentioned in this document are the property of their respective holders. + +   + +**Disclaimer** + +This document is used only as a guide. Unless otherwise specified by applicable laws or agreed by both parties in written form, all statements, information, and recommendations in this document are provided "AS IS" without warranties, guarantees or representations of any kind, including but not limited to non-infringement, timeliness, and specific purposes. + diff --git a/content/en/docs/Container/top.md b/content/en/docs/Container/top.md new file mode 100644 index 000000000..2e0c3bb68 --- /dev/null +++ b/content/en/docs/Container/top.md @@ -0,0 +1,20 @@ +# top + +Syntax: **docker top** _container_ **\[**_ps options_**\]** + +Function: Displays the processes running in a container. + +Parameter description: none. + +Example: + +Run the top\_test container and run the **top** command in the container. + +``` +$ sudo docker top top_test +UID PID PPID C STIME TTY TIME CMD +root 70045 70028 0 15:52 pts/0 00:00:00 bash +``` + +The value of **PID** is the PID of the process in the container on the host. + diff --git a/content/en/docs/Container/two-way-authentication.md b/content/en/docs/Container/two-way-authentication.md new file mode 100644 index 000000000..0ba16c873 --- /dev/null +++ b/content/en/docs/Container/two-way-authentication.md @@ -0,0 +1,93 @@ +# Two-Way Authentication + +## Description + +After this function is enabled, iSulad and image repositories communicate over HTTPS. Both iSulad and image repositories verify the validity of each other. + +## Usage + +The corresponding registry needs to support this function and iSulad needs to be configured as follows: + +1. Modify iSulad configuration \(default path: **/etc/isulad/daemon.json**\) and set **use-decrypted-key** to **false**. +2. Place related certificates in the folder named after the registry in the **/etc/isulad/certs.d** directory. For details about how to generate certificates, visit the official Docker website: + - [https://docs.docker.com/engine/security/certificates/](https://docs.docker.com/engine/security/certificates/) + - [https://docs.docker.com/engine/security/https/](https://docs.docker.com/engine/security/https/) + + +1. Run the **systemctl restart isulad** command to restart iSulad. + +## Parameters + +Parameters can be configured in the **/etc/isulad/daemon.json** file or carried when iSulad is started. + +``` +isulad --use-decrypted-key=false +``` + +## Example + +Set **use-decrypted-key** to **false**. + +``` +$ cat /etc/isulad/daemon.json +{ + "group": "isulad", + "graph": "/var/lib/isulad", + "state": "/var/run/isulad", + "engine": "lcr", + "log-level": "ERROR", + "pidfile": "/var/run/isulad.pid", + "log-opts": { + "log-file-mode": "0600", + "log-path": "/var/lib/isulad", + "max-file": "1", + "max-size": "30KB" + }, + "log-driver": "stdout", + "hook-spec": "/etc/default/isulad/hooks/default.json", + "start-timeout": "2m", + "storage-driver": "overlay2", + "storage-opts": [ + "overlay2.override_kernel_check=true" + ], + "registry-mirrors": [ + "docker.io" + ], + "insecure-registries": [ + "rnd-dockerhub.huawei.com" + ], + "pod-sandbox-image": "", + "image-opt-timeout": "5m", + "native.umask": "secure", + "network-plugin": "", + "cni-bin-dir": "", + "cni-conf-dir": "", + "image-layer-check": false, + "use-decrypted-key": false, + "insecure-skip-verify-enforce": false +} +``` + +Place the certificate in the corresponding directory. + +``` +$ pwd +/etc/isulad/certs.d/my.csp-edge.com:5000 +$ ls +ca.crt tls.cert tls.key +``` + +Restart iSulad. + +``` +$ systemctl restart isulad +``` + +Run the **pull** command to download images from the registry: + +``` +$ isula pull my.csp-edge.com:5000/busybox +Image "my.csp-edge.com:5000/busybox" pulling +Image "my.csp-edge.com:5000/busybox@sha256:f1bdc62115dbfe8f54e52e19795ee34b4473babdeb9bc4f83045d85c7b2ad5c0" pulled +``` + diff --git a/content/en/docs/Container/uninstallation.md b/content/en/docs/Container/uninstallation.md new file mode 100644 index 000000000..958668277 --- /dev/null +++ b/content/en/docs/Container/uninstallation.md @@ -0,0 +1,24 @@ +# Uninstallation + +To uninstall iSulad, perform the following operations: + +1. Uninstall iSulad and its dependent software packages. + - If the **yum** command is used to install iSulad, run the following command to uninstall iSulad: + + ``` + $ sudo yum remove iSulad + ``` + + - If the **rpm** command is used to install iSulad, uninstall iSulad and its dependent software packages. Run the following command to uninstall an RPM package. + + ``` + sudo rpm -e iSulad-xx.xx.xx-YYYYmmdd.HHMMSS.gitxxxxxxxx.aarch64.rpm + ``` + +2. Images, containers, volumes, and related configuration files are not automatically deleted. The reference command is as follows: + + ``` + $ sudo rm -rf /var/lib/iSulad + ``` + + diff --git a/content/en/docs/Container/update.md b/content/en/docs/Container/update.md new file mode 100644 index 000000000..164f2cbab --- /dev/null +++ b/content/en/docs/Container/update.md @@ -0,0 +1,95 @@ +# update + +Syntax: **docker update \[**_options_**\]** _container_ **\[**_container_**...\]** + +Function: Hot changes one or more container configurations. + +Parameter description: + +**Table 1** Parameter description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Parameter

+

Description

+

--accel=[]

+

Configures one or more container accelerators.

+

--blkio-weight

+

Relative weight of the container blockio. The value ranges from 10 to 1000.

+

--cpu-shares

+

Relative weight of the host CPU obtained by the container. This parameter can be used to obtain a higher priority. By default, all containers obtain the same CPU priority.

+

--cpu-period

+

CPU CFS period.

+

The default value is 100 ms. Generally, --cpu-period and --cpu-quota are used together. For example, --cpu-period=50000 --cpu-quota=25000 indicates that if there is one CPU, the container can obtain 50% of the CPU every 50 ms.

+

--cpu-quota

+

CPU CFS quota. The default value is 0, indicating that there is no restriction on the quota.

+

--cpuset-cpus

+

Number of CPUs (0-3, 0, 1) that can be used by processes in the container. By default, there is no restriction on this parameter.

+

--cpuset-mems

+

Memory nodes (0-3, 0, 1) for running processes in the container. This parameter is valid only for the NUMA system.

+

--kernel-memory=""

+

Kernel memory limit of a container. The format is numberoptional unit, and available units are b, k, m, and g.

+

-m, --memory=""

+

Memory limit of a container. The format is numberoptional unit, and available units are b, k, m, and g. The minimum value of this parameter is 4m.

+

--memory-reservation

+

Container memory limit. The default value is the same as that of --memory. --memory is a hard limit, and --memory-reservation is a soft limit. When the memory usage exceeds the preset value, the memory usage is dynamically adjusted (the system attempts to reduce the memory usage to a value less than the preset value when reclaiming the memory). However, the memory usage may exceed the preset value. Generally, this parameter can be used together with --memory. The value must be less than the preset value of --memory.

+

--memory-swap

+

Total usage of the common memory and swap partition. -1 indicates no restriction is set on the usage. If this parameter is not set, the swap partition size is twice the value of --memory. That is, the swap partition can use the same amount of memory as --memory.

+

--restart=""

+

Configures restart rule when the container exits. Currently, version 1.3.1 supports the following rules:

+
  • no: indicates that the container is not restarted when it is stopped.
  • on-failure: indicates that the container is restarted when the container exit code is not 0. This rule can be used to add the maximum number of restart times, for example, on-failure:5, indicating that the container can be restarted for a maximum of five times.
  • always: indicates the container is exited regardless of the exit code.
+

--help

+

Help information.

+
+ +Example: + +Run the following command to change the CPU and memory configurations of the container named **busybox**, including changing the relative weight of the host CPU obtained by the container to **512**, the CPU cores that can be run by processes in the container to **0,1,2,3**, and the memory limit for running the container to **512 m**. + +``` +$ sudo docker update --cpu-shares 512 --cpuset-cpus=0,3 --memory 512m ubuntu +``` + diff --git a/content/en/docs/Container/updatecontainerresources.md b/content/en/docs/Container/updatecontainerresources.md new file mode 100644 index 000000000..d17eabc9d --- /dev/null +++ b/content/en/docs/Container/updatecontainerresources.md @@ -0,0 +1,42 @@ +# UpdateContainerResources + +## Prototype + +``` +rpc UpdateContainerResources(UpdateContainerResourcesRequest) returns (UpdateContainerResourcesResponse) {} +``` + +## Description + +This API is used to update container resource configurations. + +## Precautions + +- This API cannot be used to update the pod resource configurations. +- The value of **oom\_score\_adj** of any container cannot be updated. + +## Parameters + + + + + + + + + + + + +

Parameter

+

Description

+

string container_id

+

Container ID.

+

LinuxContainerResources linux

+

Linux resource configuration information.

+
+ +## Return Values + +None + diff --git a/content/en/docs/Container/updateruntimeconfig.md b/content/en/docs/Container/updateruntimeconfig.md new file mode 100644 index 000000000..33d9bfaaa --- /dev/null +++ b/content/en/docs/Container/updateruntimeconfig.md @@ -0,0 +1,36 @@ +# UpdateRuntimeConfig + +## Prototype + +``` +rpc UpdateRuntimeConfig(UpdateRuntimeConfigRequest) returns (UpdateRuntimeConfigResponse); +``` + +## Description + +This API is used as a standard CRI to update the pod CIDR of the network plug-in. Currently, the CNI network plug-in does not need to update the pod CIDR. Therefore, this API records only access logs. + +## Precautions + +API operations will not modify the system management information, but only record a log. + +## Parameters + + + + + + + + + +

Parameter

+

Description

+

RuntimeConfig runtime_config

+

Information to be configured for the runtime.

+
+ +## Return Values + +None + diff --git a/content/en/docs/Container/upgrade-methods.md b/content/en/docs/Container/upgrade-methods.md new file mode 100644 index 000000000..304322ce0 --- /dev/null +++ b/content/en/docs/Container/upgrade-methods.md @@ -0,0 +1,21 @@ +# Upgrade Methods + +- For an upgrade between patch versions of a major version, for example, upgrading 2.x.x to 2.x.x, run the following command: + + ``` + $ sudo yum update -y iSulad + ``` + +- For an upgrade between major versions, for example, upgrading 1.x.x to 2.x.x, save the current configuration file **/etc/isulad/daemon.json**, uninstall the existing iSulad software package, install the iSulad software package to be upgraded, and restore the configuration file. + +>![](public_sys-resources/icon-note.gif) **NOTE:** +>- You can run the **sudo rpm -qa |grep iSulad** or **isula version** command to check the iSulad version. +>- If you want to manually perform upgrade between patch versions of a major version, run the following command to download the RPM packages of iSulad and all its dependent libraries: +> ``` +> $ sudo rpm -Uhv iSulad-xx.xx.xx-YYYYmmdd.HHMMSS.gitxxxxxxxx.aarch64.rpm +> ``` +> If the upgrade fails, run the following command to forcibly perform the upgrade: +> ``` +> $ sudo rpm -Uhv --force iSulad-xx.xx.xx-YYYYmmdd.HHMMSS.gitxxxxxxxx.aarch64.rpm +> ``` + diff --git a/content/en/docs/Container/usage-guide-11.md b/content/en/docs/Container/usage-guide-11.md new file mode 100644 index 000000000..f301cd449 --- /dev/null +++ b/content/en/docs/Container/usage-guide-11.md @@ -0,0 +1,118 @@ +# Usage Guide + +Use **--security-opt** to transfer the configuration file to the container where system calls need to be filtered. + +``` +isula run -itd --security-opt seccomp=/path/to/seccomp/profile.json rnd-dockerhub.huawei.com/official/busybox +``` + +>![](public_sys-resources/icon-note.gif) **NOTE:** +>1. When the configuration file is transferred to the container by using **--security-opt** during container creation, the default configuration file \(**/etc/isulad/seccomp\_default.json**\) is used. +>2. When **--security-opt** is set to **unconfined** during container creation, system calls are not filtered for the container. +>3. **/path/to/seccomp/profile.json** must be an absolute path. + +## Obtaining the Default Seccomp Configuration of a Common Container + +- Start a common container \(or a container with **--cap-add**\) and check its default permission configuration. + + ``` + cat /etc/isulad/seccomp_default.json | python -m json.tool > profile.json + ``` + + The **seccomp** field contains many **syscalls** fields. Then extract only the **syscalls** fields and perform the customization by referring to the customization of the seccomp configuration file. + + ``` + "defaultAction": "SCMP_ACT_ERRNO", + "syscalls": [ + { + "action": "SCMP_ACT_ALLOW", + "name": "accept" + }, + { + "action": "SCMP_ACT_ALLOW", + "name": "accept4" + }, + { + "action": "SCMP_ACT_ALLOW", + "name": "access" + }, + { + "action": "SCMP_ACT_ALLOW", + "name": "alarm" + }, + { + "action": "SCMP_ACT_ALLOW", + "name": "bind" + }, + ]... + ``` + + +- Check the seccomp configuration that can be identified by the LXC. + + ``` + cat /var/lib/isulad/engines/lcr/74353e38021c29314188e29ba8c1830a4677ffe5c4decda77a1e0853ec8197cd/seccomp + ``` + + ``` + ... + waitpid allow + write allow + writev allow + ptrace allow + personality allow [0,0,SCMP_CMP_EQ,0] + personality allow [0,8,SCMP_CMP_EQ,0] + personality allow [0,131072,SCMP_CMP_EQ,0] + personality allow [0,131080,SCMP_CMP_EQ,0] + personality allow [0,4294967295,SCMP_CMP_EQ,0] + ... + ``` + + +## Customizing the Seccomp Configuration File + +When starting a container, use **--security-opt** to introduce the seccomp configuration file. Container instances will restrict the running of system APIs based on the configuration file. Obtain the default seccomp configuration of common containers, obtain the complete template, and customize the configuration file by referring to this section to start the container. + +``` +isula run --rm -it --security-opt seccomp:/path/to/seccomp/profile.json rnd-dockerhub.huawei.com/official/busybox +``` + +The configuration file template is as follows: + +``` +{ +"defaultAction": "SCMP_ACT_ALLOW", +"syscalls": [ +{ +"name": "syscall-name", +"action": "SCMP_ACT_ERRNO", +"args": null +} +] +} +``` + +>![](public_sys-resources/icon-notice.gif) **NOTICE:** +>- **defaultAction** and **syscalls**: The types of their corresponding actions are the same, but their values must be different. The purpose is to ensure that each syscall has a default action. Clear definitions in the syscall array shall prevail. As long as the values of **defaultAction** and **action** are different, no action conflicts will occur. The following actions are supported: +> **SCMP\_ACT\_ERRNO**: forbids calling syscalls and displays error information. +> **SCMP\_ACT\_ALLOW**: allows calling syscalls. +>- **syscalls**: array, which can contain one or more syscalls. **args** is optional. +>- **name**: syscalls to be filtered. +>- **args**: array. The definition of each object in the array is as follows: +> ``` +> type Arg struct { +> Index uint `json:"index"` // Parameter ID. Take open(fd, buf, len) as an example. The fd corresponds to 0 and buf corresponds to 1. +> Value uint64 `json:"value"` // Value to be compared with the parameter. +> ValueTwo uint64 `json:"value_two"` // It is valid only when Op is set to MaskEqualTo. After the bitwise AND operation is performed on the user-defined value and the value of Value, the result is compared with the value of ValueTwo. If they are the same, the action is executed. +> Op Operator `json:"op"` +> } +> ``` +> The value of **Op** in **args** can be any of the following: +> "SCMP\_CMP\_NE": NotEqualTo +> "SCMP\_CMP\_LT": LessThan +> "SCMP\_CMP\_LE": LessThanOrEqualTo +> "SCMP\_CMP\_EQ": EqualTo +> "SCMP\_CMP\_GE": GreaterThanOrEqualTo +> "SCMP\_CMP\_GT": GreaterThan +> "SCMP\_CMP\_MASKED\_EQ": MaskEqualTo + diff --git a/content/en/docs/Container/usage-guide-14.md b/content/en/docs/Container/usage-guide-14.md new file mode 100644 index 000000000..888e4836e --- /dev/null +++ b/content/en/docs/Container/usage-guide-14.md @@ -0,0 +1,8 @@ +# Usage Guide + +iSulad uses **--cap-add** or **--cap-drop** to add or delete specific permissions for a container. Do not add extra permissions to the container unless necessary. You are advised to remove the default but unnecessary permissions from the container. + +``` +isula run --rm -it --cap-add all --cap-drop SYS_ADMIN rnd-dockerhub.huawei.com/official/busybox +``` + diff --git a/content/en/docs/Container/usage-guide-17.md b/content/en/docs/Container/usage-guide-17.md new file mode 100644 index 000000000..208564f18 --- /dev/null +++ b/content/en/docs/Container/usage-guide-17.md @@ -0,0 +1,44 @@ +# Usage Guide + +- Enable SELinux for daemon. + + ``` + isulad --selinux-enabled + ``` + + +   + +- Configure SELinux security context labels during container startup. + + **--security-opt="label=user:USER"**: Set the label user for the container. + + **--security-opt="label=role:ROLE"**: Set the label role for the container. + + **--security-opt="label=type:TYPE"**: Set the label type for the container. + + **--security-opt="label=level:LEVEL"**: Set the label level for the container. + + **--security-opt="label=disable"**: Disable the SELinux configuration for the container. + + ``` + $ isula run -itd --security-opt label=type:container_t --security-opt label=level:s0:c1,c2 rnd-dockerhub.huawei.com/official/centos + 9be82878a67e36c826b67f5c7261c881ff926a352f92998b654bc8e1c6eec370 + ``` + + +   + +- Add the selinux label to a mounted volume \(**z** indicates the shared mode\). + + ``` + $ isula run -itd -v /test:/test:z rnd-dockerhub.huawei.com/official/centos + 9be82878a67e36c826b67f5c7261c881ff926a352f92998b654bc8e1c6eec370 + + $ls -Z /test + system_u:object_r:container_file_t:s0 file + ``` + +    + + diff --git a/content/en/docs/Container/usage-guide-22.md b/content/en/docs/Container/usage-guide-22.md new file mode 100644 index 000000000..171880a69 --- /dev/null +++ b/content/en/docs/Container/usage-guide-22.md @@ -0,0 +1,5 @@ +# Usage Guide + + + + diff --git a/content/en/docs/Container/usage-guide.md b/content/en/docs/Container/usage-guide.md new file mode 100644 index 000000000..b40af93bf --- /dev/null +++ b/content/en/docs/Container/usage-guide.md @@ -0,0 +1,8 @@ +# Usage Guide + +iSulad runs the **--privileged** command to enable the privilege mode for containers. Do not add privileges to containers unless necessary. Comply with the principle of least privilege to reduce security risks. + +``` +isula run --rm -it --privileged busybox +``` + diff --git a/content/en/docs/Container/usage-restrictions-1.md b/content/en/docs/Container/usage-restrictions-1.md new file mode 100644 index 000000000..9d9e7e28f --- /dev/null +++ b/content/en/docs/Container/usage-restrictions-1.md @@ -0,0 +1,219 @@ +# Usage Restrictions + +Privileged containers provide all functions for containers and remove all restrictions enforced by the device cgroup controller. A privileged container has the following features: + +- Secomp does not block any system call. +- The **/sys** and **/proc** directories are writable. +- All devices on the host can be accessed in the container. + +- All system capabilities will be enabled. + +Default capabilities of a common container are as follows: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Capability Key

+

Description

+

SETPCAP

+

Modifies the process capabilities.

+

MKNOD

+

Allows using the system call mknod() to create special files.

+

AUDIT_WRITE

+

Writes records to kernel auditing logs.

+

CHOWN

+

Modifies UIDs and GIDs of files. For details, see the chown(2).

+

NET_RAW

+

Uses RAW and PACKET sockets and binds any IP address to the transparent proxy.

+

DAC_OVERRIDE

+

Ignores the discretionary access control (DAC) restrictions on files.

+

FOWNER

+

Ignores the restriction that the file owner ID must be the same as the process user ID.

+

FSETID

+

Allows setting setuid bits of files.

+

KILL

+

Allows sending signals to processes that do not belong to itself.

+

SETGID

+

Allows the change of the process group ID.

+

SETUID

+

Allows the change of the process user ID.

+

NET_BIND_SERVICE

+

Allows bounding to a port whose number is smaller than 1024.

+

SYS_CHROOT

+

Allows using the system call chroot().

+

SETFCAP

+

Allows transferring and deleting capabilities to other processes.

+
+ +When a privileged container is enabled, the following capabilities are added: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Capability Key

+

Description

+

SYS_MODULE

+

Loads and unloads kernel modules.

+

SYS_RAWIO

+

Allows direct access to /devport, /dev/mem, /dev/kmem, and original block devices.

+

SYS_PACCT

+

Allows the process BSD audit.

+

SYS_ADMIN

+

Allows executing system management tasks, such as loading or unloading file systems and setting disk quotas.

+

SYS_NICE

+

Allows increasing the priority and setting the priorities of other processes.

+

SYS_RESOURCE

+

Ignores resource restrictions.

+

SYS_TIME

+

Allows changing the system clock.

+

SYS_TTY_CONFIG

+

Allows configuring TTY devices.

+

AUDIT_CONTROL

+

Enables and disables kernel auditing, modifies audit filter rules, and extracts audit status and filtering rules.

+

MAC_ADMIN

+

Overrides the mandatory access control (MAC), which is implemented for the Smack Linux Security Module (LSM).

+

MAC_OVERRIDE

+

Allows MAC configuration or status change, which is implemented for Smack LSM.

+

NET_ADMIN

+

Allows executing network management tasks.

+

SYSLOG

+

Performs the privileged syslog(2) operation.

+

DAC_READ_SEARCH

+

Ignores the DAC access restrictions on file reading and catalog search.

+

LINUX_IMMUTABLE

+

Allows modifying the IMMUTABLE and APPEND attributes of a file.

+

NET_BROADCAST

+

Allows network broadcast and multicast access.

+

IPC_LOCK

+

Allows locking shared memory segments.

+

IPC_OWNER

+

Ignores the IPC ownership check.

+

SYS_PTRACE

+

Allows tracing any process.

+

SYS_BOOT

+

Allows restarting the OS.

+

LEASE

+

Allows modifying the FL_LEASE flag of a file lock.

+

WAKE_ALARM

+

Triggers the function of waking up the system, for example, sets the CLOCK_REALTIME_ALARM and CLOCK_BOOTTIME_ALARM timers.

+

BLOCK_SUSPEND

+

Allows blocking system suspension.

+
+ diff --git a/content/en/docs/Container/usage-restrictions-10.md b/content/en/docs/Container/usage-restrictions-10.md new file mode 100644 index 000000000..9f9ab8d94 --- /dev/null +++ b/content/en/docs/Container/usage-restrictions-10.md @@ -0,0 +1,4 @@ +# Usage Restrictions + +- Seccomp may affect performance. Before setting seccomp, evaluate the scenario and add the configuration only if necessary. + diff --git a/content/en/docs/Container/usage-restrictions-13.md b/content/en/docs/Container/usage-restrictions-13.md new file mode 100644 index 000000000..51ebcf5e8 --- /dev/null +++ b/content/en/docs/Container/usage-restrictions-13.md @@ -0,0 +1,24 @@ +# Usage Restrictions + +- The default capability list \(whitelist\) of the iSulad service, which is carried by common container processes by default, are as follows: + + ``` + "CAP_CHOWN", + "CAP_DAC_OVERRIDE", + "CAP_FSETID", + "CAP_FOWNER", + "CAP_MKNOD", + "CAP_NET_RAW", + "CAP_SETGID", + "CAP_SETUID", + "CAP_SETFCAP", + "CAP_SETPCAP", + "CAP_NET_BIND_SERVICE", + "CAP_SYS_CHROOT", + "CAP_KILL", + "CAP_AUDIT_WRITE" + ``` + +- Default configurations of capabilities include **CAP\_SETUID** and **CAP\_FSETID**. If the host and a container share a directory, the container can set permissions for the binary file in the shared directory. Common users on the host can use this feature to elevate privileges. The container can write **CAP\_AUDIT\_WRITE** to the host, which may cause risks. If the application scenario does not require this capability, you are advised to use **--cap-drop** to delete the capability when starting the container. +- Adding capabilities means that the container process has greater capabilities than before. In addition, more system call APIs are opened. + diff --git a/content/en/docs/Container/usage-restrictions-16.md b/content/en/docs/Container/usage-restrictions-16.md new file mode 100644 index 000000000..acd802f1a --- /dev/null +++ b/content/en/docs/Container/usage-restrictions-16.md @@ -0,0 +1,14 @@ +# Usage Restrictions + +- Ensure that SELinux is enabled for the host and daemon \(the **selinux-enabled** field in the **/etc/isulad/daemon.json** file is set to **true** or **--selinux-enabled** is added to command line parameters\). +- Ensure that a proper SELinux policy has been configured on the host. container-selinux is recommended. +- The introduction of SELinux affects the performance. Therefore, evaluate the scenario before setting SELinux. Enable the SELinux function for the daemon and set the SELinux configuration in the container only when necessary. +- When you configure labels for a mounted volume, the source directory cannot be a subdirectory of **/**, **/usr**, **/etc**, **/tmp**, **/home**, **/run**, **/var**, **/root**, or **/usr**. + +>![](public_sys-resources/icon-note.gif) **NOTE:** +>- iSulad does not support labeling the container file system. To ensure that the container file system and configuration directory are labeled with the container access permission, run the **chcon** command to label them. +>- If SELinux access control is enabled for iSulad, you are advised to add a label to the **/var/lib/isulad** directory before starting daemon. Files and folders generated in the directory during container creation inherit the label by default. For example: +> ``` +> chcon -R system_u:object_r:container_file_t:s0 /var/lib/isulad +> ``` + diff --git a/content/en/docs/Container/usage-restrictions-20.md b/content/en/docs/Container/usage-restrictions-20.md new file mode 100644 index 000000000..a92cdd4a1 --- /dev/null +++ b/content/en/docs/Container/usage-restrictions-20.md @@ -0,0 +1,16 @@ +# Usage Restrictions + +- The path specified by **hook-spec** must be an absolute path. +- The file specified by **hook-spec** must exist. +- The path specified by **hook-spec** must contain a common text file in JSON format. +- The file specified by **hook-spec** cannot exceed 10 MB. +- **path** configured for hooks must be an absolute path. +- The file that is designated by **path** configured for hooks must exist. +- The file that is designated by **path** configured for hooks must have the execute permission. +- The owner of the file that is designated by **path** configured for hooks must be user **root**. +- Only user **root** has the write permission on the file that is designated by **path** configured for hooks. +- The value of **timeout** configured for hooks must be greater than **0**. + +    + + diff --git a/content/en/docs/Container/usage-restrictions-8.md b/content/en/docs/Container/usage-restrictions-8.md new file mode 100644 index 000000000..923916357 --- /dev/null +++ b/content/en/docs/Container/usage-restrictions-8.md @@ -0,0 +1,8 @@ +# Usage Restrictions + +- A maximum of five health check status records can be stored in a container. The last five records are saved. +- If health check parameters are set to **0** during container startup, the default values are used. +- After a container with configured health check parameters is started, if iSulad daemon exits, the health check is not executed. After iSulad daemon is restarted, the health status of the running container changes to **starting**. Afterwards, the check rules are the same as above. +- If the health check fails for the first time, the health check status will not change from **starting** to **unhealthy** until the specified number of retries \(**--health-retries**\) is reached, or to **healthy** until the health check succeeds. +- The health check function of containers whose runtime is of the Open Container Initiative \(OCI\) type needs to be improved. Only containers whose runtime is of the LCR type are supported. + diff --git a/content/en/docs/Container/usage-restrictions.md b/content/en/docs/Container/usage-restrictions.md new file mode 100644 index 000000000..0edcf9c7b --- /dev/null +++ b/content/en/docs/Container/usage-restrictions.md @@ -0,0 +1,7 @@ +# Usage Restrictions + +- Currently, only CNI 0.3.0 and CNI 0.3.1 are supported. In later versions, CNI 0.1.0 and CNI 0.2.0 may need to be supported. Therefore, when error logs are displayed, the information about CNI 0.1.0 and CNI 0.2.0 is reserved. +- name: The value must contain lowercase letters, digits, hyphens \(-\), and periods \(.\) and cannot be started or ended with a hyphen or period. The value can contain a maximum of 200 characters. +- The number of configuration files cannot exceed 200, and the size of a single configuration file cannot exceed 1 MB. +- The extended parameters need to be configured based on the actual network requirements. Optional parameters do not need to be written into the netconf.json file. + diff --git a/content/en/docs/Container/user-permission-control.md b/content/en/docs/Container/user-permission-control.md new file mode 100644 index 000000000..61555c18a --- /dev/null +++ b/content/en/docs/Container/user-permission-control.md @@ -0,0 +1,122 @@ +# User Permission Control + +## Function Description + +A container engine supports TLS for user identity authentication, which is used to control user permissions. Currently, container engines can connect to the authz plug-in to implement permission control. + +## API Description + +You can configure the startup parameters of the iSulad container engine to specify the permission control plug-in. The default daemon configuration file is **/etc/isulad/daemon.json**. + + + + + + + + + + + + +

Parameter

+

Example

+

Description

+

--authorization-plugin

+

"authorization-plugin": "authz-broker"

+

User permission authentication plug-in. Currently, only authz-broker is supported.

+
+ +## Constraints + +- User permission policies need to be configured for authz. The default policy file is **/var/lib/authz-broker/policy.json**. This file can be dynamically modified and the modification will take effect immediately without restarting the plug-in service. +- A container engine can be started by user **root**. If some commands used are enabled for by common users, common users may obtain excessive permissions. Therefore, exercise caution when performing such operations. Currently, running the **container\_attach**, **container\_create**, and **container\_exec\_create** commands may cause risks. +- Some compound operations, such as running **isula exec** and **isula inspect** or running and **isula attach** and **isula inspect**, depend on the permission of **isula inspect**. If a user does not have this permission, an error is reported. +- Using SSL/TLS encryption channels hardens security but also reduces performance. For example, the delay increases, more CPU resources are consumed, and encryption and decryption require higher throughput. Therefore, the number of concurrent executions decreases compared with non-TLS communication. According to the test result, when the ARM server \(Cortex-A72 64-core\) is almost unloaded, TLS is used to concurrently start a container. The maximum number of concurrent executions is 200 to 250. +- If **--tlsverify** is specified on the server, the default path where authentication files store is **/etc/isulad**. The default file names are **ca.pem**, **cert.pem**, and **key.pem**. + +## Example + +1. Ensure that the authz plug-in is installed on the host. If the authz plug-in is not installed, run the following command to install and start the authz plug-in service: + + ``` + [root@localhost ~]# yum install authz + [root@localhost ~]# systemctl start authz + ``` + +2. To enable this function, configure the container engine and TLS certificate. You can use OpenSSL to generate the required certificate. + + ``` + #SERVERSIDE + + # Generate CA key + openssl genrsa -aes256 -passout "pass:$PASSWORD" -out "ca-key.pem" 4096 + # Generate CA + openssl req -new -x509 -days $VALIDITY -key "ca-key.pem" -sha256 -out "ca.pem" -passin "pass:$PASSWORD" -subj "/C=$COUNTRY/ST=$STATE/L=$CITY/O=$ORGANIZATION/OU=$ORGANIZATIONAL_UNIT/CN=$COMMON_NAME/emailAddress=$EMAIL" + # Generate Server key + openssl genrsa -out "server-key.pem" 4096 + + # Generate Server Certs. + openssl req -subj "/CN=$COMMON_NAME" -sha256 -new -key "server-key.pem" -out server.csr + + echo "subjectAltName = DNS:localhost,IP:127.0.0.1" > extfile.cnf + echo "extendedKeyUsage = serverAuth" >> extfile.cnf + + openssl x509 -req -days $VALIDITY -sha256 -in server.csr -passin "pass:$PASSWORD" -CA "ca.pem" -CAkey "ca-key.pem" -CAcreateserial -out "server-cert.pem" -extfile extfile.cnf + + #CLIENTSIDE + + openssl genrsa -out "key.pem" 4096 + openssl req -subj "/CN=$CLIENT_NAME" -new -key "key.pem" -out client.csr + echo "extendedKeyUsage = clientAuth" > extfile.cnf + openssl x509 -req -days $VALIDITY -sha256 -in client.csr -passin "pass:$PASSWORD" -CA "ca.pem" -CAkey "ca-key.pem" -CAcreateserial -out "cert.pem" -extfile extfile.cnf + ``` + + If you want to use the preceding content as the script, replace the variables with the configured values. If the parameter used for generating the CA is empty, set it to **"**. **PASSWORD**, **COMMON\_NAME**, **CLIENT\_NAME**, and **VALIDITY** are mandatory. + +3. When starting the container engine, add parameters related to the TLS and authentication plug-in and ensure that the authentication plug-in is running properly. In addition, to use TLS authentication, the container engine must be started in TCP listening mode instead of the Unix socket mode. The configuration on the container demon is as follows: + + ``` + { + "tls": true, + "tls-verify": true, + "tls-config": { + "CAFile": "/root/.iSulad/ca.pem", + "CertFile": "/root/.iSulad/server-cert.pem", + "KeyFile":"/root/.iSulad/server-key.pem" + }, + "authorization-plugin": "authz-broker" + } + ``` + +4. Configure policies. For the basic authorization process, all policies are stored in the **/var/lib/authz-broker/policy.json** configuration file. The configuration file can be dynamically modified without restarting the plug-in. Only the SIGHUP signal needs to be sent to the authz process. In the file, a line contains one JSON policy object. The following provides policy configuration examples: + + - All users can run all iSuald commands: **\{"name":"policy\_0","users":\[""\],"actions":\[""\]\}** + - Alice can run all iSulad commands: **\{"name":"policy\_1","users":\["alice"\],"actions":\[""\]\}** + - A blank user can run all iSulad commands: ** \{"name":"policy\_2","users":\[""\],"actions":\[""\]\}** + - Alice and Bob can create new containers: **\{"name":"policy\_3","users":\["alice","bob"\],"actions":\["container\_create"\]\}** + - service\_account can read logs and run **docker top**: **\{"name":"policy\_4","users":\["service\_account"\],"actions":\["container\_logs","container\_top"\]\}** + - Alice can perform any container operations: **\{"name":"policy\_5","users":\["alice"\],"actions":\["container"\]\}** + - Alice can perform any container operations, but the request type can only be **get**: **\{"name":"policy\_5","users":\["alice"\],"actions":\["container"\], "readonly":true\}** + + >![](public_sys-resources/icon-note.gif) **NOTE:** + >- **action** indicates that regular expressions are supported. + >- **users** indicates that regular expressions are not supported. + >- Users configured in **users** must be unique. That is, a user cannot match multiple rules. + +5. After updating the configurations, configure TLS parameters on the client to connect to the container engine. That is, access the container engine with restricted permissions. + + ``` + [root@localhost ~]# isula version --tlsverify --tlscacert=/root/.iSulad/ca.pem --tlscert=/root/.iSulad/cert.pem --tlskey=/root/.iSulad/key.pem -H=tcp://127.0.0.1:2375 + ``` + + If you want to use the TLS authentication for default client connection, move the configuration file to **\~/.iSulad** and set the **ISULAD\_HOST** and **ISULAD\_TLS\_VERIFY** variables \(rather than transferring **-H=tcp://$HOST:2375** and -**-tlsverify** during each call\). + + ``` + [root@localhost ~]# mkdir -pv ~/.iSulad + [root@localhost ~]# cp -v {ca,cert,key}.pem ~/.iSulad + [root@localhost ~]# export ISULAD_HOST=localhost:2375 ISULAD_TLS_VERIFY=1 + [root@localhost ~]# isula version + ``` + + diff --git a/content/en/docs/Container/using-systemd-to-start-a-container.md b/content/en/docs/Container/using-systemd-to-start-a-container.md new file mode 100644 index 000000000..59f3438f7 --- /dev/null +++ b/content/en/docs/Container/using-systemd-to-start-a-container.md @@ -0,0 +1,88 @@ +# Using systemd to Start a Container + +## Function Description + +The init process started in system containers differs from that in common containers. Common containers cannot start system services through systemd. However, system containers have this capability. You can enable the systemd service by specifying the **--system-contianer** parameter when starting a system container. + +## Parameter Description + + + + + + + + + + + + +

Command

+

Parameter

+

Value Description

+

isula create/run

+

--system-container

+
  • The value is of a Boolean data type and can be true or false. The default value is true.
  • Specifies whether it is a system container. This function must be enabled.
+
+ +## Constraints + +- The systemd service needs to call some special system APIs, including mount, umount2, unshare, reboot, and name\_to\_handle\_at. Therefore, permissions to call the preceding APIs are enabled for system containers when the privileged container tag is disabled. +- All system containers are started by the init process. The init process does not respond to the SIGTERM signal which indicates normal exit. By default, the **stop** command forcibly kills the container 10 seconds later. If you need a quicker stop, you can manually specify the timeout duration of the **stop** command. +- **--system-container** must be used together with **--external-rootfs**. +- Various services can run in a system container. The **systemctl** command is used to manage the service starting and stopping. Services may depend on each other. As a result, when an exception occurs, some service processes are in the D or Z state so that the container cannot exit properly. +- Some service processes in a system container may affect other operation results. For example, if the NetworkManager service is running in the container, adding NICs to the container may be affected \(the NICs are successfully added but then stopped by the NetworkManger\), resulting in unexpected results. +- Currently, system containers and hosts cannot be isolated by using udev events. Therefore, the **fstab** file cannot be configured. +- The systemd service may conflict with the cgconfig service provided by libcgroup. You are advised to delete the libcgroup-related packages from a container or set **Delegate** of the cgconfig service to **no**. + +## Example + +- Specify the **--system-container** and **--external-rootfs** parameters to start a system container. + + ``` + [root@localhost ~]# isula run -tid -n systest01 --system-container --external-rootfs /root/myrootfs none init + ``` + +- After the preceding commands are executed, the container is running properly. You can run the **exec** command to access the container and view the process information. The command output indicates that the systemd service has been started. + + ``` + [root@localhost ~]# isula exec -it systest01 bash + [root@localhost /]# ps -ef + UID PID PPID C STIME TTY TIME CMD + root 1 0 2 06:49 ? 00:00:00 init + root 14 1 2 06:49 ? 00:00:00 /usr/lib/systemd/systemd-journal + root 16 1 0 06:49 ? 00:00:00 /usr/lib/systemd/systemd-network + dbus 23 1 0 06:49 ? 00:00:00 /usr/bin/dbus-daemon --system -- + root 25 0 0 06:49 ? 00:00:00 bash + root 59 25 0 06:49 ? 00:00:00 ps –ef + ``` + + +- Run the **systemctl** command in the container to check the service status. The command output indicates that the service is managed by systemd. + + ``` + [root@localhost /]# systemctl status dbus + ● dbus.service - D-Bus System Message Bus + Loaded: loaded (/usr/lib/systemd/system/dbus.service; static; vendor preset: + disabled) + Active: active (running) since Mon 2019-07-22 06:49:38 UTC; 2min 5 + 8s ago + Docs: man:dbus-daemon(1) + Main PID: 23 (dbus-daemon) + CGroup: /system.slice/dbus.service + └─23 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidf + ile --systemd-activation --syslog-only + + Jul 22 06:49:38 localhost systemd[1]: Started D-Bus System Message Bus. + ``` + +- Run the **systemctl** command in the container to stop or start the service. The command output indicates that the service is managed by systemd. + + ``` + [root@localhost /]# systemctl stop dbus + Warning: Stopping dbus.service, but it can still be activated by: + dbus.socket + [root@localhost /]# systemctl start dbus + ``` + + diff --git a/content/en/docs/Container/version.md b/content/en/docs/Container/version.md new file mode 100644 index 000000000..7c89060fd --- /dev/null +++ b/content/en/docs/Container/version.md @@ -0,0 +1,36 @@ +# version + +Syntax: **docker version** + +Function: Displays the Docker version information, including the client version, server version, Go version, and OS and Arch information. + +Parameter description: none. + +Example: + +``` +$ sudo docker version +Client: + Version: 18.09.0 + EulerVersion: 18.09.0.48 + API version: 1.39 + Go version: go1.11 + Git commit: cbf6283 + Built: Mon Apr 1 00:00:00 2019 + OS/Arch: linux/arm64 + Experimental: false + +Server: + Engine: + Version: 18.09.0 + EulerVersion: 18.09.0.48 + API version: 1.39 (minimum version 1.12) + Go version: go1.11 + Git commit: cbf6283 + Built: Mon Apr 1 00:00:00 2019 + OS/Arch: linux/arm64 + Experimental: false +``` + +   + diff --git a/content/en/docs/Container/viewing-images.md b/content/en/docs/Container/viewing-images.md new file mode 100644 index 000000000..fcdde670e --- /dev/null +++ b/content/en/docs/Container/viewing-images.md @@ -0,0 +1,8 @@ +# Viewing Images + +Run the following command to view the local image list: + +``` +docker images +``` + diff --git a/content/en/docs/Container/viewing-process-information-in-a-container.md b/content/en/docs/Container/viewing-process-information-in-a-container.md new file mode 100644 index 000000000..3c400a232 --- /dev/null +++ b/content/en/docs/Container/viewing-process-information-in-a-container.md @@ -0,0 +1,52 @@ +# Viewing Process Information in a Container + +## Description + +To view process information in a container, run the **isula top** command. Only containers whose runtime is of the LCR type are supported. + +## **Usage** + +``` +isula top [OPTIONS] container [ps options] +``` + +## Parameters + +The following table lists the parameters supported by the **top** command. + +**Table 1** Parameter description + + + + + + + + + + + + + + +

Command

+

Parameter

+

Description

+

top

+

  

+

-H, --host

+

Specifies the iSulad socket file path to be accessed.

+

/

+

Queries the process information of a running container.

+
+ +## Example + +Query process information in a container. + +``` +$ isula top 21fac8bb9ea8e0be4313c8acea765c8b4798b7d06e043bbab99fc20efa72629c +UID PID PPID C STIME TTY TIME CMD +root 22166 22163 0 23:04 pts/1 00:00:00 sh +``` + diff --git a/content/en/docs/Container/volume-mounting-management.md b/content/en/docs/Container/volume-mounting-management.md new file mode 100644 index 000000000..f9b4c12fb --- /dev/null +++ b/content/en/docs/Container/volume-mounting-management.md @@ -0,0 +1,120 @@ +# Volume Mounting Management + +## Function Description + +In a common container, you can set the **--volume** parameter during container creation to mount directories or volumes of the host to the container for resource sharing. However, during container running, you cannot unmount directories or volumes that are mounted to the container, or mount directories or volumes of the host to the container. Only the system container can use the isulad-tools tool to dynamically mount directories or volumes of the host to the container and unmount directories or volumes from the container. + +## Command Format + +``` +isulad-tools [COMMADN][OPTIONS] [ARG...] +``` + +In the preceding format: + +**COMMAND**: command related to route management. + +**OPTIONS**: option supported by the route management command. + +**container\_id**: container ID. + +**ARG**: parameter corresponding to the command. + +## API Description + +**Table 1**    + + + + + + + + + + + + + + + + + + + + + + + + +

Command

+

Function Description

+

Option Description

+

Parameter Description

+

add-path

+

Adds files or directories on the host to a container.

+

None

+

The parameter format is as follows:

+

hostpath:containerpath:permission [hostpath:containerpath:permission ...]

+

In the preceding format:

+

hostpath: path on the host for storing a volume.

+

containerpath: path on the container for storing a volume.

+

permission: operation permission on a mount path within the container.

+

remove-path

+

Deletes directories or files from the container and restores them to the host.

+

None

+

Parameter format: hostpath:containerpath[hostpath:containerpath ]

+

In the preceding format:

+

hostpath: path on the host for storing a volume.

+

containerpath: path on the container for storing a volume.

+

list-path

+

Lists all path directories in a container.

+

Supported options are as follows:

+

--pretty: outputs data in JSON format.

+

None

+
+ +## Constraints + +- When running the **add-path** command, specify an absolute path as the mount path. +- The mount point /.sharedpath is generated on the host after the mount path is specified by running the **add-path** command. +- A maximum of 128 volumes can be added to a container. +- Do not overwrite the root directory \(/\) in a container with the host directory by running the **add-path** command. Otherwise, the function is affected. + +## Example + +- Start a system container, and set **hook spec** to the isulad hook execution script. + + ``` + [root@localhost ~]# isula run -tid --hook-spec /etc/isulad-tools/hookspec.json --system-container --external-rootfs /root/root-fs none init + e45970a522d1ea0e9cfe382c2b868d92e7b6a55be1dd239947dda1ee55f3c7f7 + ``` + + +- Use isulad-tools to mount a directory on the host to a container, implementing resource sharing. + + ``` + [root@localhost ~]# isulad-tools add-path e45970a522d1 /home/test123:/home/test123 + Add path (/home/test123) to container(e45970a522d1,/home/test123) done. + ``` + +- Create a file in the **/home/test123** directory on the host and check whether the file can be accessed in the container. + + ``` + [root@localhost ~]# echo "hello world" > /home/test123/helloworld + [root@localhost ~]# isula exec e45970a522d1 bash + [root@localhost /]# cat /home/test123/helloworld + hello world + ``` + +- Use isulad-tools to delete the mount directory from the container. + + ``` + [root@localhost ~]# isulad-tools remove-path e45970a522d1 /home/test123:/home/test123 + Remove path (/home/test123) from container(e45970a522d1,/home/test123) done + [root@localhost ~]# isula exec e45970a522d1 bash + [root@localhost /]# ls /home/test123/helloworld + ls: cannot access '/home/test123/helloworld': No such file or directory + ``` + + diff --git a/content/en/docs/Container/wait.md b/content/en/docs/Container/wait.md new file mode 100644 index 000000000..4ab668185 --- /dev/null +++ b/content/en/docs/Container/wait.md @@ -0,0 +1,25 @@ +# wait + +Syntax: **docker wait** _container_ **\[**_container..._**\]** + +Function: Waits for a container to stop and print the exit code of the container: + +Parameter description: none. + +Example: + +Run the following command to start a container named **busybox**: + +``` +$ sudo docker start -i -a busybox +``` + +Run the **docker wait** command: + +``` +$ sudo docker wait busybox +0 +``` + +Wait until the busybox container exits. After the busybox container exits, the exit code **0** is displayed. + diff --git a/content/en/docs/Container/waiting-for-a-container-to-exit.md b/content/en/docs/Container/waiting-for-a-container-to-exit.md new file mode 100644 index 000000000..b4665c1d4 --- /dev/null +++ b/content/en/docs/Container/waiting-for-a-container-to-exit.md @@ -0,0 +1,50 @@ +# Waiting for a Container to Exit + +## Description + +To wait for one or more containers to exit, run the **isula wait** command. Only containers whose runtime is of the LCR type are supported. + +## **Usage** + +``` +isula wait [OPTIONS] CONTAINER [CONTAINER...] +``` + +## Parameters + +The following table lists the parameters supported by the **wait** command. + +**Table 1** Parameter description + + + + + + + + + + + + + + +

Command

+

Parameter

+

Description

+

wait

+

-H, --host

+

Specifies the iSulad socket file path to be accessed.

+

/

+

Blocks until the container stops and displays the exit code.

+
+ +## Example + +Wait for a single container to exit. + +``` +$ isula wait c75284634beeede3ab86c828790b439d16b6ed8a537550456b1f94eb852c1c0a + 137 +``` + diff --git a/content/en/docs/Container/writable-namespace-kernel-parameters.md b/content/en/docs/Container/writable-namespace-kernel-parameters.md new file mode 100644 index 000000000..ec1d89c6d --- /dev/null +++ b/content/en/docs/Container/writable-namespace-kernel-parameters.md @@ -0,0 +1,90 @@ +# Writable Namespace Kernel Parameters + +## Function Description + +For services running in containers, such as databases, big data, and common applications, some kernel parameters need to be set and adjusted to obtain the optimal performance and reliability. The modification permission of all kernel parameters must be disabled or enabled simultaneously \(by using privileged container\). + +When the modification permission is disabled, only the --sysctl external interface is provided and parameters cannot be flexibly modified in a container. + +When the modification permission is enabled, some kernel parameters are globally valid. If some parameters are modified in a container, all programs on the host will be affected, harming security. + +   + +System containers provide the **--ns-change-opt** parameter, which can be used to dynamically set namespace kernel parameters in a container. The parameter value can be **net** or **ipc**. + +## Parameter Description + + + + + + + + + + + + +

Command

+

Parameter

+

Value Description

+

isula create/run

+

--ns-change-opt

+
  • Variable of the string type.
  • The parameter value can be net or ipc.

    net: All namespace parameters in the /proc/sys/net directory are supported.

    +

    ipc: Supported namespace parameters are as follows:

    +

    /proc/sys/kernel/msgmax

    +

    /proc/sys/kernel/msgmnb

    +

    /proc/sys/kernel/msgmni

    +

    /proc/sys/kernel/sem

    +

    /proc/sys/kernel/shmall

    +

    /proc/sys/kernel/shmmax

    +

    /proc/sys/kernel/shmmni

    +

    /proc/sys/kernel/shm_rmid_forced

    +

    /proc/sys/fs/mqueue/msg_default

    +

    /proc/sys/fs/mqueue/msg_max

    +

    /proc/sys/fs/mqueue/msgsize_default

    +

    /proc/sys/fs/mqueue/msgsize_max

    +

    /proc/sys/fs/mqueue/queues_max

    +
  • You can specify multiple namespace configurations and separate them with commas (,). For example, --ns-change-opt=net,ipc.
+
+ +## Constraints + +- If both **--privileged** \(privileged container\) and **--ns-change-opt** are specified during container startup, **--ns-change-opt** does not take effect. + +## Example + +Start a container and set **--ns-change-opt** to **net**. + +``` +[root@localhost ~]# isula run -tid --ns-change-opt net --system-container --external-rootfs /root/myrootfs none init +4bf44a42b4a14fdaf127616c90defa64b4b532b18efd15b62a71cbf99ebc12d2 +[root@localhost ~]# isula exec -it 4b mount | grep /proc/sys +proc on /proc/sys type proc (ro,nosuid,nodev,noexec,relatime) +proc on /proc/sysrq-trigger type proc (ro,nosuid,nodev,noexec,relatime) +proc on /proc/sys/net type proc (rw,nosuid,nodev,noexec,relatime) +``` + +The mount point **/proc/sys/net** in the container has the **rw** option, indicating that the **net**-related namespace kernel parameters have the read and write permissions. + +Start another container and set **--ns-change-opt** to **ipc**. + +``` +[root@localhost ~]# isula run -tid --ns-change-opt ipc --system-container --external-rootfs /root/myrootfs none init +c62e5e5686d390500dab2fa76b6c44f5f8da383a4cbbeac12cfada1b07d6c47f +[root@localhost ~]# isula exec -it c6 mount | grep /proc/sys +proc on /proc/sys type proc (ro,nosuid,nodev,noexec,relatime) +proc on /proc/sysrq-trigger type proc (ro,nosuid,nodev,noexec,relatime) +proc on /proc/sys/kernel/shmmax type proc (rw,nosuid,nodev,noexec,relatime) +proc on /proc/sys/kernel/shmmni type proc (rw,nosuid,nodev,noexec,relatime) +proc on /proc/sys/kernel/shmall type proc (rw,nosuid,nodev,noexec,relatime) +proc on /proc/sys/kernel/shm_rmid_forced type proc (rw,nosuid,nodev,noexec,relatime) +proc on /proc/sys/kernel/msgmax type proc (rw,nosuid,nodev,noexec,relatime) +proc on /proc/sys/kernel/msgmni type proc (rw,nosuid,nodev,noexec,relatime) +proc on /proc/sys/kernel/msgmnb type proc (rw,nosuid,nodev,noexec,relatime) +proc on /proc/sys/kernel/sem type proc (rw,nosuid,nodev,noexec,relatime) +proc on /proc/sys/fs/mqueue type proc (rw,nosuid,nodev,noexec,relatime) +``` + +The mount point information of **ipc**-related kernel parameters in the container contains the **rw** option, indicating that the **ipc**-related namespace kernel parameters have the read and write permissions. + diff --git a/content/en/docs/SecHarden/account-passwords.md b/content/en/docs/SecHarden/account-passwords.md new file mode 100644 index 000000000..3ff41143c --- /dev/null +++ b/content/en/docs/SecHarden/account-passwords.md @@ -0,0 +1,4 @@ +# Account Passwords + + + diff --git a/content/en/docs/SecHarden/adding-a-sticky-bit-attribute-to-globally-writable-directories.md b/content/en/docs/SecHarden/adding-a-sticky-bit-attribute-to-globally-writable-directories.md new file mode 100644 index 000000000..54d1fe25f --- /dev/null +++ b/content/en/docs/SecHarden/adding-a-sticky-bit-attribute-to-globally-writable-directories.md @@ -0,0 +1,21 @@ +# Adding a Sticky Bit Attribute to Globally Writable Directories + +## Description + +Any user can delete or modify a file or directory in a globally writable directory, which leads to unauthorized file or directory deletion. Therefore, the sticky bit attribute is required for globally writable directories. + +## Implementation + +1. Search for globally writable directories. + + ``` + find / -type d -perm -0002 ! -perm -1000 -ls | grep -v proc + ``` + +2. Add the sticky bit attribute to globally writable directories. _dirname_ indicates the name of the directory that is found. + + ``` + chmod +t dirname + ``` + + diff --git a/content/en/docs/SecHarden/appendix.md b/content/en/docs/SecHarden/appendix.md new file mode 100644 index 000000000..26de4415a --- /dev/null +++ b/content/en/docs/SecHarden/appendix.md @@ -0,0 +1,7 @@ +# Appendix + +This chapter describes the file permissions and **umask** values. + + + + diff --git a/content/en/docs/SecHarden/authentication-and-authorization.md b/content/en/docs/SecHarden/authentication-and-authorization.md new file mode 100644 index 000000000..e69177234 --- /dev/null +++ b/content/en/docs/SecHarden/authentication-and-authorization.md @@ -0,0 +1,3 @@ +# Authentication and Authorization + + diff --git a/content/en/docs/SecHarden/deleting-unowned-files.md b/content/en/docs/SecHarden/deleting-unowned-files.md new file mode 100644 index 000000000..6290605e6 --- /dev/null +++ b/content/en/docs/SecHarden/deleting-unowned-files.md @@ -0,0 +1,38 @@ +# Deleting Unowned Files + +## Description + +When deleting a user or group, the system administrator may forget to delete the files of the user or group. If the name of a new user or group is the same as that of the deleted user or group, the new user or group will own files on which it has no permission. You are advised to delete these files. + +## Implementation + +Delete the file whose user ID does not exist. + +1. Search for the file whose user ID does not exist. + + ``` + find / -nouser + ``` + +2. Delete the found file. In the preceding command, _filename_ indicates the name of the file whose user ID does not exist. + + ``` + rm -f filename + ``` + + +Delete the file whose group ID does not exist. + +1. Search for the file whose user ID does not exist. + + ``` + find / -nogroup + ``` + +2. Delete the found file. In the preceding command, _filename_ indicates the name of the file whose user ID does not exist. + + ``` + rm -f filename + ``` + + diff --git a/content/en/docs/SecHarden/disabling-interactive-startup.md b/content/en/docs/SecHarden/disabling-interactive-startup.md new file mode 100644 index 000000000..0e021d275 --- /dev/null +++ b/content/en/docs/SecHarden/disabling-interactive-startup.md @@ -0,0 +1,10 @@ +# Disabling Interactive Startup + +## Description + +With interactive guidance, console users can disable audit, firewall, or other services, which compromises system security. Users can disable interactive startup to improve security. This item is disabled by default in openEuler. + +## Implementation + +This setting can be implemented by modifying the **/etc/sysconfig/init** file. Set **PROMPT** to **no**. + diff --git a/content/en/docs/SecHarden/disabling-the-globally-writable-permission-on-unauthorized-files.md b/content/en/docs/SecHarden/disabling-the-globally-writable-permission-on-unauthorized-files.md new file mode 100644 index 000000000..7ab9069b5 --- /dev/null +++ b/content/en/docs/SecHarden/disabling-the-globally-writable-permission-on-unauthorized-files.md @@ -0,0 +1,29 @@ +# Disabling the Globally Writable Permission on Unauthorized Files + +## Description + +Any user can modify globally writable files, which affects system integrity. + +## Implementation + +1. Search for all globally writable files. + + ``` + find / -type d \( -perm -o+w \) | grep -v procfind / -type f \( -perm -o+w \) | grep -v proc + ``` + +2. View the settings of files \(excluding files and directories with sticky bits\) listed in step 1, and delete the files or disable the globally writable permission on them. Run the following command to remove the permission. In the command, _filename_ indicates the file name. + +    + + ``` + chmod o-w filename + ``` + + >![](public_sys-resources/icon-note.gif) **NOTE:** + >You can run the following command to check whether the sticky bit is set for the file or directory. If the command output contains the **T** flag, the file or directory is with a sticky bit. In the command, _filename_ indicates the name of the file or directory to be queried. + >``` + >ls -l filename + >``` + + diff --git a/content/en/docs/SecHarden/en-us_bookmap_0192073180.md b/content/en/docs/SecHarden/en-us_bookmap_0192073180.md new file mode 100644 index 000000000..5f30521f3 --- /dev/null +++ b/content/en/docs/SecHarden/en-us_bookmap_0192073180.md @@ -0,0 +1,57 @@ + # Security Hardening Guide +- [Security Hardening Guide]({{< relref "./docs/SecHarden/secHarden.md" >}}) + - [Terms of Use]({{< relref "./docs/SecHarden/terms-of-use.md" >}}) + - [Preface]({{< relref "./docs/SecHarden/preface.md" >}}) + - [OS Hardening Overview]({{< relref "./docs/SecHarden/os-hardening-overview.md" >}}) + - [Security Hardening Purpose]({{< relref "./docs/SecHarden/security-hardening-purpose.md" >}}) + - [Security Hardening Solution]({{< relref "./docs/SecHarden/security-hardening-solution.md" >}}) + - [Security Hardening Impacts]({{< relref "./docs/SecHarden/security-hardening-impacts.md" >}}) + + - [Security Hardening Guide]({{< relref "./docs/SecHarden/security-hardening-guide.md" >}}) + - [System Services]({{< relref "./docs/SecHarden/system-services.md" >}}) + - [Hardening the SSH Service]({{< relref "./docs/SecHarden/hardening-the-ssh-service.md" >}}) + + - [File Permissions]({{< relref "./docs/SecHarden/file-permissions.md" >}}) + - [Setting the Permissions on and Ownership of Files]({{< relref "./docs/SecHarden/setting-the-permissions-on-and-ownership-of-files.md" >}}) + - [Deleting Unowned Files]({{< relref "./docs/SecHarden/deleting-unowned-files.md" >}}) + - [Removing a Symbolic Link to /dev/null]({{< relref "./docs/SecHarden/removing-a-symbolic-link-to-dev-null.md" >}}) + - [Setting the umask Value for a Daemon]({{< relref "./docs/SecHarden/setting-the-umask-value-for-a-daemon.md" >}}) + - [Adding a Sticky Bit Attribute to Globally Writable Directories]({{< relref "./docs/SecHarden/adding-a-sticky-bit-attribute-to-globally-writable-directories.md" >}}) + - [Disabling the Globally Writable Permission on Unauthorized Files]({{< relref "./docs/SecHarden/disabling-the-globally-writable-permission-on-unauthorized-files.md" >}}) + - [Restricting Permissions on the at Command]({{< relref "./docs/SecHarden/restricting-permissions-on-the-at-command.md" >}}) + - [Restricting Permissions on the cron Command]({{< relref "./docs/SecHarden/restricting-permissions-on-the-cron-command.md" >}}) + - [Restricting Permissions on the sudo Command]({{< relref "./docs/SecHarden/restricting-permissions-on-the-sudo-command.md" >}}) + + - [Kernel Parameters]({{< relref "./docs/SecHarden/kernel-parameters.md" >}}) + - [Hardening the Security of Kernel Parameters]({{< relref "./docs/SecHarden/hardening-the-security-of-kernel-parameters.md" >}}) + + - [Authentication and Authorization]({{< relref "./docs/SecHarden/authentication-and-authorization.md" >}}) + - [Setting a Warning for Remote Network Access]({{< relref "./docs/SecHarden/setting-a-warning-for-remote-network-access.md" >}}) + - [Forestalling Unauthorized System Restart by Holding Down Ctrl, Alt, and Delete]({{< relref "./docs/SecHarden/forestalling-unauthorized-system-restart-by-holding-down-ctrl-alt-and-delete.md" >}}) + - [Setting an Automatic Exit Interval for Shell]({{< relref "./docs/SecHarden/setting-an-automatic-exit-interval-for-shell.md" >}}) + - [Setting the Default umask Value for Users to 0077]({{< relref "./docs/SecHarden/setting-the-default-umask-value-for-users-to-0077.md" >}}) + - [Setting the GRUB2 Encryption Password]({{< relref "./docs/SecHarden/setting-the-grub2-encryption-password.md" >}}) + - [Setting the Secure Single-user Mode]({{< relref "./docs/SecHarden/setting-the-secure-single-user-mode.md" >}}) + - [Disabling Interactive Startup]({{< relref "./docs/SecHarden/disabling-interactive-startup.md" >}}) + + - [Account Passwords]({{< relref "./docs/SecHarden/account-passwords.md" >}}) + - [Shielding System Accounts]({{< relref "./docs/SecHarden/shielding-system-accounts.md" >}}) + - [Restricting Permissions on the su Command]({{< relref "./docs/SecHarden/restricting-permissions-on-the-su-command.md" >}}) + - [Setting Password Complexity]({{< relref "./docs/SecHarden/setting-password-complexity.md" >}}) + - [Setting the Password Validity Period]({{< relref "./docs/SecHarden/setting-the-password-validity-period.md" >}}) + - [Setting Password Encryption Algorithms]({{< relref "./docs/SecHarden/setting-password-encryption-algorithms.md" >}}) + - [Locking an Account After Three Login Failures]({{< relref "./docs/SecHarden/locking-an-account-after-three-login-failures.md" >}}) + - [Hardening the su Command]({{< relref "./docs/SecHarden/hardening-the-su-command.md" >}}) + + + - [Security Hardening Tools]({{< relref "./docs/SecHarden/security-hardening-tools.md" >}}) + - [Security Hardening Procedure]({{< relref "./docs/SecHarden/security-hardening-procedure.md" >}}) + - [Hardening Items Taking Effect]({{< relref "./docs/SecHarden/hardening-items-taking-effect.md" >}}) + + - [SELinux Configuration]({{< relref "./docs/SecHarden/selinux-configuration.md" >}}) + - [Appendix]({{< relref "./docs/SecHarden/appendix.md" >}}) + - [Permissions on Files and Directories]({{< relref "./docs/SecHarden/permissions-on-files-and-directories.md" >}}) + - [umask Values]({{< relref "./docs/SecHarden/umask-values.md" >}}) + + + \ No newline at end of file diff --git a/content/en/docs/SecHarden/figures/en-us_image_0221925211.png b/content/en/docs/SecHarden/figures/en-us_image_0221925211.png new file mode 100644 index 0000000000000000000000000000000000000000..62ef0decdf6f1e591059904001d712a54f727e68 GIT binary patch literal 1164 zcmV;71atd|P)@f8(XH=gbj|HfzF|HK-8QW=ngB?Ug3z@Y z!8+z-lc0)p`F@!^m|FtmT9 zTbxIPJOD+IpS`%vc!@(bdS3qYTO_4KOKBc5UvIZyu^34@)?P`njY<4;W>92ieFE6k86`4Gk`odMD#45;%mdM{(X|Ffz zC;)IMbA_aocq%KFrVbOyZ+vOrvde2++vk5$4HoPCOhis=JJIR;P~R5Dn$$SA@h?2Y zAAQ#l>DvxFRgd)aqt*8z^Yx}glRTq-?0M`SWWL^tpk)YV4YpyFMX4Bfk*n@58y`+-rK*fY~xDeQxO*aCjPi@0~v}?J`@B)$(MziumXdcCX9E%gd9A ziN68R51JV?Td$fCu2w5;iGp?Fn)>n3?cr2vFZ`!n#+ygyZ%muYvP}mt^bV7gqQuj~ z!(k)QaxR!1U}2aCh?w6Ts+uU%)i66J1Vso_~z$ZdE$N*e@@xz zx;u=hia)2WXeDH;E0oNw$@4 z8K<*%*p{$NzE8VF475v0000p5@4lJ$ofr`zk>$y{1cC&-1iS>i1iVE4J9wV!W>zzJrV&-~Tz3Q*28uvg z)jp60CV*TJhNGVA`f8U2_5x3=$M`x%gD|`t8;~(QKp*f-M2eBMG_X}fCTr~519Slu z5xH;aec(`x%TK`TIyMWnd@YHH)Ez0u@l%c?DaY~atY=e>Gm~75FTg=#%#euOsbg~$_yvrM$eBp0 zK2o4gh{&MohZL+rRcGk|O18e8Z`&~-0Inz)^=e$n22M*+85jX7!2Y#JRbJ}p=>*1W ztakw$fe&@|PidN)7JP0u#(cHL-Q}k3N|56~FVJU<8T<$S=7Ewmf7`a;iAdQPa~ik> zTvJ-HL?eL3n7Z5#tk+w!St*Igu2s`vD9?JO7g%pZU(r-M8L5Xpa2D7EJpNm;t@O05 z%2D8r5^Y;90oQ@^#+U=j1GfN2fNtQah+J&J&j#z}ZAg;a0z6IM3&2e~W)ZnzjOheU z0f%)|`QQr?>2J~1jtK8t1iY5pGtYJRSx3I0BsZfq=DoISd0+?As9{rW)&6MxVp_P^lh-VGjbu(gn + + + + diff --git a/content/en/docs/SecHarden/forestalling-unauthorized-system-restart-by-holding-down-ctrl-alt-and-delete.md b/content/en/docs/SecHarden/forestalling-unauthorized-system-restart-by-holding-down-ctrl-alt-and-delete.md new file mode 100644 index 000000000..612910b32 --- /dev/null +++ b/content/en/docs/SecHarden/forestalling-unauthorized-system-restart-by-holding-down-ctrl-alt-and-delete.md @@ -0,0 +1,21 @@ +# Forestalling Unauthorized System Restart by Holding Down **Ctrl**, **Alt**, and **Delete** + +## Description + +By default, you can restart the OS by holding down **Ctrl**, **Alt**, and **Delete**. Disabling this feature can prevent data loss caused by misoperations. + +## Implementation + +Shield the **Ctrl+Alt+Del** response function of the kernel keyboard. + +``` +rm -f /etc/systemd/system/ctrl-alt-del.target +rm -f /usr/lib/systemd/system/ctrl-alt-del.target +``` + +   + +>![](public_sys-resources/icon-note.gif) **NOTE:** +>The following file is reserved because the Xen driver needs to be invoked and the system cannot respond to the **Ctrl+Alt+Del** operation. Therefore, there is no impact. +>/usr/lib/systemd/system/ctrl-alt-del.target + diff --git a/content/en/docs/SecHarden/hardening-items-taking-effect.md b/content/en/docs/SecHarden/hardening-items-taking-effect.md new file mode 100644 index 000000000..aaa641f9a --- /dev/null +++ b/content/en/docs/SecHarden/hardening-items-taking-effect.md @@ -0,0 +1,8 @@ +# Hardening Items Taking Effect + +After modifying the **usr-security.conf** file, run the following command for the new configuration items to take effect: + +``` +systemctl restart openEuler-security.service +``` + diff --git a/content/en/docs/SecHarden/hardening-the-security-of-kernel-parameters.md b/content/en/docs/SecHarden/hardening-the-security-of-kernel-parameters.md new file mode 100644 index 000000000..819192eba --- /dev/null +++ b/content/en/docs/SecHarden/hardening-the-security-of-kernel-parameters.md @@ -0,0 +1,225 @@ +# Hardening the Security of Kernel Parameters + +## Description + +Kernel parameters specify the status of network configurations and application privileges. The kernel provides system control which can be fine-tuned or configured by users. This function can improve the security of the OS by controlling configurable kernel parameters. For example, you can fine-tune or configure network options to improve system security. + +## Implementation + +1. Write the hardening items in [Table 1](#en-us_topic_0152100187_t69b5423c26644b26abe94d88d38878eb) to the **/etc/sysctl.conf** file. + + >![](public_sys-resources/icon-note.gif) **NOTE:** + >Record security hardening items as follows: + >``` + >net.ipv4.icmp_echo_ignore_broadcasts = 1 + >net.ipv4.conf.all.rp_filter = 1 + >net.ipv4.conf.default.rp_filter = 1 + >``` + + **Table 1** Policies for hardening the security of kernel parameters + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Item

+

Description

+

Suggestion

+

Configured as Suggested

+

net.ipv4.icmp_echo_ignore_broadcasts

+

Specifies whether ICMP broadcast packets are accepted. They are not accepted according to the hardening policy.

+

1

+

Yes

+

net.ipv4.conf.all.rp_filter

+

Specifies whether the actual source IP address used by a data packet is related to a routing table and whether the data packet receives responses through interfaces. The item is enabled according to the hardening policy.

+

1

+

Yes

+

net.ipv4.conf.default.rp_filter

+

1

+

Yes

+

net.ipv4.ip_forward

+

The IP forwarding function prevents unauthorized IP address packets from being transferred to a network. The item is disabled according to the hardening policy.

+

0

+

Yes

+

net.ipv4.conf.all.accept_source_route

+

accept_source_route indicates that a packet sender can specify a path for sending the packet and a path for receiving a response. The item is disabled according to the hardening policy.

+

0

+

Yes

+

net.ipv4.conf.default.accept_source_route

+

0

+

Yes

+

net.ipv4.conf.all.accept_redirects

+

Specifies whether a redirected ICMP packet is sent. The packet is not sent according to the hardening policy.

+

0

+

Yes

+

net.ipv4.conf.default.accept_redirects

+

0

+

Yes

+

net.ipv6.conf.all.accept_redirects

+

0

+

Yes

+

net.ipv6.conf.default.accept_redirects

+

0

+

Yes

+

net.ipv4.conf.all.send_redirects

+

Specifies whether a redirected ICMP packet is sent to another server. This item is enabled only when the host functions as a route. The item is disabled according to the hardening policy.

+

0

+

Yes

+

net.ipv4.conf.default.send_redirects

+

0

+

Yes

+

net.ipv4.icmp_ignore_bogus_error_responses

+

Fake ICMP packets are not recorded to logs, which saves disk space. The item is enabled according to the hardening policy.

+

1

+

Yes

+

net.ipv4.tcp_syncookies

+

SYN attack is a DoS attack that forces system restart by occupying system resources. TCP-SYN cookie protection is enabled according to the hardening policy.

+

1

+

Yes

+

kernel.dmesg_restrict

+

Hardens dmesg messages. Only the administrator is allowed to view the messages.

+

1

+

Yes

+

kernel.sched_autogroup_enabled

+

Determines whether the kernel automatically groups and schedules threads. After this item is enabled, scheduling groups compete for time slices, and threads in a scheduling group compete for the time slices allocated to the scheduling group. The item is disabled according to the hardening policy.

+

0

+

No

+

kernel.sysrq

+

Disables the magic key.

+
NOTE:

You are advised to disable the magic key so that commands cannot be directly passed to the kernel.

+
+

0

+

Yes

+

net.ipv4.conf.all.secure_redirects

+

Specifies whether redirected ICMP messages sent from any servers or from gateways listed in the default gateway list are accepted. Redirected ICMP messages are received from any servers according to the hardening policy.

+

0

+

Yes

+

net.ipv4.conf.default.secure_redirects

+

0

+

Yes

+
+ +2. Run the following command to load the kernel parameters set in the **sysctl.conf** file: + + ``` + sysctl -p /etc/sysctl.conf + ``` + + +## Other Security Suggestions + +- **net.ipv4.icmp\_echo\_ignore\_all**: ignores ICMP requests. + + For security purposes, you are advised to enable this item. The default value is **0**. Set the value to **1** to enable this item. + + After this item is enabled, all incoming ICMP Echo request packets will be ignored, which will cause failure to ping the target host. Determine whether to enable this item based on your actual networking condition. + +- **net.ipv4.conf.all.log\_martians/net.ipv4.conf.default.log\_martians**: logs spoofed, source routed, and redirect packets. + + For security purposes, you are advised to enable this item. The default value is **0**. Set the value to **1** to enable this item. + + After this item is enabled, data from forbidden IP addresses will be logged. Too many new logs will overwrite old logs because the total number of logs allowed is fixed. Determine whether to enable this item based on your actual usage scenario. + +- **net.ipv4.tcp\_timestamps**: disables tcp\_timestamps. + + For security purposes, you are advised to disable tcp\_timestamps. The default value is **1**. Set the value to **0** to disable tcp\_timestamps. + + After this item is disabled, TCP retransmission timeout will be affected. Determine whether to disable this item based on the actual usage scenario. + +- **net.ipv4.tcp\_max\_syn\_backlog**: determines the number of queues that is in SYN\_RECV state. + + This parameter determines the number of queues that is in SYN\_RECV state. When this number is exceeded, new TCP connection requests will not be accepted. This to some extent prevents system resource exhaustion. Configure this parameter based on your actual usage scenario. + + diff --git a/content/en/docs/SecHarden/hardening-the-ssh-service.md b/content/en/docs/SecHarden/hardening-the-ssh-service.md new file mode 100644 index 000000000..42bc0900f --- /dev/null +++ b/content/en/docs/SecHarden/hardening-the-ssh-service.md @@ -0,0 +1,473 @@ +# Hardening the SSH Service + +## **Description** + +The Secure Shell \(SSH\) is a reliable security protocol for remote logins and other network services. SSH prevents information disclosure during remote management. SSH encrypts transferred data to prevent domain name server \(DNS\) spoofing and IP spoofing. OpenSSH was created as an open source alternative to the proprietary SSH protocol. + +Hardening the SSH service is to modify configurations of the SSH service to set the algorithm and authentication parameters when the system uses the OpenSSH protocol, improving the system security. [Table 1](#en-us_topic_0152100390_ta2fdb8e4931b4c1a8f502b3c7d887b95) describes the hardening items, recommended hardening values, and default policies. + +## Implementation + +To harden a server, perform the following steps: + +1. Open the configuration file **/etc/ssh/sshd\_config** of the SSH service on the server, and modify or add hardening items and values in the file. +2. Save the **/etc/ssh/sshd\_config** file. +3. Run the following command to restart the SSH service: + + ``` + systemctl restart sshd + ``` + + +   + +To harden a client, perform the following steps: + +1. Open the configuration file **/etc/ssh/ssh\_config** of the SSH service on the client, and modify or add hardening items and values in the file. +2. Save the **/etc/ssh/ssh\_config** file. +3. Run the following command to restart the SSH service: + + ``` + systemctl restart sshd + ``` + + +## Hardening Items + +- Server hardening policies + + All SSH service hardening items are stored in the **/etc/ssh/sshd\_config** configuration file. For details about the server hardening items, hardening suggestions, and whether the hardening items are configured as suggested, see [Table 1](#en-us_topic_0152100390_ta2fdb8e4931b4c1a8f502b3c7d887b95). + + **Table 1** SSH hardening items on a server + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Item

+

Description

+

Suggestion

+

Configured as Suggested

+

Protocol

+

SSH protocol version.

+

2

+

Yes

+

SyslogFacility

+

Log type of the SSH service. The item is set to AUTH, indicating authentication logs.

+

AUTH

+

Yes

+

LogLevel

+

Level for recording SSHD logs.

+

VERBOSE

+

Yes

+

X11Forwarding

+

Specifies whether a GUI can be used after login using SSH.

+

no

+

Yes

+

MaxAuthTries

+

Maximum number of authentication attempts.

+

3

+

No

+

PubkeyAuthentication

+

Specifies whether public key authentication is allowed.

+

yes

+

Yes

+

RSAAuthentication

+

Specifies whether only RSA security authentication is allowed.

+

yes

+

Yes

+

IgnoreRhosts

+

Specifies whether the rhosts and shosts files are used for authentication. The rhosts and shosts files record the names of the servers that support remote access and related login names.

+

yes

+

Yes

+

RhostsRSAAuthentication

+

Specifies whether the RSA algorithm security authentication based on the rhosts file is used. The rhosts file records the names of the servers that support remote access and related login names.

+

no

+

Yes

+

HostbasedAuthentication

+

Specifies whether host-based authentication is used. Host-based authentication indicates that any user of a trusted client can use the SSH service.

+

no

+

Yes

+

PermitRootLogin

+

Specifies whether to allow user root to log in to the system using SSH.

+
NOTE:

If you want to log in to the system using SSH as user root, set the value of the PermitRootLogin field in the /etc/ssh/sshd_config file to yes.

+
+

no

+

No

+

PermitEmptyPasswords

+

Specifies whether accounts with empty passwords can log in.

+

no

+

Yes

+

PermitUserEnvironment

+

Specifies whether to resolve the environment variables set in ~/.ssh/environment and ~/.ssh/authorized_keys.

+

no

+

Yes

+

Ciphers

+

Encryption algorithm of SSH data transmission.

+

aes128-ctr,aes192-ctr,aes256-ctr,chacha20-poly1305@openssh.com,aes128-gcm@openssh.com,aes256-gcm@openssh.com

+

Yes

+

ClientAliveInterval

+

Timeout period of the system (in seconds). If no response from the client is received in the specific period, the server automatically disconnects from the client.

+

300

+

No

+

ClientAliveCountMax

+

Timeout count. After the server sends a request, if the number of times that the client does not respond reaches a specified value, the server automatically disconnects from the client.

+

0

+

No

+

Banner

+

File of the prompt information displayed before and after SSH login.

+

/etc/issue.net

+

Yes

+

MACs

+

Hash algorithm for SSH data verification.

+

hmac-sha2-512,hmac-sha2-512-etm@openssh.com,hmac-sha2-256,hmac-sha2-256-etm@openssh.com,hmac-sha1,hmac-sha1-etm@openssh.com

+

Yes

+

StrictModes

+

Specifies whether to check the permission on and ownership of the home directory and rhosts file before SSH receives login requests.

+

yes

+

Yes

+

UsePAM

+

Specifies whether to use PAM for login authentication.

+

yes

+

Yes

+

AllowTcpForwarding

+

Specifies whether to allow TCP forwarding.

+

no

+

Yes

+

Subsystem sftp /usr/libexec/openssh/sftp-server

+

SFTP log record level, which records the INFO level and authentication logs.

+

-l INFO -f AUTH

+

Yes

+

AllowAgentForwarding

+

Specifies whether to allow SSH Agent forwarding.

+

no

+

Yes

+

GatewayPorts

+

Specifies whether SSH can connect to ports on the forwarding client.

+

no

+

Yes

+

PermitTunnel

+

Specifies whether Tunnel devices are allowed.

+

no

+

Yes

+

KexAlgorithms

+

SSH key exchange algorithms.

+

curve25519-sha256,curve25519-sha256@@libssh.org,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group-exchange-sha256

+

Yes

+

LoginGraceTime

+

Time limit for users passing the authentication. 0 indicates no limit. The default value is 60 seconds.

+

60

+

No

+
+ + >![](public_sys-resources/icon-note.gif) **NOTE:** + >By default, the messages displayed before and after SSH login are saved in the **/etc/issue.net** file. The default information in the **/etc/issue.net** file is **Authorized users only.** **All activities may be monitored and reported.** + + +- Client hardening policies + + All SSH service hardening items are stored in the **/etc/ssh/ssh\_config** configuration file. For details about the client hardening items, hardening suggestions, and whether the hardening items are configured as suggested, see [Table 2](#en-us_topic_0152100390_tb289c5a6f1c7420ab4339187f9018ea4). + + **Table 2** SSH hardening items on a client + + + + + + + + + + + + + + + + + + + +

Item

+

Description

+

Suggestion

+

Configured as Suggested

+

KexAlgorithms

+

SSH key exchange algorithms.

+

ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1

+

No

+

VerifyHostKeyDNS

+

Specifies whether to verify HostKey files by using DNS or SSHFP.

+

ask

+

No

+
+ + >![](public_sys-resources/icon-note.gif) **NOTE:** + >Third-party clients and servers that use the Diffie-Hellman algorithm are required to allow at least 2048-bit connection. + + +## Other Security Suggestions + +- The SSH service only listens on specified IP addresses. + + For security purposes, you are advised to only listen on required IP addresses rather than listen on 0.0.0.0 when using the SSH service. You can specify the IP addresses that SSH needs to listen on in the ListenAddress configuration item in the **/etc/ssh/sshd\_config** file. + + 1. Open and modify the **/etc/ssh/sshd\_config** file. + + ``` + vi /etc/ssh/sshd_config + ``` + + The following information indicates that the bound listening IP address is **192.168.1.100**. You can change the listening IP address based on the site requirements. + + ``` + ... + ListenAddress 192.168.1.100 + ... + ``` + + 2. Restart the SSH service. + + ``` + systemctl restart sshd.service + ``` + + + +- SFTP users are restricted from access to upper-level directories. + + SFTP is a secure FTP designed to provide secure file transfer over SSH. Users can only use dedicated accounts to access SFTP for file upload and download, instead of SSH login. In addition, directories that can be accessed over SFTP are limited to prevent directory traversal attacks. The configuration process is as follows: + + >![](public_sys-resources/icon-note.gif) **NOTE:** + >In the following configurations, **sftpgroup** is an example user group name, and **sftpuser** is an example username. + + 1. Create an SFTP user group. + + ``` + groupadd sftpgroup + ``` + + 2. Create an SFTP root directory. + + ``` + mkdir /sftp + ``` + + 3. Modify the ownership of and permission on the SFTP root directory. + + ``` + chown root:root /sftp + chmod 755 /sftp + ``` + + 4. Create an SFTP user. + + ``` + useradd -g sftpgroup -s /sbin/nologin sftpuser + ``` + + 5. Set the password of the SFTP user. + + ``` + passwd sftpuser + ``` + + 6. Create a directory used to store files uploaded by the SFTP user. + + ``` + mkdir /sftp/sftpuser + ``` + + 7. Modify the ownership of and permission on the upload directory of the SFTP user. + + ``` + chown root:root /sftp/sftpuser + chmod 777 /sftp/sftpuser + ``` + + 8. Modify the **/etc/ssh/sshd\_config** file. + + ``` + vi /etc/ssh/sshd_config + ``` + + Modify the following information: + + ``` + #Subsystem sftp /usr/libexec/openssh/sftp-server -l INFO -f AUTH + Subsystem sftp internal-sftp -l INFO -f AUTH + ... + + Match Group sftpgroup + ChrootDirectory /sftp/%u + ForceCommand internal-sftp + ``` + + >![](public_sys-resources/icon-note.gif) **NOTE:** + >- **%u** is a wildcard character. Enter **%u** to represent the username of the current SFTP user. + >- The following content must be added to the end of the **/etc/ssh/sshd\_config** file: + > ``` + > Match Group sftpgroup + > ChrootDirectory /sftp/%u + > ForceCommand internal-sftp + > ``` + + 9. Restart the SSH service. + + ``` + systemctl restart sshd.service + ``` + + + +- Remotely execute commands using SSH. + + When a command is executed remotely through OpenSSH, TTY is disabled by default. If a password is required during command execution, the password is displayed in plain text. To ensure password input security, you are advised to add the **-t** option to the command. Example: + + ``` + ssh -t testuser@192.168.1.100 su + ``` + + >![](public_sys-resources/icon-note.gif) **NOTE:** + >**192.168.1.100** is an example IP address, and **testuser** is an example username. + + diff --git a/content/en/docs/SecHarden/hardening-the-su-command.md b/content/en/docs/SecHarden/hardening-the-su-command.md new file mode 100644 index 000000000..0613a8035 --- /dev/null +++ b/content/en/docs/SecHarden/hardening-the-su-command.md @@ -0,0 +1,14 @@ +# Hardening the **su** Command + +## Description + +To enhance system security and prevent the environment variables of the current user from being brought into other environments when you run the **su** command to switch to another user, this item has been configured by default in openEuler. The **PATH** variable is always initialized when the **su** command is used to switch users. + +## Implementation + +Modify the **/etc/login.defs** file. The configuration is as follows: + +``` +ALWAYS_SET_PATH=yes +``` + diff --git a/content/en/docs/SecHarden/kernel-parameters.md b/content/en/docs/SecHarden/kernel-parameters.md new file mode 100644 index 000000000..c64ed4ca9 --- /dev/null +++ b/content/en/docs/SecHarden/kernel-parameters.md @@ -0,0 +1,3 @@ +# Kernel Parameters + + diff --git a/content/en/docs/SecHarden/locking-an-account-after-three-login-failures.md b/content/en/docs/SecHarden/locking-an-account-after-three-login-failures.md new file mode 100644 index 000000000..9d03dcdc2 --- /dev/null +++ b/content/en/docs/SecHarden/locking-an-account-after-three-login-failures.md @@ -0,0 +1,53 @@ +# Locking an Account After Three Login Failures + +## Description + +To ensure user system security, you are advised to set the maximum number of incorrect password attempts \(three attempts are recommended\) and the automatic unlocking time \(300 seconds are recommended\) for a locked account. + +If an account is locked, any input is invalid but does not cause the locking timer to recount. Records of the user's invalid inputs are cleared once unlocked. The preceding settings protect passwords from being forcibly cracked and improve system security. + +>![](public_sys-resources/icon-note.gif) **NOTE:** +>By default, the maximum number of incorrect password attempts is 3 in openEuler. After the system is locked, the automatic unlock time is 60 seconds. + +## Implementation + +The password complexity is set by modifying the **/etc/pam.d/password-auth** and **/etc/pam.d/system-auth** files. The maximum number of incorrect password attempts is set to **3**, and the unlocking time after the system is locked is set to **300** seconds. The configuration is as follows: + +``` +auth required pam_faillock.so preauth audit deny=3 even_deny_root unlock_time=300 +auth [default=die] pam_faillock.so authfail audit deny=3 even_deny_root unlock_time=300 +auth sufficient pam_faillock.so authsucc audit deny=3 even_deny_root unlock_time=300 +``` + +**Table 1** Configuration items in pam\_faillock.so + + + + + + + + + + + + + + + + + + + +

Item

+

Description

+

authfail

+

Captures account login failure events.

+

deny=3

+

A user account will be locked after three login attempts.

+

unlock_time=300

+

A locked common user account is automatically unlocked in 300 seconds.

+

even_deny_root

+

This configuration is also effective for user root.

+
+ diff --git a/content/en/docs/SecHarden/os-hardening-overview.md b/content/en/docs/SecHarden/os-hardening-overview.md new file mode 100644 index 000000000..bdd09350e --- /dev/null +++ b/content/en/docs/SecHarden/os-hardening-overview.md @@ -0,0 +1,6 @@ +# OS Hardening Overview + +This chapter describes the purpose and solution of openEuler system hardening. + + + diff --git a/content/en/docs/SecHarden/permissions-on-files-and-directories.md b/content/en/docs/SecHarden/permissions-on-files-and-directories.md new file mode 100644 index 000000000..544c20b3b --- /dev/null +++ b/content/en/docs/SecHarden/permissions-on-files-and-directories.md @@ -0,0 +1,18 @@ +# Permissions on Files and Directories + +Permission on files and directories in Linux specifies the users who can access and perform operations on files and directories and the access and operation modes. Permissions on files and directories include read only, write only, and execute. + +The following types of users can access files and directories: + +- File creator +- Users in the same group as a file creator +- Users not in the same group as a file creator + +An example of permission on files and directories is described as follows: + +If the permission on **/usr/src** is set to **755** which is 111101101 in binary mode, permissions for each type of users are described as follows: + +- The left-most **111** indicates that the file owner can read, write, and execute the file. +- The middle **101** indicates the group users can read and execute but cannot write the file. +- The right-most **101** indicates that other users can read and execute but cannot write the file. + diff --git a/content/en/docs/SecHarden/preface.md b/content/en/docs/SecHarden/preface.md new file mode 100644 index 000000000..ef4bd2d3f --- /dev/null +++ b/content/en/docs/SecHarden/preface.md @@ -0,0 +1,36 @@ +# Preface + +## Overview + +This document describes how to perform security hardening for openEuler. + +## Intended Audience + +This document is intended for administrators who need to perform security hardening for openEuler. You must be familiar with the OS security architecture and technologies. + +## Symbol Conventions + +The symbols that may be found in this document are defined as follows. + + + + + + + + + + + + + +

Symbol

+

Description

+

+

Indicates a potentially hazardous situation which, if not avoided, could result in equipment damage, data loss, performance deterioration, or unanticipated results.

+

NOTICE is used to address practices not related to personal injury.

+

+

Supplements the important information in the main text.

+

NOTE is used to address information not related to personal injury, equipment damage, and environment deterioration.

+
+ diff --git a/content/en/docs/SecHarden/public_sys-resources/icon-caution.gif b/content/en/docs/SecHarden/public_sys-resources/icon-caution.gif new file mode 100644 index 0000000000000000000000000000000000000000..6e90d7cfc2193e39e10bb58c38d01a23f045d571 GIT binary patch literal 580 zcmV-K0=xZ3Nk%w1VIu$?0Hp~4{QBgqmQ+MG9K51r{QB&)np^||1PlfQ%(86!{`~yv zv{XhUWKt}AZaiE{EOcHp{O-j3`t;<+eEiycJT4p@77X;(jQsMfB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 literal 0 HcmV?d00001 diff --git a/content/en/docs/SecHarden/public_sys-resources/icon-danger.gif b/content/en/docs/SecHarden/public_sys-resources/icon-danger.gif new file mode 100644 index 0000000000000000000000000000000000000000..6e90d7cfc2193e39e10bb58c38d01a23f045d571 GIT binary patch literal 580 zcmV-K0=xZ3Nk%w1VIu$?0Hp~4{QBgqmQ+MG9K51r{QB&)np^||1PlfQ%(86!{`~yv zv{XhUWKt}AZaiE{EOcHp{O-j3`t;<+eEiycJT4p@77X;(jQsMfB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 literal 0 HcmV?d00001 diff --git a/content/en/docs/SecHarden/public_sys-resources/icon-note.gif b/content/en/docs/SecHarden/public_sys-resources/icon-note.gif new file mode 100644 index 0000000000000000000000000000000000000000..6314297e45c1de184204098efd4814d6dc8b1cda GIT binary patch literal 394 zcmZ?wbhEHblx7fPSjxcg=ii?@_wH=jwxy=7CMGH-B`L+l$wfv=#>UF#$gv|VY%C^b zCQFtrnKN(Bo_%|sJbO}7RAORe!otL&qo<>yq_Sq+8Xqqo5h0P3w3Lvb5E(g{p01vl zxR@)KuDH0l^z`+-dH3eaw=XqSH7aTIx{kzVBN;X&hha0dQSgWuiw0NWUvMRmkD|> literal 0 HcmV?d00001 diff --git a/content/en/docs/SecHarden/public_sys-resources/icon-notice.gif b/content/en/docs/SecHarden/public_sys-resources/icon-notice.gif new file mode 100644 index 0000000000000000000000000000000000000000..86024f61b691400bea99e5b1f506d9d9aef36e27 GIT binary patch literal 406 zcmV;H0crk6Nk%w1VIu$@0J8u9|NsB@_xJDb@8;&_*4Ea}&d#;9wWXz{jEszHYim+c zQaU<1At50E0000000000A^8Le000gEEC2ui03!e%000R7038S%NU)&51O^i-Tu6`s z0)`MFE@;3YqD6xSC^kTNu_J>91{PH8XfZ(p1pp2-SU@u3#{mEUC}_}tg3+I#{z}{Ok@D_ZUDg- zt0stin4;pC8M{WLSlRH*1pzqEw1}3oOskyNN?j;7HD{BBZ*OEcv4HK!6Bk6beR+04 z&8}k>SkTusVTDmkyOz#5fCA$JTPGJVQvr3uZ?QzzPQFvD0rGf_PdrcF`pMs}p^BcF zKtKTd`0wipR%nKN&Wj+V}pX;WC3SdJV!a_8Qi zE7z`U*|Y^H0^}fB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 literal 0 HcmV?d00001 diff --git a/content/en/docs/SecHarden/removing-a-symbolic-link-to-dev-null.md b/content/en/docs/SecHarden/removing-a-symbolic-link-to-dev-null.md new file mode 100644 index 000000000..6c703cdc0 --- /dev/null +++ b/content/en/docs/SecHarden/removing-a-symbolic-link-to-dev-null.md @@ -0,0 +1,33 @@ +# Removing a Symbolic Link to **/dev/null** + +## Description + +A symbolic link to **/dev/null** may be used by malicious users. This affects system security. You are advised to delete these symbolic links to improve system security. + +## Special Scenario + +After openEuler is installed, symbolic links to **/dev/null** may exist. These links may have corresponding functions. \(Some of them are preconfigured and may be depended by other components.\) Rectify the fault based on the site requirements. For details, see [Implementation](#en-us_topic_0152100319_s1b24647cdd834a8eaca3032611baf072). + +For example, openEuler supports UEFI and legacy BIOS installation modes. The GRUB packages supported in the two boot scenarios are installed by default. If you select the legacy BIOS installation mode, a symbolic link **/etc/grub2-efi.cfg** is generated. If you select the UEFI installation mode, a symbolic link **/etc/grub2.cfg** is generated. You need to process these symbolic links based on the site requirements. + +## Implementation + +1. Run the following command to search for symbolic links to **/dev/null**: + + ``` + find dirname -type l -follow 2>/dev/null + ``` + + >![](public_sys-resources/icon-note.gif) **NOTE:** + >_dir__name_ indicates the directory to be searched. Normally, key system directories, such as **/bin**, **/boot**, **/usr**, **/lib64**, **/lib**, and **/var**, need to be searched. + +2. If these symbolic links are useless, run the following command to delete them: + + ``` + rm -f filename + ``` + + >![](public_sys-resources/icon-note.gif) **NOTE:** + >_filename_ indicates the file name obtained in [Step 1](#en-us_topic_0152100319_l4dc74664c4fb400aaf91fb314c4f9da6). + + diff --git a/content/en/docs/SecHarden/restricting-permissions-on-the-at-command.md b/content/en/docs/SecHarden/restricting-permissions-on-the-at-command.md new file mode 100644 index 000000000..247c1dc2f --- /dev/null +++ b/content/en/docs/SecHarden/restricting-permissions-on-the-at-command.md @@ -0,0 +1,27 @@ +# Restricting Permissions on the **at** Command + +## Description + +The **at** command is used to create a scheduled task. Users who can run the **at** command must be specified to protect the system from being attacked. + +## Implementation + +1. Delete the **/etc/at.deny** file. + + ``` + rm -f /etc/at.deny + ``` + +2. Run the following command to change the ownership of file **/etc/at.allow** file to **root:root**. + + ``` + chown root:root /etc/at.allow + ``` + +3. Set that only user **root** can operate file **/etc/at.allow**. + + ``` + chmod og-rwx /etc/at.allow + ``` + + diff --git a/content/en/docs/SecHarden/restricting-permissions-on-the-cron-command.md b/content/en/docs/SecHarden/restricting-permissions-on-the-cron-command.md new file mode 100644 index 000000000..6dcd10f9a --- /dev/null +++ b/content/en/docs/SecHarden/restricting-permissions-on-the-cron-command.md @@ -0,0 +1,27 @@ +# Restricting Permissions on the **cron** Command + +## Description + +The **cron** command is used to create a routine task. Users who can run the **cron** command must be specified to protect the system from being attacked. + +## Implementation + +1. Delete the **/etc/cron.deny** file. + + ``` + rm -f /etc/at.deny + ``` + +2. Run the following command to change the ownership of the **/etc/cron.allow** file to **root:root**: + + ``` + chown root:root /etc/cron.allow + ``` + +3. Set that only user **root** can operate file **/etc/cron.allow**. + + ``` + chmod og-rwx /etc/cron.allow + ``` + + diff --git a/content/en/docs/SecHarden/restricting-permissions-on-the-su-command.md b/content/en/docs/SecHarden/restricting-permissions-on-the-su-command.md new file mode 100644 index 000000000..f9ebbf688 --- /dev/null +++ b/content/en/docs/SecHarden/restricting-permissions-on-the-su-command.md @@ -0,0 +1,33 @@ +# Restricting Permissions on the **su** Command + +## Description + +The **su** command is used to switch user accounts. To improve system security, only the user **root** and users in the wheel group can use the **su** command. + +## Implementation + +Modify the **/etc/pam.d/su** file as follows: + +``` +auth required pam_wheel.so use_uid +``` + +   + +**Table 1** Configuration item in pam\_wheel.so + + + + + + + + + + +

Item

+

Description

+

use_uid

+

UID of the current account.

+
+ diff --git a/content/en/docs/SecHarden/restricting-permissions-on-the-sudo-command.md b/content/en/docs/SecHarden/restricting-permissions-on-the-sudo-command.md new file mode 100644 index 000000000..db692261b --- /dev/null +++ b/content/en/docs/SecHarden/restricting-permissions-on-the-sudo-command.md @@ -0,0 +1,14 @@ +# Restricting Permissions on the **sudo** Command + +## Description + +A common user can use the **sudo** command to run commands as the user **root**. To harden system security, it is necessary to restrict permissions on the **sudo** command. Only user **root** can use the **sudo** command. + +## Implementation + +Modify the **/etc/sudoers** file to restrict permissions on the **sudo** command. Comment out the following configuration line: + +``` +#%wheel ALL=(ALL) ALL +``` + diff --git a/content/en/docs/SecHarden/secHarden.md b/content/en/docs/SecHarden/secHarden.md new file mode 100644 index 000000000..e45ad6526 --- /dev/null +++ b/content/en/docs/SecHarden/secHarden.md @@ -0,0 +1 @@ +This document describes how to perform security hardening for openEuler. \ No newline at end of file diff --git a/content/en/docs/SecHarden/security-hardening-guide.md b/content/en/docs/SecHarden/security-hardening-guide.md new file mode 100644 index 000000000..1edfb81a3 --- /dev/null +++ b/content/en/docs/SecHarden/security-hardening-guide.md @@ -0,0 +1,6 @@ +# Security Hardening Guide + +You can modify the hardening policy configuration file or script to harden the system. This chapter describes the hardening items, whether the items are hardened by default, and how to perform security hardening. + + + diff --git a/content/en/docs/SecHarden/security-hardening-impacts.md b/content/en/docs/SecHarden/security-hardening-impacts.md new file mode 100644 index 000000000..deca53113 --- /dev/null +++ b/content/en/docs/SecHarden/security-hardening-impacts.md @@ -0,0 +1,94 @@ +# Security Hardening Impacts + +Security hardening on file permissions and account passwords may change user habits, affecting system usability. For details about common hardening items that affect system usability, see [Table 1](#en-us_topic_0152100325_ta4a48f54ff2849ada7845e2380209917). + +**Table 1** Security hardening impacts + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Item

+

Suggestion

+

Impact

+

Configured By Default

+

Timeout setting on the text-based user interface (TUI)

+

When the TUI is idle for a long period of time, it automatically exits.

+
NOTE:

When a user logs in to the system using SSH, the timeout period is determined by the smaller value of the TMOUT field in the /etc/profile file and the ClientAliveInterval field in the /etc/ssh/sshd_config file. You are advised to set this parameter to 300 seconds.

+
+

If you do not perform any operation on the TUI for a long time, TUI automatically exits.

+

No

+

Password complexity

+

The password is a string containing at least eight characters chosen from three or four of the following types: uppercase letters, lowercase letters, digits, and special characters.

+

All passwords must comply with the complexity requirements.

+

No

+

Password retry limits

+

If a user fails to enter the correct password for three consecutive times when logging in to the OS, the user account will be locked for 60 seconds.

+

After the account is locked, the user can log in to the system only after 60 seconds.

+

Yes

+

Default umask value

+

The default umask value of all users is set to 077 so that the default permission on files created by users is 600 and the default permission on directories is 700.

+

Users must modify the permission on specified files or directories as required.

+

Yes

+

Password validity period

+

The password validity period can be modified in the /etc/login.defs file and is set to 90 days by default. It can be modified in any time. An expiration notification will be displayed seven days before a password is to expire.

+

When a user attempts to log in after the password expires, the user will be informed of the password expiry and is required to change the password. If the user does not change the password, the user cannot access the system.

+

No

+

su permission control

+

The su command is used to switch user accounts. To improve system security, only the user root and users in the wheel group can use the su command.

+

Common users can successfully run the su command only after joining in the wheel group.

+

Yes

+

Disabling user root from logging in using SSH

+

Set the value of the PermitRootLogin field in the /etc/ssh/sshd_config file to no. In this way, user root cannot directly log in to the system using SSH.

+

You need to log in to the system as a common user in SSH mode and then switch to user root.

+

No

+

Strong SSH encryption algorithm

+

The MACs and Ciphers configurations of SSH services support the CTR and SHA2 algorithms and do not support the CBC, MD5, and SHA1 algorithms.

+

Some early Xshell and PuTTY versions do not support aes128-ctr, aes192-ctr, aes256-ctr, hmac-sha2-256, and hmac-sha2-512 algorithms. Ensure that the latest PuTTY (0.63 or later) and Xshell (5.0 or later) are used.

+

Yes

+
+ diff --git a/content/en/docs/SecHarden/security-hardening-procedure.md b/content/en/docs/SecHarden/security-hardening-procedure.md new file mode 100644 index 000000000..c67b272d4 --- /dev/null +++ b/content/en/docs/SecHarden/security-hardening-procedure.md @@ -0,0 +1,119 @@ +# Security Hardening Procedure + +## Overview + +You need to modify the **usr-security.conf** file so that the security hardening tool can set hardening policies based on the **usr-security.conf** file. This section describes rules for modifying the **usr-security.conf** file. For details about the configurable security hardening items, see [Security Hardening Guide](security-hardening-guide.md). + +## Precautions + +- After modifying the items, restart the security hardening service for the modification to take effect. For details about how to restart the service, see [Hardening Items Taking Effect](hardening-items-taking-effect.md). +- When modifying security hardening items, you only need to modify the **/etc/openEuler\_security/usr-security.conf** file. You are not advised to modify the **/etc/openEuler\_security/security.conf** file. The **security.conf** file contains basic hardening items which are executed only once. +- After the security hardening service is restarted for the configuration to take effect, the previous configuration cannot be deleted by deleting the corresponding hardening items from the **usr-security.conf** file and restarting the security hardening service. +- Security hardening operations are recorded in the **/var/log/openEuler-security.log** file. + +## Configuration Format + +Each line in the **usr-security.conf** file indicates a configuration item. The configuration format varies according to the configuration content. The following describes the format of each configuration item. + +>![](public_sys-resources/icon-note.gif) **NOTE:** +>- All configuration items start with an execution ID. The execution ID is a positive integer and can be customized. +>- Contents of a configuration item are separated by an at sign \(@\). +>- If the actual configuration content contains an at sign \(@\), use two at signs \(@@\) to distinguish the content from the separator. For example, if the actual content is **xxx@yyy**, set this item to **xxx@@yyy**. Currently, an at sign \(@\) cannot be placed at the beginning or end of the configuration content. + +   + +- **d**: comment + + Format: _Execution ID_**@d@**_Object file_**@**_Match item_ + + Function: Comment out lines starting with the match item \(the line can start with a space\) in an object file by adding a number sign \(\#\) at the beginning of the line. + + Example: If the execution ID is **401**, comment out lines starting with **%wheel** in the **/etc/sudoers** file. + + ``` + 401@d@/etc/sudoers@%wheel + ``` + + +- **m**: replacement + + Format: _Execution ID_**@m@**_Object file_**@**_Match item_**@**_Target value_ + + Function: Replace lines starting with the match item \(the line can start with a space\) in an object file with _match item_ and _target value_. If the match line starts with spaces, the spaces will be deleted after the replacement. + + Example: If the execution ID is **101**, replace lines starting with **Protocol** in the **/etc/ssh/sshd\_config** file with **Protocol 2**. The spaces after **Protocol** are matched and replaced. + + ``` + 101@m@/etc/ssh/sshd_config@Protocol @2 + ``` + +- **sm**: accurate modification + + Format: _Execution ID_**@sm@**_Object file_**@**_Match item_**@**_Target value_ + + Function: Replace lines starting with the match item \(the line can start with a space\) in an object file with _match item_ and _target value_. If the match line starts with spaces, the spaces are retained after the replacement. This is the difference between **sm** and **m**. + + Example: If the execution ID is **201**, replace lines starting with **size** in the **/etc/audit/hzqtest** file with **size 2048**. + + ``` + 201@sm@/etc/audit/hzqtest@size @2048 + ``` + + +- **M**: subitem modification + + Format: _Execution ID_**@M@**_Object file_**@**_Match item_**@**_Match subitem__\[@Value of the match subitem\]_ + + Function: Match lines starting with the match item \(the line can start with a space\) in an object file and replace the content starting with the match subitem in these lines with the _match subitem_ and _value of the match subitem_. The value of the match subitem is optional. + + Example: If the execution ID is **101**, find lines starting with **key** in the file and replace the content starting with **key2** in these lines with **key2value2**. + + ``` + 101@M@file@key@key2@value2 + ``` + +- **systemctl**: service management + + Format: _Execution ID_**@systemctl@**_Object service_**@**_Operation_ + + Function: Use **systemctl** to manage object services. The value of **Operation** can be **start**, **stop**, **restart**, or **disable**. + + Example: If the execution ID is **218**, stop the **cups.service**. This provides the same function as running the **systemctl stop cups.service** command. + + ``` + 218@systemctl @cups.service@stop + ``` + +    + +- Other commands + + Format: _Execution ID_**@**_Command_**@**_Object file_ + + Function: Run the corresponding command, that is, run the command line _Command_ _Object file_. + + Example 1: If the execution ID is **402**, run the **rm -f** command to delete the **/etc/pki/ca-trust/extracted/pem/email-ca-bundle.pem** file. + + ``` + 402@rm -f @/etc/pki/ca-trust/extracted/pem/email-ca-bundle.pem + ``` + + Example 2: If the execution ID is **215**, run the **touch** command to create the **/etc/cron.allow** file. + + ``` + 215@touch @/etc/cron.allow + ``` + + Example 3: If the execution ID is **214**, run the **chown** command to change the owner of the **/etc/at.allow** file to **root:root**. + + ``` + 214@chown root:root @/etc/at.allow + ``` + + Example 4: If the execution ID is **214**, run the **chmod** command to remove the **rwx** permission of the group to which the owner of the** /etc/at.allow** file belongs and other non-owner users. + + ``` + 214@chmod og-rwx @/etc/at.allow + ``` + + diff --git a/content/en/docs/SecHarden/security-hardening-purpose.md b/content/en/docs/SecHarden/security-hardening-purpose.md new file mode 100644 index 000000000..30e6dc491 --- /dev/null +++ b/content/en/docs/SecHarden/security-hardening-purpose.md @@ -0,0 +1,6 @@ +# Security Hardening Purpose + +The OS, as the core of the information system, manages hardware and software resources and is the basis of information system security. Applications must depend on the OS to ensure the integrity, confidentiality, availability, and controllability of information. Without the OS security protection, protective methods against hackers and virus attacks at other layers cannot meet the security requirements. + +Therefore, security hardening is essential for an OS. Security hardening helps build a dynamic and complete security system, enhance product security, and improve product competitiveness. + diff --git a/content/en/docs/SecHarden/security-hardening-solution.md b/content/en/docs/SecHarden/security-hardening-solution.md new file mode 100644 index 000000000..a5a24d8ca --- /dev/null +++ b/content/en/docs/SecHarden/security-hardening-solution.md @@ -0,0 +1,20 @@ +# Security Hardening Solution + +This section describes the openEuler security hardening solution, including the hardening method and items. + +## Security Hardening Method + +You can manually modify security hardening configurations or run commands to harden the system, or use the security hardening tool to modify security hardening items in batches. The openEuler security hardening tool runs as openEuler-security.service. When the system is started for the first time, the system automatically runs the service to execute the default hardening policy, and automatically set the service not to start as the system starts. + +You can modify the **security.conf** file and use the security hardening tool to implement user-defined security hardening. + +## Security Hardening Items + +openEuler security hardening includes the following parts: + +- System services +- File permissions +- Kernel parameters +- Authentication and authorization +- Account passwords + diff --git a/content/en/docs/SecHarden/security-hardening-tools.md b/content/en/docs/SecHarden/security-hardening-tools.md new file mode 100644 index 000000000..648ee7047 --- /dev/null +++ b/content/en/docs/SecHarden/security-hardening-tools.md @@ -0,0 +1,5 @@ +# Security Hardening Tools + + + + diff --git a/content/en/docs/SecHarden/selinux-configuration.md b/content/en/docs/SecHarden/selinux-configuration.md new file mode 100644 index 000000000..1fdb9e4a4 --- /dev/null +++ b/content/en/docs/SecHarden/selinux-configuration.md @@ -0,0 +1,67 @@ +# SELinux Configuration + +## Overview + +Discretionary access control \(DAC\) determines whether a resource can be accessed based on users, groups, and other permissions. It does not allow the system administrator to create comprehensive and fine-grained security policies. SELinux \(Security-Enhanced Linux\) is a module of the Linux kernel and a security subsystem of Linux. SELinux implements mandatory access control \(MAC\). Each process and system resource has a special security label. In addition to the principles specified by the DAC, the SELinux needs to determine whether each type of process has the permission to access a type of resource. + +By default, openEuler uses SELinux to improve system security. SELinux has three modes: + +- **permissive**: The SELinux outputs alarms but does not forcibly execute the security policy. +- **enforcing**: The SELinux security policy is forcibly executed. +- **disabled**: The SELinux security policy is not loaded. + +## Configuration Description + +SELinux is enabled for openEuler by default and the default mode is enforcing. You can change the SELinux mode by changing the value of **SELINUX** in **/etc/selinux/config**. + +- To disable the SELinux policy, run the following command: + + ``` + SELINUX=disabled + ``` + +- To use the permissive policy, run the following command: + + ``` + SELINUX=permissive + ``` + + +>![](public_sys-resources/icon-note.gif) **NOTE:** +>When you switch between the disabled mode and the other mode, you need to restart the system for the switch to take effect. +>``` +># reboot +>``` + +## SELinux Commands + +- Query the SELinux mode. For example, the following shows that the SELinux mode is permissive. + + ``` + # getenforce + Permissive + ``` + +- Set the SELinux mode. **0** indicates the permissive mode, and **1** indicates the enforcing mode. For example, run the following command to set the SELinux mode to enforcing. This command cannot be used to set the disabled mode. After the system is restarted, the mode set in **/etc/selinux/config** is restored. + + ``` + # setenforce 1 + ``` + +- Query the SELinux status. **SELinux status** indicates the SELinux status. **enabled** indicates that SELinux is enabled, and **disabled** indicates that SELinux is disabled. **Current mode** indicates the current security policy of the SELinux. + + ``` + # sestatus + SELinux status: enabled + SELinuxfs mount: /sys/fs/selinux + SELinux root directory: /etc/selinux + Loaded policy name: targeted + Current mode: enforcing + Mode from config file: enforcing + Policy MLS status: enabled + Policy deny_unknown status: allowed + Memory protection checking: actual (secure) + Max kernel policy version: 31 + ``` + + diff --git a/content/en/docs/SecHarden/setting-a-warning-for-remote-network-access.md b/content/en/docs/SecHarden/setting-a-warning-for-remote-network-access.md new file mode 100644 index 000000000..2c4aa931f --- /dev/null +++ b/content/en/docs/SecHarden/setting-a-warning-for-remote-network-access.md @@ -0,0 +1,14 @@ +# Setting a Warning for Remote Network Access + +## Description + +A warning for remote network access is configured and displayed for users who attempt to remotely log in to the system. The warning indicates the penalty for authorized access and is used to threaten potential attackers. When the warning is displayed, system architecture and other system information are hidden to protect the system from being attacked. + +## Implementation + +This setting can be implemented by modifying the **/etc/issue.net** file. Replace the original content in the **/etc/issue.net** file with the following information \(which has been set by default in openEuler\): + +``` +Authorized users only. All activities may be monitored and reported. +``` + diff --git a/content/en/docs/SecHarden/setting-an-automatic-exit-interval-for-shell.md b/content/en/docs/SecHarden/setting-an-automatic-exit-interval-for-shell.md new file mode 100644 index 000000000..7469e34fd --- /dev/null +++ b/content/en/docs/SecHarden/setting-an-automatic-exit-interval-for-shell.md @@ -0,0 +1,14 @@ +# Setting an Automatic Exit Interval for Shell + +## Description + +An unattended shell is prone to listening or attacks. Therefore, a mechanism must be configured to ensure that a shell can automatically exit when it does not run for a period. + +## Implementation + +At the end of file **/etc/profile**, set the **TMOUT** field \(unit: second\) that specifies the interval for automatic exit as follows: + +``` +export TMOUT=300 +``` + diff --git a/content/en/docs/SecHarden/setting-password-complexity.md b/content/en/docs/SecHarden/setting-password-complexity.md new file mode 100644 index 000000000..fc58de374 --- /dev/null +++ b/content/en/docs/SecHarden/setting-password-complexity.md @@ -0,0 +1,119 @@ +# Setting Password Complexity + +## Description + +You can set the password complexity requirements by modifying the corresponding configuration file. You are advised to set the password complexity based on the site requirements. + +## Implementation + +The password complexity is implemented by the **pam\_pwquality.so** and **pam\_pwhistory.so** modules in the **/etc/pam.d/password-auth** and **/etc/pam.d/system-auth** files. You can modify the configuration items of the two modules to change the password complexity requirements. + +## Example + +This section provides an example for configuring password complexity. + +**Password Complexity Requirements** + +1. Contains at least eight characters. +2. Contains at least three types of the following characters: + + - At least one lowercase letter + + - At least one uppercase letter + + - At least one digit + + - At least one space or one of the following special characters: \` \~ ! @ \# $ % ^ & \* \( \) - \_ = + \\ | \[ \{ \} \] ; : ' " , < . \> / ? + +3. Cannot be the same as an account or the account in reverse order. +4. Cannot be the last five passwords used. + +**Implementation** + +Add the following content to the **/etc/pam.d/password-auth** and **/etc/pam.d/system-auth** files: + +``` +password requisite pam_pwquality.so minlen=8 minclass=3 enforce_for_root try_first_pass local_users_only retry=3 dcredit=0 ucredit=0 lcredit=0 ocredit=0 +password required pam_pwhistory.so use_authtok remember=5 enforce_for_root +``` + +   + +**Configuration Item Description** + +For details about the configuration items of **pam\_pwquality.so** and **pam\_pwhistory.so**, see [Table 1](#table201221044172117) and [Table 2](#table1212544452120), respectively. + +**Table 1** Configuration items in pam\_pwquality.so + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Item

+

Description

+

minlen=8

+

A password must contain at least eight characters.

+

minclass=3

+

A password must contain at least three of the following types: uppercase letters, lowercase letters, digits, and special characters.

+

ucredit=0

+

A password contains any number of uppercase letters.

+

lcredit=0

+

A password contains any number of lowercase letters.

+

dcredit=0

+

A password contains any number of digits.

+

ocredit=0

+

A password contains any number of special characters.

+

retry=3

+

Each time a maximum of three password changes is allowed.

+

enforce_for_root

+

This configuration is also effective for user root.

+
+ +**Table 2** Configuration items in pam\_pwhistory.so + + + + + + + + + + + + + +

Item

+

Description

+

remember=5

+

A password must be different from the last five passwords used.

+

enforce_for_root

+

This configuration is also effective for user root.

+
+ diff --git a/content/en/docs/SecHarden/setting-password-encryption-algorithms.md b/content/en/docs/SecHarden/setting-password-encryption-algorithms.md new file mode 100644 index 000000000..fa4f038f1 --- /dev/null +++ b/content/en/docs/SecHarden/setting-password-encryption-algorithms.md @@ -0,0 +1,33 @@ +# Setting Password Encryption Algorithms + +## Description + +For system security, passwords cannot be stored in plaintext in the system and must be encrypted. The passwords that do not need to be restored must be encrypted using irreversible algorithms. Set the password encryption algorithm to SHA-512. This item has been set by default in openEuler. The preceding settings can effectively prevent password disclosure and ensure password security. + +## Implementation + +To set the password encryption algorithm, add the following configuration to the **/etc/pam.d/password-auth** and **/etc/pam.d/system-auth** files: + +``` +password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok +``` + +   + +**Table 1** Configuration items in pam\_unix.so + + + + + + + + + + +

Item

+

Description

+

sha512

+

The SHA-512 algorithm is used for password encryption.

+
+ diff --git a/content/en/docs/SecHarden/setting-the-default-umask-value-for-users-to-0077.md b/content/en/docs/SecHarden/setting-the-default-umask-value-for-users-to-0077.md new file mode 100644 index 000000000..3acb544ca --- /dev/null +++ b/content/en/docs/SecHarden/setting-the-default-umask-value-for-users-to-0077.md @@ -0,0 +1,30 @@ +# Setting the Default **umask** Value for Users to **0077** + +## Description + +The **umask** value is used to set default permission on files and directories. A smaller **umask** value indicates that group users or other users have incorrect permission, which brings system security risks. Therefore, the default **umask** value must be set to **0077** for all users, that is, the default permission on user directories is **700** and the permission on user files is **600**. The **umask** value indicates the complement of a permission. For details about how to convert the **umask** value to a permission, see [umask Values](umask-values.md). + +>![](public_sys-resources/icon-note.gif) **NOTE:** +>By default, the **umask** value of the openEuler user is set to **0077**. + +## Implementation + +1. Add **umask 0077** to the **/etc/bashrc** file and all files in the **/etc/profile.d/** directory. + + ``` + echo "umask 0077" >> $FILE + ``` + + >![](public_sys-resources/icon-note.gif) **NOTE:** + >_$FILE_ indicates the file name, for example, echo "umask 0077" \>\> /etc/bashrc. + +2. Set the ownership and group of the **/etc/bashrc** file and all files in the **/etc/profile.d/** directory to **root**. + + ``` + chown root.root $FILE + ``` + + >![](public_sys-resources/icon-note.gif) **NOTE:** + >_$FILE_ indicates the file name, for example, **chown root.root /etc/bashrc**. + + diff --git a/content/en/docs/SecHarden/setting-the-grub2-encryption-password.md b/content/en/docs/SecHarden/setting-the-grub2-encryption-password.md new file mode 100644 index 000000000..f278e8ad5 --- /dev/null +++ b/content/en/docs/SecHarden/setting-the-grub2-encryption-password.md @@ -0,0 +1,42 @@ +# Setting the GRUB2 Encryption Password + +## Description + +GRand Unified Bootloader \(GRUB\) is an operating system boot manager used to boot different systems \(such as Windows and Linux\). GRUB2 is an upgraded version of GRUB. + +When starting the system, you can modify the startup parameters of the system on the GRUB2 screen. To ensure that the system startup parameters are not modified randomly, you need to encrypt the GRUB2 screen. The startup parameters can be modified only when the correct GRUB2 password is entered. + +>![](public_sys-resources/icon-note.gif) **NOTE:** +>The default password of GRUB2 is **openEuler\#12**. You are advised to change the default password upon the first login and periodically update the password. If the password is leaked, startup item configurations may be modified, causing the system startup failure. + +## Implementation + +1. Run the **grub2-mkpasswd-pbkdf2** command to generate an encrypted password. + + >![](public_sys-resources/icon-note.gif) **NOTE:** + >SHA-512 is used as the GRUB2 encryption algorithm. + + ``` + # grub2-mkpasswd-pbkdf2 + Enter password: + Reenter password: + PBKDF2 hash of your password is + grub.pbkdf2.sha512.10000.5A45748D892672FDA02DD3B6F7AE390AC6E6D532A600D4AC477D25C7D087644697D8A0894DFED9D86DC2A27F4E01D925C46417A225FC099C12DBD3D7D49A7425.2BD2F5BF4907DCC389CC5D165DB85CC3E2C94C8F9A30B01DACAA9CD552B731BA1DD3B7CC2C765704D55B8CD962D2AEF19A753CBE9B8464E2B1EB39A3BB4EAB08 + ``` + + >![](public_sys-resources/icon-note.gif) **NOTE:** + >Enter the same password in the **Enter password** and **Reenter password** lines. + >After **openEuler\#12** is encrypted by **grub2-mkpasswd-pbkdf2**, the output is **grub.pbkdf2.sha512.10000.5A45748D892672FDA02DD3B6F7AE390AC6E6D532A600D4AC477D25C7D087644697D8A0894DFED9D86DC2A27F4E01D925C46417A225FC099C12DBD3D7D49A7425.2BD2F5BF4907DCC389CC5D165DB85CC3E2C94C8F9A30B01DACAA9CD552B731BA1DD3B7CC2C765704D55B8CD962D2AEF19A753CBE9B8464E2B1EB39A3BB4EAB08**. The ciphertext is different each time. + +2. Open **/boot/efi/EFI/openEuler/grub.cfg** in a vi editor. Append the following fields to the beginning of **/boot/efi/EFI/openEuler/grub.cfg**. + + ``` + set superusers="root" + password_pbkdf2 root grub.pbkdf2.sha512.10000.5A45748D892672FDA02DD3B6F7AE390AC6E6D532A600D4AC477D25C7D087644697D8A0894DFED9D86DC2A27F4E01D925C46417A225FC099C12DBD3D7D49A7425.2BD2F5BF4907DCC389CC5D165DB85CC3E2C94C8F9A30B01DACAA9CD552B731BA1DD3B7CC2C765704D55B8CD962D2AEF19A753CBE9B8464E2B1EB39A3BB4EAB08 + ``` + + >![](public_sys-resources/icon-note.gif) **NOTE:** + >- The **superusers** field is used to set the account name of the super GRUB2 administrator. + >- The first parameter following the **password\_pbkdf2** field is the GRUB2 account name, and the second parameter is the encrypted password of the account. + + diff --git a/content/en/docs/SecHarden/setting-the-password-validity-period.md b/content/en/docs/SecHarden/setting-the-password-validity-period.md new file mode 100644 index 000000000..f4031b4b8 --- /dev/null +++ b/content/en/docs/SecHarden/setting-the-password-validity-period.md @@ -0,0 +1,56 @@ +# Setting the Password Validity Period + +## Description + +To ensure system security, you are advised to set the password validity period and notify users to change passwords before the passwords expire. + +## Implementation + +The password validity period is set by modifying the **/etc/login.defs** file. [Table 1](#en-us_topic_0152100281_t77b5d0753721450c81911c18b74e82eb) describes the hardening items. All hardening items in the table are in the **/etc/login.defs** file. You can directly modify the items in the configuration file. + +**Table 1** Configuration items in login.defs + + + + + + + + + + + + + + + + + + + + + + + + +

Item

+

Description

+

Suggestion

+

Configured as Suggested

+

PASS_MAX_DAYS

+

Maximum validity period of a password.

+

90

+

No

+

PASS_MIN_DAYS

+

Minimum interval between password changes.

+

0

+

No

+

PASS_WARN_AGE

+

Number of days before the password expires.

+

7

+

No

+
+ +>![](public_sys-resources/icon-note.gif) **NOTE:** +>The **login.defs** file is used to set restrictions on user accounts, such as setting the maximum password validity period and maximum length. The configuration in this file is invalid for the user **root**. If the **/etc/shadow** file contains the same items, the **/etc/shadow** configuration takes precedence over the **/etc/login.defs** configuration. When a user attempts to log in after the password expires, the user will be informed of the password expiry and is required to change the password. If the user does not change the password, the user cannot access the system. + diff --git a/content/en/docs/SecHarden/setting-the-permissions-on-and-ownership-of-files.md b/content/en/docs/SecHarden/setting-the-permissions-on-and-ownership-of-files.md new file mode 100644 index 000000000..fdfde606b --- /dev/null +++ b/content/en/docs/SecHarden/setting-the-permissions-on-and-ownership-of-files.md @@ -0,0 +1,25 @@ +# Setting the Permissions on and Ownership of Files + +## Description + +In Linux, all objects are processed as files. Even a directory will be processed as a large file containing many files. Therefore, the most important thing in Linux is the security of files and directories. Their security is ensured by permissions and owners. + +By default, the permissions and ownership of common directories, executable files, and configuration files in the system are set in openEuler. + +## Implementation + +The following uses the **/bin** directory as an example to describe how to change the permission and ownership of a file: + +- Modify the file permission. For example, set the permission on the **/bin** directory to **755**. + + ``` + chmod 755 /bin + ``` + +- Change the ownership of the file. For example, set the ownership and group of the **/bin** directory to **root:root**. + + ``` + chown root:root /bin + ``` + + diff --git a/content/en/docs/SecHarden/setting-the-secure-single-user-mode.md b/content/en/docs/SecHarden/setting-the-secure-single-user-mode.md new file mode 100644 index 000000000..3ae3d96dd --- /dev/null +++ b/content/en/docs/SecHarden/setting-the-secure-single-user-mode.md @@ -0,0 +1,10 @@ +# Setting the Secure Single-user Mode + +## Description + +When you log in to the system as user **root** in single-user mode, if the **root** password is not set, high security risks exist. + +## Implementation + +This setting can be implemented by modifying the **/etc/sysconfig/init** file. Set **SINGLE** to **SINGLE=/sbin/sulogin**. + diff --git a/content/en/docs/SecHarden/setting-the-umask-value-for-a-daemon.md b/content/en/docs/SecHarden/setting-the-umask-value-for-a-daemon.md new file mode 100644 index 000000000..e050d11c6 --- /dev/null +++ b/content/en/docs/SecHarden/setting-the-umask-value-for-a-daemon.md @@ -0,0 +1,13 @@ +# Setting the **umask** Value for a Daemon + +## Description + +The **umask** value is used to set default permission on files and directories. If the **umask** value is not specified, the file has the globally writable permission. This brings risks. A daemon provides a service for the system to receive user requests or network customer requests. To improve the security of files and directories created by the daemon, you are advised to set **umask** to **0027**. The **umask** value indicates the complement of a permission. For details about how to convert the **umask** value to a permission, see [umask Values](umask-values.md). + +>![](public_sys-resources/icon-note.gif) **NOTE:** +>By default, the **umask** value of the daemon is set to **0027** in openEuler. + +## Implementation + +In configuration file **/etc/sysconfig/init**, add **umask 0027** as a new row. + diff --git a/content/en/docs/SecHarden/shielding-system-accounts.md b/content/en/docs/SecHarden/shielding-system-accounts.md new file mode 100644 index 000000000..fa3e240c1 --- /dev/null +++ b/content/en/docs/SecHarden/shielding-system-accounts.md @@ -0,0 +1,17 @@ +# Shielding System Accounts + +## Description + +Accounts excluding user accounts are system accounts. System accounts cannot be used for logins or performing other operations. Therefore, system accounts must be shielded. + +## Implementation + +Modify the shell of a system account to **/sbin/nologin**. + +``` +usermod -L -s /sbin/nologin $systemaccount +``` + +>![](public_sys-resources/icon-note.gif) **NOTE:** +>_$systemaccount_ indicates the system account. + diff --git a/content/en/docs/SecHarden/system-services.md b/content/en/docs/SecHarden/system-services.md new file mode 100644 index 000000000..1eb1df712 --- /dev/null +++ b/content/en/docs/SecHarden/system-services.md @@ -0,0 +1,5 @@ +# System Services + + + + diff --git a/content/en/docs/SecHarden/terms-of-use.md b/content/en/docs/SecHarden/terms-of-use.md new file mode 100644 index 000000000..6a3c60404 --- /dev/null +++ b/content/en/docs/SecHarden/terms-of-use.md @@ -0,0 +1,18 @@ +# Terms of Use + +**Copyright © Huawei Technologies Co., Ltd. 2020. All rights reserved.** + +Your replication, use, modification, and distribution of this document are governed by the Creative Commons License Attribution-ShareAlike 4.0 International Public License \(CC BY-SA 4.0\). You can visit [https://creativecommons.org/licenses/by-sa/4.0/](https://creativecommons.org/licenses/by-sa/4.0/) to view a human-readable summary of \(and not a substitute for\) CC BY-SA 4.0. For the complete CC BY-SA 4.0, visit [https://creativecommons.org/licenses/by-sa/4.0/legalcode](https://creativecommons.org/licenses/by-sa/4.0/legalcode). + +   + +**Trademarks and Permissions** + +openEuler is a trademark or registered trademark of Huawei Technologies Co., Ltd. All other trademarks and registered trademarks mentioned in this document are the property of their respective holders. + +   + +**Disclaimer** + +This document is used only as a guide. Unless otherwise specified by applicable laws or agreed by both parties in written form, all statements, information, and recommendations in this document are provided "AS IS" without warranties, guarantees or representations of any kind, including but not limited to non-infringement, timeliness, and specific purposes. + diff --git a/content/en/docs/SecHarden/umask-values.md b/content/en/docs/SecHarden/umask-values.md new file mode 100644 index 000000000..1632ead46 --- /dev/null +++ b/content/en/docs/SecHarden/umask-values.md @@ -0,0 +1,6 @@ +# **umask** Values + +When a user creates a file or directory, the file or directory has a default permission. The default permission is specified by the **umask** value. + +The **umask** value is the complement of the permission value. The actual permission value is obtained by subtracting the **umask** value from the default maximum permission value. The default maximum permission of a file is readable and writable. The default maximum permission of a directory is readable, writable, and executable. The default permission of a file is 666 minus the **umask** value. The default permission of a directory is 777 minus the **umask** value. + diff --git a/content/en/menu/index.md b/content/en/menu/index.md index ebf2a10a0..eb2c7f5ca 100644 --- a/content/en/menu/index.md +++ b/content/en/menu/index.md @@ -57,3 +57,427 @@ headless: true - [How Do I Manually Enable the kdump Service?]({{< relref "/docs/Installation/how-do-i-manually-enable-the-kdump-service.md" >}}) +- [Security Hardening Guide]({{< relref "./docs/SecHarden/secHarden.md" >}}) + - [Terms of Use]({{< relref "./docs/SecHarden/terms-of-use.md" >}}) + - [Preface]({{< relref "./docs/SecHarden/preface.md" >}}) + - [OS Hardening Overview]({{< relref "./docs/SecHarden/os-hardening-overview.md" >}}) + - [Security Hardening Purpose]({{< relref "./docs/SecHarden/security-hardening-purpose.md" >}}) + - [Security Hardening Solution]({{< relref "./docs/SecHarden/security-hardening-solution.md" >}}) + - [Security Hardening Impacts]({{< relref "./docs/SecHarden/security-hardening-impacts.md" >}}) + + - [Security Hardening Guide]({{< relref "./docs/SecHarden/security-hardening-guide.md" >}}) + - [System Services]({{< relref "./docs/SecHarden/system-services.md" >}}) + - [Hardening the SSH Service]({{< relref "./docs/SecHarden/hardening-the-ssh-service.md" >}}) + + - [File Permissions]({{< relref "./docs/SecHarden/file-permissions.md" >}}) + - [Setting the Permissions on and Ownership of Files]({{< relref "./docs/SecHarden/setting-the-permissions-on-and-ownership-of-files.md" >}}) + - [Deleting Unowned Files]({{< relref "./docs/SecHarden/deleting-unowned-files.md" >}}) + - [Removing a Symbolic Link to /dev/null]({{< relref "./docs/SecHarden/removing-a-symbolic-link-to-dev-null.md" >}}) + - [Setting the umask Value for a Daemon]({{< relref "./docs/SecHarden/setting-the-umask-value-for-a-daemon.md" >}}) + - [Adding a Sticky Bit Attribute to Globally Writable Directories]({{< relref "./docs/SecHarden/adding-a-sticky-bit-attribute-to-globally-writable-directories.md" >}}) + - [Disabling the Globally Writable Permission on Unauthorized Files]({{< relref "./docs/SecHarden/disabling-the-globally-writable-permission-on-unauthorized-files.md" >}}) + - [Restricting Permissions on the at Command]({{< relref "./docs/SecHarden/restricting-permissions-on-the-at-command.md" >}}) + - [Restricting Permissions on the cron Command]({{< relref "./docs/SecHarden/restricting-permissions-on-the-cron-command.md" >}}) + - [Restricting Permissions on the sudo Command]({{< relref "./docs/SecHarden/restricting-permissions-on-the-sudo-command.md" >}}) + + - [Kernel Parameters]({{< relref "./docs/SecHarden/kernel-parameters.md" >}}) + - [Hardening the Security of Kernel Parameters]({{< relref "./docs/SecHarden/hardening-the-security-of-kernel-parameters.md" >}}) + + - [Authentication and Authorization]({{< relref "./docs/SecHarden/authentication-and-authorization.md" >}}) + - [Setting a Warning for Remote Network Access]({{< relref "./docs/SecHarden/setting-a-warning-for-remote-network-access.md" >}}) + - [Forestalling Unauthorized System Restart by Holding Down Ctrl, Alt, and Delete]({{< relref "./docs/SecHarden/forestalling-unauthorized-system-restart-by-holding-down-ctrl-alt-and-delete.md" >}}) + - [Setting an Automatic Exit Interval for Shell]({{< relref "./docs/SecHarden/setting-an-automatic-exit-interval-for-shell.md" >}}) + - [Setting the Default umask Value for Users to 0077]({{< relref "./docs/SecHarden/setting-the-default-umask-value-for-users-to-0077.md" >}}) + - [Setting the GRUB2 Encryption Password]({{< relref "./docs/SecHarden/setting-the-grub2-encryption-password.md" >}}) + - [Setting the Secure Single-user Mode]({{< relref "./docs/SecHarden/setting-the-secure-single-user-mode.md" >}}) + - [Disabling Interactive Startup]({{< relref "./docs/SecHarden/disabling-interactive-startup.md" >}}) + + - [Account Passwords]({{< relref "./docs/SecHarden/account-passwords.md" >}}) + - [Shielding System Accounts]({{< relref "./docs/SecHarden/shielding-system-accounts.md" >}}) + - [Restricting Permissions on the su Command]({{< relref "./docs/SecHarden/restricting-permissions-on-the-su-command.md" >}}) + - [Setting Password Complexity]({{< relref "./docs/SecHarden/setting-password-complexity.md" >}}) + - [Setting the Password Validity Period]({{< relref "./docs/SecHarden/setting-the-password-validity-period.md" >}}) + - [Setting Password Encryption Algorithms]({{< relref "./docs/SecHarden/setting-password-encryption-algorithms.md" >}}) + - [Locking an Account After Three Login Failures]({{< relref "./docs/SecHarden/locking-an-account-after-three-login-failures.md" >}}) + - [Hardening the su Command]({{< relref "./docs/SecHarden/hardening-the-su-command.md" >}}) + + + - [Security Hardening Tools]({{< relref "./docs/SecHarden/security-hardening-tools.md" >}}) + - [Security Hardening Procedure]({{< relref "./docs/SecHarden/security-hardening-procedure.md" >}}) + - [Hardening Items Taking Effect]({{< relref "./docs/SecHarden/hardening-items-taking-effect.md" >}}) + + - [SELinux Configuration]({{< relref "./docs/SecHarden/selinux-configuration.md" >}}) + - [Appendix]({{< relref "./docs/SecHarden/appendix.md" >}}) + - [Permissions on Files and Directories]({{< relref "./docs/SecHarden/permissions-on-files-and-directories.md" >}}) + - [umask Values]({{< relref "./docs/SecHarden/umask-values.md" >}}) + + +- [Container User Guide]({{< relref "./docs/Container/container.md" >}}) + - [Terms of Use]({{< relref "./docs/Container/terms-of-use.md" >}}) + - [About This Document ]({{< relref "./docs/Container/about-this-document.md" >}}) + - [iSulad Container Engine]({{< relref "./docs/Container/isulad-container-engine.md" >}}) + - [Overview]({{< relref "./docs/Container/overview.md" >}}) + - [Installation and Deployment]({{< relref "./docs/Container/installation-and-deployment.md" >}}) + - [Installation Methods]({{< relref "./docs/Container/installation-methods.md" >}}) + - [Upgrade Methods]({{< relref "./docs/Container/upgrade-methods.md" >}}) + - [Deployment Configuration]({{< relref "./docs/Container/deployment-configuration.md" >}}) + - [Deployment Mode]({{< relref "./docs/Container/deployment-mode.md" >}}) + - [Storage Description]({{< relref "./docs/Container/storage-description.md" >}}) + - [Constraints]({{< relref "./docs/Container/constraints.md" >}}) + - [Daemon Multi-Port Binding]({{< relref "./docs/Container/daemon-multi-port-binding.md" >}}) + - [Configuring TLS Authentication and Enabling Remote Access]({{< relref "./docs/Container/configuring-tls-authentication-and-enabling-remote-access.md" >}}) + - [devicemapper Storage Driver Configuration]({{< relref "./docs/Container/devicemapper-storage-driver-configuration.md" >}}) + + - [Uninstallation]({{< relref "./docs/Container/uninstallation.md" >}}) + + - [Application Scenarios]({{< relref "./docs/Container/application-scenarios.md" >}}) + - [Container Management]({{< relref "./docs/Container/container-management.md" >}}) + - [Creating a Container]({{< relref "./docs/Container/creating-a-container.md" >}}) + - [Starting a Container]({{< relref "./docs/Container/starting-a-container.md" >}}) + - [Running a Container]({{< relref "./docs/Container/running-a-container.md" >}}) + - [Stopping a Container]({{< relref "./docs/Container/stopping-a-container.md" >}}) + - [Forcibly Stopping a Container]({{< relref "./docs/Container/forcibly-stopping-a-container.md" >}}) + - [Removing a Container]({{< relref "./docs/Container/removing-a-container.md" >}}) + - [Attaching to a Container]({{< relref "./docs/Container/attaching-to-a-container.md" >}}) + - [Renaming a Container]({{< relref "./docs/Container/renaming-a-container.md" >}}) + - [Executing a Command in a Running Container]({{< relref "./docs/Container/executing-a-command-in-a-running-container.md" >}}) + - [Querying Information About a Single Container]({{< relref "./docs/Container/querying-information-about-a-single-container.md" >}}) + - [Querying Information About All Containers]({{< relref "./docs/Container/querying-information-about-all-containers.md" >}}) + - [Restarting a Container]({{< relref "./docs/Container/restarting-a-container.md" >}}) + - [Waiting for a Container to Exit]({{< relref "./docs/Container/waiting-for-a-container-to-exit.md" >}}) + - [Viewing Process Information in a Container]({{< relref "./docs/Container/viewing-process-information-in-a-container.md" >}}) + - [Displaying Resource Usage Statistics of a Container]({{< relref "./docs/Container/displaying-resource-usage-statistics-of-a-container.md" >}}) + - [Obtaining Container Logs]({{< relref "./docs/Container/obtaining-container-logs.md" >}}) + - [Copying Data Between a Container and a Host]({{< relref "./docs/Container/copying-data-between-a-container-and-a-host.md" >}}) + - [Pausing a Container]({{< relref "./docs/Container/pausing-a-container.md" >}}) + - [Resuming a Container]({{< relref "./docs/Container/resuming-a-container.md" >}}) + - [Obtaining Event Messages from the Server in Real Time]({{< relref "./docs/Container/obtaining-event-messages-from-the-server-in-real-time.md" >}}) + + - [Interconnection with the CNI Network]({{< relref "./docs/Container/interconnection-with-the-cni-network.md" >}}) + - [Overview]({{< relref "./docs/Container/overview-0.md" >}}) + - [Common CNIs]({{< relref "./docs/Container/common-cnis.md" >}}) + - [CNI Network Configuration Description]({{< relref "./docs/Container/cni-network-configuration-description.md" >}}) + - [Adding a Pod to the CNI Network List]({{< relref "./docs/Container/adding-a-pod-to-the-cni-network-list.md" >}}) + - [Removing a Pod from the CNI Network List]({{< relref "./docs/Container/removing-a-pod-from-the-cni-network-list.md" >}}) + + - [Usage Restrictions]({{< relref "./docs/Container/usage-restrictions.md" >}}) + + - [Container Resource Management]({{< relref "./docs/Container/container-resource-management.md" >}}) + - [Sharing Resources]({{< relref "./docs/Container/sharing-resources.md" >}}) + - [Restricting CPU Resources of a Running Container]({{< relref "./docs/Container/restricting-cpu-resources-of-a-running-container.md" >}}) + - [Restricting the Memory Usage of a Running Container]({{< relref "./docs/Container/restricting-the-memory-usage-of-a-running-container.md" >}}) + - [Restricting I/O Resources of a Running Container]({{< relref "./docs/Container/restricting-i-o-resources-of-a-running-container.md" >}}) + - [Restricting the Rootfs Storage Space of a Container]({{< relref "./docs/Container/restricting-the-rootfs-storage-space-of-a-container.md" >}}) + - [Restricting the Number of File Handles in a Container]({{< relref "./docs/Container/restricting-the-number-of-file-handles-in-a-container.md" >}}) + - [Restricting the Number of Processes or Threads that Can Be Created in a Container]({{< relref "./docs/Container/restricting-the-number-of-processes-or-threads-that-can-be-created-in-a-container.md" >}}) + - [Configuring the ulimit Value in a Container]({{< relref "./docs/Container/configuring-the-ulimit-value-in-a-container.md" >}}) + + - [Privileged Container]({{< relref "./docs/Container/privileged-container.md" >}}) + - [Scenarios]({{< relref "./docs/Container/scenarios.md" >}}) + - [Usage Restrictions]({{< relref "./docs/Container/usage-restrictions-1.md" >}}) + - [Usage Guide]({{< relref "./docs/Container/usage-guide.md" >}}) + + - [CRI]({{< relref "./docs/Container/cri.md" >}}) + - [Description]({{< relref "./docs/Container/description.md" >}}) + - [APIs]({{< relref "./docs/Container/apis.md" >}}) + - [Runtime Service]({{< relref "./docs/Container/runtime-service.md" >}}) + - [RunPodSandbox]({{< relref "./docs/Container/runpodsandbox.md" >}}) + - [StopPodSandbox]({{< relref "./docs/Container/stoppodsandbox.md" >}}) + - [RemovePodSandbox]({{< relref "./docs/Container/removepodsandbox.md" >}}) + - [PodSandboxStatus]({{< relref "./docs/Container/podsandboxstatus.md" >}}) + - [ListPodSandbox]({{< relref "./docs/Container/listpodsandbox.md" >}}) + - [CreateContainer]({{< relref "./docs/Container/createcontainer.md" >}}) + - [StartContainer]({{< relref "./docs/Container/startcontainer.md" >}}) + - [StopContainer]({{< relref "./docs/Container/stopcontainer.md" >}}) + - [RemoveContainer]({{< relref "./docs/Container/removecontainer.md" >}}) + - [ListContainers]({{< relref "./docs/Container/listcontainers.md" >}}) + - [ContainerStatus]({{< relref "./docs/Container/containerstatus.md" >}}) + - [UpdateContainerResources]({{< relref "./docs/Container/updatecontainerresources.md" >}}) + - [ExecSync]({{< relref "./docs/Container/execsync.md" >}}) + - [Exec]({{< relref "./docs/Container/exec.md" >}}) + - [Attach]({{< relref "./docs/Container/attach.md" >}}) + - [ContainerStats]({{< relref "./docs/Container/containerstats.md" >}}) + - [ListContainerStats]({{< relref "./docs/Container/listcontainerstats.md" >}}) + - [UpdateRuntimeConfig]({{< relref "./docs/Container/updateruntimeconfig.md" >}}) + - [Status]({{< relref "./docs/Container/status.md" >}}) + + - [Image Service]({{< relref "./docs/Container/image-service.md" >}}) + - [ListImages]({{< relref "./docs/Container/listimages.md" >}}) + - [ImageStatus]({{< relref "./docs/Container/imagestatus.md" >}}) + - [PullImage]({{< relref "./docs/Container/pullimage.md" >}}) + - [RemoveImage]({{< relref "./docs/Container/removeimage.md" >}}) + - [ImageFsInfo]({{< relref "./docs/Container/imagefsinfo.md" >}}) + + + - [Constraints]({{< relref "./docs/Container/constraints-2.md" >}}) + + - [Image Management]({{< relref "./docs/Container/image-management.md" >}}) + - [Docker Image Management]({{< relref "./docs/Container/docker-image-management.md" >}}) + - [Logging In to a Registry]({{< relref "./docs/Container/logging-in-to-a-registry.md" >}}) + - [Logging Out of a Registry]({{< relref "./docs/Container/logging-out-of-a-registry.md" >}}) + - [Pulling Images from a Registry]({{< relref "./docs/Container/pulling-images-from-a-registry.md" >}}) + - [Deleting Images]({{< relref "./docs/Container/deleting-images.md" >}}) + - [Loading Images]({{< relref "./docs/Container/loading-images.md" >}}) + - [Listing Images]({{< relref "./docs/Container/listing-images.md" >}}) + - [Inspecting Images]({{< relref "./docs/Container/inspecting-images.md" >}}) + - [Two-Way Authentication]({{< relref "./docs/Container/two-way-authentication.md" >}}) + + - [Embedded Image Management]({{< relref "./docs/Container/embedded-image-management.md" >}}) + - [Loading Images]({{< relref "./docs/Container/loading-images-3.md" >}}) + - [Listing Images]({{< relref "./docs/Container/listing-images-4.md" >}}) + - [Inspecting Images]({{< relref "./docs/Container/inspecting-images-5.md" >}}) + - [Deleting Images]({{< relref "./docs/Container/deleting-images-6.md" >}}) + + + - [Checking the Container Health Status]({{< relref "./docs/Container/checking-the-container-health-status.md" >}}) + - [Scenarios]({{< relref "./docs/Container/scenarios-7.md" >}}) + - [Configuration Methods]({{< relref "./docs/Container/configuration-methods.md" >}}) + - [Check Rules]({{< relref "./docs/Container/check-rules.md" >}}) + - [Usage Restrictions]({{< relref "./docs/Container/usage-restrictions-8.md" >}}) + + - [Querying Information]({{< relref "./docs/Container/querying-information.md" >}}) + - [Querying the Service Version]({{< relref "./docs/Container/querying-the-service-version.md" >}}) + - [Querying System-level Information]({{< relref "./docs/Container/querying-system-level-information.md" >}}) + + - [Security Features]({{< relref "./docs/Container/security-features.md" >}}) + - [Seccomp Security Configuration]({{< relref "./docs/Container/seccomp-security-configuration.md" >}}) + - [Scenarios]({{< relref "./docs/Container/scenarios-9.md" >}}) + - [Usage Restrictions]({{< relref "./docs/Container/usage-restrictions-10.md" >}}) + - [Usage Guide]({{< relref "./docs/Container/usage-guide-11.md" >}}) + + - [capabilities Security Configuration]({{< relref "./docs/Container/capabilities-security-configuration.md" >}}) + - [Scenarios]({{< relref "./docs/Container/scenarios-12.md" >}}) + - [Usage Restrictions]({{< relref "./docs/Container/usage-restrictions-13.md" >}}) + - [Usage Guide]({{< relref "./docs/Container/usage-guide-14.md" >}}) + + - [SELinux Security Configuration]({{< relref "./docs/Container/selinux-security-configuration.md" >}}) + - [Scenarios]({{< relref "./docs/Container/scenarios-15.md" >}}) + - [Usage Restrictions]({{< relref "./docs/Container/usage-restrictions-16.md" >}}) + - [Usage Guide]({{< relref "./docs/Container/usage-guide-17.md" >}}) + + + - [Supporting OCI hooks]({{< relref "./docs/Container/supporting-oci-hooks.md" >}}) + - [Description]({{< relref "./docs/Container/description-18.md" >}}) + - [APIs]({{< relref "./docs/Container/apis-19.md" >}}) + - [Usage Restrictions]({{< relref "./docs/Container/usage-restrictions-20.md" >}}) + + + - [Appendix]({{< relref "./docs/Container/appendix.md" >}}) + - [Command Line Parameters]({{< relref "./docs/Container/command-line-parameters.md" >}}) + - [CNI Parameters]({{< relref "./docs/Container/cni-parameters.md" >}}) + + + - [System Container]({{< relref "./docs/Container/system-container.md" >}}) + - [Overview]({{< relref "./docs/Container/overview-21.md" >}}) + - [Installation Guideline]({{< relref "./docs/Container/installation-guideline.md" >}}) + - [Usage Guide]({{< relref "./docs/Container/usage-guide-22.md" >}}) + - [Introduction]({{< relref "./docs/Container/introduction.md" >}}) + - [Specifying Rootfs to Create a Container]({{< relref "./docs/Container/specifying-rootfs-to-create-a-container.md" >}}) + - [Using systemd to Start a Container]({{< relref "./docs/Container/using-systemd-to-start-a-container.md" >}}) + - [Reboot or Shutdown in a Container]({{< relref "./docs/Container/reboot-or-shutdown-in-a-container.md" >}}) + - [Configurable Cgroup Path]({{< relref "./docs/Container/configurable-cgroup-path.md" >}}) + - [Writable Namespace Kernel Parameters]({{< relref "./docs/Container/writable-namespace-kernel-parameters.md" >}}) + - [Shared Memory Channels]({{< relref "./docs/Container/shared-memory-channels.md" >}}) + - [Dynamically Loading the Kernel Module]({{< relref "./docs/Container/dynamically-loading-the-kernel-module.md" >}}) + - [Environment Variable Persisting]({{< relref "./docs/Container/environment-variable-persisting.md" >}}) + - [Maximum Number of Handles]({{< relref "./docs/Container/maximum-number-of-handles.md" >}}) + - [Security and Isolation]({{< relref "./docs/Container/security-and-isolation.md" >}}) + - [Many-to-Many User Namespaces]({{< relref "./docs/Container/many-to-many-user-namespaces.md" >}}) + - [User Permission Control]({{< relref "./docs/Container/user-permission-control.md" >}}) + - [proc File System Isolation \(Lxcfs\)]({{< relref "./docs/Container/proc-file-system-isolation-(lxcfs).md" >}}) + + - [Dynamically Managing Container Resources \(syscontainer-tools\)]({{< relref "./docs/Container/dynamically-managing-container-resources-(syscontainer-tools).md" >}}) + - [Device Management]({{< relref "./docs/Container/device-management.md" >}}) + - [NIC Management]({{< relref "./docs/Container/nic-management.md" >}}) + - [Route Management]({{< relref "./docs/Container/route-management.md" >}}) + - [Volume Mounting Management]({{< relref "./docs/Container/volume-mounting-management.md" >}}) + + + - [Appendix]({{< relref "./docs/Container/appendix-23.md" >}}) + - [Command Line Interface List]({{< relref "./docs/Container/command-line-interface-list.md" >}}) + + + - [Secure Container]({{< relref "./docs/Container/secure-container.md" >}}) + - [Overview]({{< relref "./docs/Container/overview-24.md" >}}) + - [Installation and Deployment]({{< relref "./docs/Container/installation-and-deployment-25.md" >}}) + - [Installation Methods]({{< relref "./docs/Container/installation-methods-26.md" >}}) + - [Deployment Configuration]({{< relref "./docs/Container/deployment-configuration-27.md" >}}) + - [Configuring the Docker Engine]({{< relref "./docs/Container/configuring-the-docker-engine.md" >}}) + - [iSulad Configuration]({{< relref "./docs/Container/isulad-configuration.md" >}}) + - [Configuration.toml]({{< relref "./docs/Container/configuration-toml.md" >}}) + + + - [Application Scenarios]({{< relref "./docs/Container/application-scenarios-28.md" >}}) + - [Managing the Lifecycle of a Secure Container]({{< relref "./docs/Container/managing-the-lifecycle-of-a-secure-container.md" >}}) + - [Starting a Secure Container]({{< relref "./docs/Container/starting-a-secure-container.md" >}}) + - [Stopping a Secure Container]({{< relref "./docs/Container/stopping-a-secure-container.md" >}}) + - [Deleting a Secure Container]({{< relref "./docs/Container/deleting-a-secure-container.md" >}}) + - [Running a New Command in the Container]({{< relref "./docs/Container/running-a-new-command-in-the-container.md" >}}) + + - [Configuring Resources for a Secure Container]({{< relref "./docs/Container/configuring-resources-for-a-secure-container.md" >}}) + - [Sharing Resources]({{< relref "./docs/Container/sharing-resources-29.md" >}}) + - [Limiting CPU Resources]({{< relref "./docs/Container/limiting-cpu-resources.md" >}}) + - [Limiting Memory Resources]({{< relref "./docs/Container/limiting-memory-resources.md" >}}) + - [Limiting Block I/O Resources]({{< relref "./docs/Container/limiting-block-i-o-resources.md" >}}) + - [Limiting File Descriptor Resources]({{< relref "./docs/Container/limiting-file-descriptor-resources.md" >}}) + + - [Configuring Networking for a Secure Container]({{< relref "./docs/Container/configuring-networking-for-a-secure-container.md" >}}) + - [Monitoring Secure Containers]({{< relref "./docs/Container/monitoring-secure-containers.md" >}}) + + - [Appendix]({{< relref "./docs/Container/appendix-30.md" >}}) + - [configuration.toml]({{< relref "./docs/Container/configuration-toml-31.md" >}}) + - [APIs]({{< relref "./docs/Container/apis-32.md" >}}) + + + - [Docker Container]({{< relref "./docs/Container/docker-container.md" >}}) + - [Overview]({{< relref "./docs/Container/overview-33.md" >}}) + - [Installation and Deployment]({{< relref "./docs/Container/installation-and-deployment-34.md" >}}) + - [Installation Configurations and Precautions]({{< relref "./docs/Container/installation-configurations-and-precautions.md" >}}) + - [Precautions]({{< relref "./docs/Container/precautions.md" >}}) + - [Basic Installation Configuration]({{< relref "./docs/Container/basic-installation-configuration.md" >}}) + - [Daemon Parameter Configuration]({{< relref "./docs/Container/daemon-parameter-configuration.md" >}}) + - [Daemon Running Directory Configuration]({{< relref "./docs/Container/daemon-running-directory-configuration.md" >}}) + - [Daemon Network Configuration]({{< relref "./docs/Container/daemon-network-configuration.md" >}}) + - [Daemon umask Configuration]({{< relref "./docs/Container/daemon-umask-configuration.md" >}}) + - [Daemon Start Time]({{< relref "./docs/Container/daemon-start-time.md" >}}) + - [Journald Component]({{< relref "./docs/Container/journald-component.md" >}}) + - [Firewalld Component]({{< relref "./docs/Container/firewalld-component.md" >}}) + - [Iptables Component]({{< relref "./docs/Container/iptables-component.md" >}}) + - [Audit Component]({{< relref "./docs/Container/audit-component.md" >}}) + - [Security Configuration seccomp]({{< relref "./docs/Container/security-configuration-seccomp.md" >}}) + - [Do Not Modify Private Directory of Docker Daemon]({{< relref "./docs/Container/do-not-modify-private-directory-of-docker-daemon.md" >}}) + - [Precautions for Common Users in the Scenario Where a Large Number of Containers Are Deployed]({{< relref "./docs/Container/precautions-for-common-users-in-the-scenario-where-a-large-number-of-containers-are-deployed.md" >}}) + + - [Storage Driver Configuration]({{< relref "./docs/Container/storage-driver-configuration.md" >}}) + - [overlay2 Storage Driver Configuration]({{< relref "./docs/Container/overlay2-storage-driver-configuration.md" >}}) + - [devicemapper Storage Driver Configuration]({{< relref "./docs/Container/devicemapper-storage-driver-configuration-35.md" >}}) + + - [Impact of Forcibly Killing Docker Background Processes]({{< relref "./docs/Container/impact-of-forcibly-killing-docker-background-processes.md" >}}) + - [Semaphores May Be Residual]({{< relref "./docs/Container/semaphores-may-be-residual.md" >}}) + - [NICs May Be Residual]({{< relref "./docs/Container/nics-may-be-residual.md" >}}) + - [Failed to Restart a Container]({{< relref "./docs/Container/failed-to-restart-a-container.md" >}}) + - [Failed to Restart the Docker Service]({{< relref "./docs/Container/failed-to-restart-the-docker-service.md" >}}) + + - [Impact of System Power-off]({{< relref "./docs/Container/impact-of-system-power-off.md" >}}) + + + - [Container Management]({{< relref "./docs/Container/container-management-36.md" >}}) + - [Creating a Container]({{< relref "./docs/Container/creating-a-container-37.md" >}}) + - [Creating Containers Using hook-spec]({{< relref "./docs/Container/creating-containers-using-hook-spec.md" >}}) + - [Configuring Health Check During Container Creation]({{< relref "./docs/Container/configuring-health-check-during-container-creation.md" >}}) + - [Stopping and Deleting a Container]({{< relref "./docs/Container/stopping-and-deleting-a-container.md" >}}) + - [Querying Container Information]({{< relref "./docs/Container/querying-container-information.md" >}}) + - [Modification Operations]({{< relref "./docs/Container/modification-operations.md" >}}) + + - [Image Management]({{< relref "./docs/Container/image-management-38.md" >}}) + - [Creating an Image]({{< relref "./docs/Container/creating-an-image.md" >}}) + - [Viewing Images]({{< relref "./docs/Container/viewing-images.md" >}}) + - [Deleting Images]({{< relref "./docs/Container/deleting-images-39.md" >}}) + + - [Command Reference]({{< relref "./docs/Container/command-reference.md" >}}) + - [Container Engine]({{< relref "./docs/Container/container-engine.md" >}}) + - [Container Management]({{< relref "./docs/Container/container-management-40.md" >}}) + - [attach]({{< relref "./docs/Container/attach-41.md" >}}) + - [commit]({{< relref "./docs/Container/commit.md" >}}) + - [cp]({{< relref "./docs/Container/cp.md" >}}) + - [create]({{< relref "./docs/Container/create.md" >}}) + - [diff]({{< relref "./docs/Container/diff.md" >}}) + - [exec]({{< relref "./docs/Container/exec-42.md" >}}) + - [export]({{< relref "./docs/Container/export.md" >}}) + - [inspect]({{< relref "./docs/Container/inspect.md" >}}) + - [logs]({{< relref "./docs/Container/logs.md" >}}) + - [pause/unpause]({{< relref "./docs/Container/pause-unpause.md" >}}) + - [port]({{< relref "./docs/Container/port.md" >}}) + - [ps]({{< relref "./docs/Container/ps.md" >}}) + - [rename]({{< relref "./docs/Container/rename.md" >}}) + - [restart]({{< relref "./docs/Container/restart.md" >}}) + - [rm]({{< relref "./docs/Container/rm.md" >}}) + - [run]({{< relref "./docs/Container/run.md" >}}) + - [start]({{< relref "./docs/Container/start.md" >}}) + - [stats]({{< relref "./docs/Container/stats.md" >}}) + - [stop]({{< relref "./docs/Container/stop.md" >}}) + - [top]({{< relref "./docs/Container/top.md" >}}) + - [update]({{< relref "./docs/Container/update.md" >}}) + - [wait]({{< relref "./docs/Container/wait.md" >}}) + + - [Image Management]({{< relref "./docs/Container/image-management-43.md" >}}) + - [build]({{< relref "./docs/Container/build.md" >}}) + - [history]({{< relref "./docs/Container/history.md" >}}) + - [images]({{< relref "./docs/Container/images.md" >}}) + - [import]({{< relref "./docs/Container/import.md" >}}) + - [load]({{< relref "./docs/Container/load.md" >}}) + - [login]({{< relref "./docs/Container/login.md" >}}) + - [logout]({{< relref "./docs/Container/logout.md" >}}) + - [pull]({{< relref "./docs/Container/pull.md" >}}) + - [push]({{< relref "./docs/Container/push.md" >}}) + - [rmi]({{< relref "./docs/Container/rmi.md" >}}) + - [save]({{< relref "./docs/Container/save.md" >}}) + - [search]({{< relref "./docs/Container/search.md" >}}) + - [tag]({{< relref "./docs/Container/tag.md" >}}) + + - [Statistics]({{< relref "./docs/Container/statistics.md" >}}) + - [events]({{< relref "./docs/Container/events.md" >}}) + - [info]({{< relref "./docs/Container/info.md" >}}) + - [version]({{< relref "./docs/Container/version.md" >}}) + +- [A-Tune User Guide]({{< relref "./docs/A-Tune/A-Tune.md" >}}) + - [Legal Statement]({{< relref "./docs/A-Tune/legal-statement" >}}) + - [Preface]({{< relref "./docs/A-Tune/preface" >}}) + - [Getting to Know A-Tune]({{< relref "./docs/A-Tune/getting-to-know-a-tune" >}}) + - [Introduction]({{< relref "./docs/A-Tune/introduction" >}}) + - [Architecture]({{< relref "./docs/A-Tune/architecture" >}}) + - [Supported Features and Service Models]({{< relref "./docs/A-Tune/supported-features-and-service-models" >}}) + + - [Installation and Deployment]({{< relref "./docs/A-Tune/installation-and-deployment" >}}) + - [Software and Hardware Requirements]({{< relref "./docs/A-Tune/software-and-hardware-requirements" >}}) + - [Environment Preparation]({{< relref "./docs/A-Tune/environment-preparation" >}}) + - [A-Tune Installation]({{< relref "./docs/A-Tune/a-tune-installation" >}}) + - [Installation Modes]({{< relref "./docs/A-Tune/installation-modes" >}}) + - [Installation Procedure]({{< relref "./docs/A-Tune/installation-procedure" >}}) + + - [A-Tune Deployment]({{< relref "./docs/A-Tune/a-tune-deployment" >}}) + - [Overview]({{< relref "./docs/A-Tune/overview" >}}) + + - [Starting A-Tune]({{< relref "./docs/A-Tune/starting-a-tune" >}}) + + - [Application Scenarios]({{< relref "./docs/A-Tune/application-scenarios" >}}) + - [Overview]({{< relref "./docs/A-Tune/overview-0" >}}) + - [Querying Workload Types]({{< relref "./docs/A-Tune/querying-workload-types" >}}) + - [list]({{< relref "./docs/A-Tune/list" >}}) + + - [Workload Type Analysis and Auto Optimization]({{< relref "./docs/A-Tune/workload-type-analysis-and-auto-optimization" >}}) + - [analysis]({{< relref "./docs/A-Tune/analysis" >}}) + + - [User-defined Model]({{< relref "./docs/A-Tune/user-defined-model" >}}) + - [define]({{< relref "./docs/A-Tune/define" >}}) + - [collection]({{< relref "./docs/A-Tune/collection" >}}) + - [train]({{< relref "./docs/A-Tune/train" >}}) + - [undefine]({{< relref "./docs/A-Tune/undefine" >}}) + + - [Querying Profiles]({{< relref "./docs/A-Tune/querying-profiles" >}}) + - [info]({{< relref "./docs/A-Tune/info" >}}) + + - [Updating a Profile]({{< relref "./docs/A-Tune/updating-a-profile" >}}) + - [update]({{< relref "./docs/A-Tune/update" >}}) + + - [Activating a Profile]({{< relref "./docs/A-Tune/activating-a-profile" >}}) + - [profile]({{< relref "./docs/A-Tune/profile" >}}) + + - [Rolling Back Profiles]({{< relref "./docs/A-Tune/rolling-back-profiles" >}}) + - [rollback]({{< relref "./docs/A-Tune/rollback" >}}) + + - [Updating Database]({{< relref "./docs/A-Tune/updating-database" >}}) + - [upgrade]({{< relref "./docs/A-Tune/upgrade" >}}) + + - [Querying System Information]({{< relref "./docs/A-Tune/querying-system-information" >}}) + - [check]({{< relref "./docs/A-Tune/check" >}}) + + - [Automatic Parameter Optimization]({{< relref "./docs/A-Tune/automatic-parameter-optimization" >}}) + - [Tuning]({{< relref "./docs/A-Tune/tuning" >}}) + + + - [FAQs]({{< relref "./docs/A-Tune/faqs" >}}) + - [Appendixes]({{< relref "./docs/A-Tune/appendixes" >}}) + - [Acronyms and Abbreviations]({{< relref "./docs/A-Tune/acronyms-and-abbreviations" >}}) + + -- Gitee From 85ab9749468641924e81cb01a301ae00a9457e86 Mon Sep 17 00:00:00 2001 From: amyMayun Date: Fri, 3 Apr 2020 17:56:41 +0800 Subject: [PATCH 05/12] delete invalid index file --- .../docs/A-Tune/en-us_bookmap_0213174665.md | 60 ---- .../Container/en-us_bookmap_0183409509.md | 313 ------------------ .../Installation/en-us_bookmap_0214071143.md | 57 ---- .../SecHarden/en-us_bookmap_0192073180.md | 57 ---- content/en/menu/index.md | 141 +++----- 5 files changed, 43 insertions(+), 585 deletions(-) delete mode 100644 content/en/docs/A-Tune/en-us_bookmap_0213174665.md delete mode 100644 content/en/docs/Container/en-us_bookmap_0183409509.md delete mode 100644 content/en/docs/Installation/en-us_bookmap_0214071143.md delete mode 100644 content/en/docs/SecHarden/en-us_bookmap_0192073180.md diff --git a/content/en/docs/A-Tune/en-us_bookmap_0213174665.md b/content/en/docs/A-Tune/en-us_bookmap_0213174665.md deleted file mode 100644 index dac0babe0..000000000 --- a/content/en/docs/A-Tune/en-us_bookmap_0213174665.md +++ /dev/null @@ -1,60 +0,0 @@ - # A-Tune User Guide -- [A-Tune User Guide]({{< relref "./docs/A-Tune/A-Tune.md" >}}) - - [Legal Statement]({{< relref "./docs/A-Tune/legal-statement" >}}) - - [Preface]({{< relref "./docs/A-Tune/preface" >}}) - - [Getting to Know A-Tune]({{< relref "./docs/A-Tune/getting-to-know-a-tune" >}}) - - [Introduction]({{< relref "./docs/A-Tune/introduction" >}}) - - [Architecture]({{< relref "./docs/A-Tune/architecture" >}}) - - [Supported Features and Service Models]({{< relref "./docs/A-Tune/supported-features-and-service-models" >}}) - - - [Installation and Deployment]({{< relref "./docs/A-Tune/installation-and-deployment" >}}) - - [Software and Hardware Requirements]({{< relref "./docs/A-Tune/software-and-hardware-requirements" >}}) - - [Environment Preparation]({{< relref "./docs/A-Tune/environment-preparation" >}}) - - [A-Tune Installation]({{< relref "./docs/A-Tune/a-tune-installation" >}}) - - [Installation Modes]({{< relref "./docs/A-Tune/installation-modes" >}}) - - [Installation Procedure]({{< relref "./docs/A-Tune/installation-procedure" >}}) - - - [A-Tune Deployment]({{< relref "./docs/A-Tune/a-tune-deployment" >}}) - - [Overview]({{< relref "./docs/A-Tune/overview" >}}) - - - [Starting A-Tune]({{< relref "./docs/A-Tune/starting-a-tune" >}}) - - - [Application Scenarios]({{< relref "./docs/A-Tune/application-scenarios" >}}) - - [Overview]({{< relref "./docs/A-Tune/overview-0" >}}) - - [Querying Workload Types]({{< relref "./docs/A-Tune/querying-workload-types" >}}) - - [list]({{< relref "./docs/A-Tune/list" >}}) - - - [Workload Type Analysis and Auto Optimization]({{< relref "./docs/A-Tune/workload-type-analysis-and-auto-optimization" >}}) - - [analysis]({{< relref "./docs/A-Tune/analysis" >}}) - - - [User-defined Model]({{< relref "./docs/A-Tune/user-defined-model" >}}) - - [define]({{< relref "./docs/A-Tune/define" >}}) - - [collection]({{< relref "./docs/A-Tune/collection" >}}) - - [train]({{< relref "./docs/A-Tune/train" >}}) - - [undefine]({{< relref "./docs/A-Tune/undefine" >}}) - - - [Querying Profiles]({{< relref "./docs/A-Tune/querying-profiles" >}}) - - [info]({{< relref "./docs/A-Tune/info" >}}) - - - [Updating a Profile]({{< relref "./docs/A-Tune/updating-a-profile" >}}) - - [update]({{< relref "./docs/A-Tune/update" >}}) - - - [Activating a Profile]({{< relref "./docs/A-Tune/activating-a-profile" >}}) - - [profile]({{< relref "./docs/A-Tune/profile" >}}) - - - [Rolling Back Profiles]({{< relref "./docs/A-Tune/rolling-back-profiles" >}}) - - [rollback]({{< relref "./docs/A-Tune/rollback" >}}) - - - [Updating Database]({{< relref "./docs/A-Tune/updating-database" >}}) - - [upgrade]({{< relref "./docs/A-Tune/upgrade" >}}) - - - [Querying System Information]({{< relref "./docs/A-Tune/querying-system-information" >}}) - - [check]({{< relref "./docs/A-Tune/check" >}}) - - - [Automatic Parameter Optimization]({{< relref "./docs/A-Tune/automatic-parameter-optimization" >}}) - - [Tuning]({{< relref "./docs/A-Tune/tuning" >}}) - - - - [FAQs]({{< relref "./docs/A-Tune/faqs" >}}) - - [Appendixes]({{< relref "./docs/A-Tune/appendixes" >}}) - - [Acronyms and Abbreviations]({{< relref "./docs/A-Tune/acronyms-and-abbreviations" >}}) \ No newline at end of file diff --git a/content/en/docs/Container/en-us_bookmap_0183409509.md b/content/en/docs/Container/en-us_bookmap_0183409509.md deleted file mode 100644 index 18cd8bf12..000000000 --- a/content/en/docs/Container/en-us_bookmap_0183409509.md +++ /dev/null @@ -1,313 +0,0 @@ - # Container User Guide -- [Container User Guide]({{< relref "./docs/Container/container.md" >}}) - - [Terms of Use]({{< relref "./docs/Container/terms-of-use.md" >}}) - - [About This Document ]({{< relref "./docs/Container/about-this-document.md" >}}) - - [iSulad Container Engine]({{< relref "./docs/Container/isulad-container-engine.md" >}}) - - [Overview]({{< relref "./docs/Container/overview.md" >}}) - - [Installation and Deployment]({{< relref "./docs/Container/installation-and-deployment.md" >}}) - - [Installation Methods]({{< relref "./docs/Container/installation-methods.md" >}}) - - [Upgrade Methods]({{< relref "./docs/Container/upgrade-methods.md" >}}) - - [Deployment Configuration]({{< relref "./docs/Container/deployment-configuration.md" >}}) - - [Deployment Mode]({{< relref "./docs/Container/deployment-mode.md" >}}) - - [Storage Description]({{< relref "./docs/Container/storage-description.md" >}}) - - [Constraints]({{< relref "./docs/Container/constraints.md" >}}) - - [Daemon Multi-Port Binding]({{< relref "./docs/Container/daemon-multi-port-binding.md" >}}) - - [Configuring TLS Authentication and Enabling Remote Access]({{< relref "./docs/Container/configuring-tls-authentication-and-enabling-remote-access.md" >}}) - - [devicemapper Storage Driver Configuration]({{< relref "./docs/Container/devicemapper-storage-driver-configuration.md" >}}) - - - [Uninstallation]({{< relref "./docs/Container/uninstallation.md" >}}) - - - [Application Scenarios]({{< relref "./docs/Container/application-scenarios.md" >}}) - - [Container Management]({{< relref "./docs/Container/container-management.md" >}}) - - [Creating a Container]({{< relref "./docs/Container/creating-a-container.md" >}}) - - [Starting a Container]({{< relref "./docs/Container/starting-a-container.md" >}}) - - [Running a Container]({{< relref "./docs/Container/running-a-container.md" >}}) - - [Stopping a Container]({{< relref "./docs/Container/stopping-a-container.md" >}}) - - [Forcibly Stopping a Container]({{< relref "./docs/Container/forcibly-stopping-a-container.md" >}}) - - [Removing a Container]({{< relref "./docs/Container/removing-a-container.md" >}}) - - [Attaching to a Container]({{< relref "./docs/Container/attaching-to-a-container.md" >}}) - - [Renaming a Container]({{< relref "./docs/Container/renaming-a-container.md" >}}) - - [Executing a Command in a Running Container]({{< relref "./docs/Container/executing-a-command-in-a-running-container.md" >}}) - - [Querying Information About a Single Container]({{< relref "./docs/Container/querying-information-about-a-single-container.md" >}}) - - [Querying Information About All Containers]({{< relref "./docs/Container/querying-information-about-all-containers.md" >}}) - - [Restarting a Container]({{< relref "./docs/Container/restarting-a-container.md" >}}) - - [Waiting for a Container to Exit]({{< relref "./docs/Container/waiting-for-a-container-to-exit.md" >}}) - - [Viewing Process Information in a Container]({{< relref "./docs/Container/viewing-process-information-in-a-container.md" >}}) - - [Displaying Resource Usage Statistics of a Container]({{< relref "./docs/Container/displaying-resource-usage-statistics-of-a-container.md" >}}) - - [Obtaining Container Logs]({{< relref "./docs/Container/obtaining-container-logs.md" >}}) - - [Copying Data Between a Container and a Host]({{< relref "./docs/Container/copying-data-between-a-container-and-a-host.md" >}}) - - [Pausing a Container]({{< relref "./docs/Container/pausing-a-container.md" >}}) - - [Resuming a Container]({{< relref "./docs/Container/resuming-a-container.md" >}}) - - [Obtaining Event Messages from the Server in Real Time]({{< relref "./docs/Container/obtaining-event-messages-from-the-server-in-real-time.md" >}}) - - - [Interconnection with the CNI Network]({{< relref "./docs/Container/interconnection-with-the-cni-network.md" >}}) - - [Overview]({{< relref "./docs/Container/overview-0.md" >}}) - - [Common CNIs]({{< relref "./docs/Container/common-cnis.md" >}}) - - [CNI Network Configuration Description]({{< relref "./docs/Container/cni-network-configuration-description.md" >}}) - - [Adding a Pod to the CNI Network List]({{< relref "./docs/Container/adding-a-pod-to-the-cni-network-list.md" >}}) - - [Removing a Pod from the CNI Network List]({{< relref "./docs/Container/removing-a-pod-from-the-cni-network-list.md" >}}) - - - [Usage Restrictions]({{< relref "./docs/Container/usage-restrictions.md" >}}) - - - [Container Resource Management]({{< relref "./docs/Container/container-resource-management.md" >}}) - - [Sharing Resources]({{< relref "./docs/Container/sharing-resources.md" >}}) - - [Restricting CPU Resources of a Running Container]({{< relref "./docs/Container/restricting-cpu-resources-of-a-running-container.md" >}}) - - [Restricting the Memory Usage of a Running Container]({{< relref "./docs/Container/restricting-the-memory-usage-of-a-running-container.md" >}}) - - [Restricting I/O Resources of a Running Container]({{< relref "./docs/Container/restricting-i-o-resources-of-a-running-container.md" >}}) - - [Restricting the Rootfs Storage Space of a Container]({{< relref "./docs/Container/restricting-the-rootfs-storage-space-of-a-container.md" >}}) - - [Restricting the Number of File Handles in a Container]({{< relref "./docs/Container/restricting-the-number-of-file-handles-in-a-container.md" >}}) - - [Restricting the Number of Processes or Threads that Can Be Created in a Container]({{< relref "./docs/Container/restricting-the-number-of-processes-or-threads-that-can-be-created-in-a-container.md" >}}) - - [Configuring the ulimit Value in a Container]({{< relref "./docs/Container/configuring-the-ulimit-value-in-a-container.md" >}}) - - - [Privileged Container]({{< relref "./docs/Container/privileged-container.md" >}}) - - [Scenarios]({{< relref "./docs/Container/scenarios.md" >}}) - - [Usage Restrictions]({{< relref "./docs/Container/usage-restrictions-1.md" >}}) - - [Usage Guide]({{< relref "./docs/Container/usage-guide.md" >}}) - - - [CRI]({{< relref "./docs/Container/cri.md" >}}) - - [Description]({{< relref "./docs/Container/description.md" >}}) - - [APIs]({{< relref "./docs/Container/apis.md" >}}) - - [Runtime Service]({{< relref "./docs/Container/runtime-service.md" >}}) - - [RunPodSandbox]({{< relref "./docs/Container/runpodsandbox.md" >}}) - - [StopPodSandbox]({{< relref "./docs/Container/stoppodsandbox.md" >}}) - - [RemovePodSandbox]({{< relref "./docs/Container/removepodsandbox.md" >}}) - - [PodSandboxStatus]({{< relref "./docs/Container/podsandboxstatus.md" >}}) - - [ListPodSandbox]({{< relref "./docs/Container/listpodsandbox.md" >}}) - - [CreateContainer]({{< relref "./docs/Container/createcontainer.md" >}}) - - [StartContainer]({{< relref "./docs/Container/startcontainer.md" >}}) - - [StopContainer]({{< relref "./docs/Container/stopcontainer.md" >}}) - - [RemoveContainer]({{< relref "./docs/Container/removecontainer.md" >}}) - - [ListContainers]({{< relref "./docs/Container/listcontainers.md" >}}) - - [ContainerStatus]({{< relref "./docs/Container/containerstatus.md" >}}) - - [UpdateContainerResources]({{< relref "./docs/Container/updatecontainerresources.md" >}}) - - [ExecSync]({{< relref "./docs/Container/execsync.md" >}}) - - [Exec]({{< relref "./docs/Container/exec.md" >}}) - - [Attach]({{< relref "./docs/Container/attach.md" >}}) - - [ContainerStats]({{< relref "./docs/Container/containerstats.md" >}}) - - [ListContainerStats]({{< relref "./docs/Container/listcontainerstats.md" >}}) - - [UpdateRuntimeConfig]({{< relref "./docs/Container/updateruntimeconfig.md" >}}) - - [Status]({{< relref "./docs/Container/status.md" >}}) - - - [Image Service]({{< relref "./docs/Container/image-service.md" >}}) - - [ListImages]({{< relref "./docs/Container/listimages.md" >}}) - - [ImageStatus]({{< relref "./docs/Container/imagestatus.md" >}}) - - [PullImage]({{< relref "./docs/Container/pullimage.md" >}}) - - [RemoveImage]({{< relref "./docs/Container/removeimage.md" >}}) - - [ImageFsInfo]({{< relref "./docs/Container/imagefsinfo.md" >}}) - - - - [Constraints]({{< relref "./docs/Container/constraints-2.md" >}}) - - - [Image Management]({{< relref "./docs/Container/image-management.md" >}}) - - [Docker Image Management]({{< relref "./docs/Container/docker-image-management.md" >}}) - - [Logging In to a Registry]({{< relref "./docs/Container/logging-in-to-a-registry.md" >}}) - - [Logging Out of a Registry]({{< relref "./docs/Container/logging-out-of-a-registry.md" >}}) - - [Pulling Images from a Registry]({{< relref "./docs/Container/pulling-images-from-a-registry.md" >}}) - - [Deleting Images]({{< relref "./docs/Container/deleting-images.md" >}}) - - [Loading Images]({{< relref "./docs/Container/loading-images.md" >}}) - - [Listing Images]({{< relref "./docs/Container/listing-images.md" >}}) - - [Inspecting Images]({{< relref "./docs/Container/inspecting-images.md" >}}) - - [Two-Way Authentication]({{< relref "./docs/Container/two-way-authentication.md" >}}) - - - [Embedded Image Management]({{< relref "./docs/Container/embedded-image-management.md" >}}) - - [Loading Images]({{< relref "./docs/Container/loading-images-3.md" >}}) - - [Listing Images]({{< relref "./docs/Container/listing-images-4.md" >}}) - - [Inspecting Images]({{< relref "./docs/Container/inspecting-images-5.md" >}}) - - [Deleting Images]({{< relref "./docs/Container/deleting-images-6.md" >}}) - - - - [Checking the Container Health Status]({{< relref "./docs/Container/checking-the-container-health-status.md" >}}) - - [Scenarios]({{< relref "./docs/Container/scenarios-7.md" >}}) - - [Configuration Methods]({{< relref "./docs/Container/configuration-methods.md" >}}) - - [Check Rules]({{< relref "./docs/Container/check-rules.md" >}}) - - [Usage Restrictions]({{< relref "./docs/Container/usage-restrictions-8.md" >}}) - - - [Querying Information]({{< relref "./docs/Container/querying-information.md" >}}) - - [Querying the Service Version]({{< relref "./docs/Container/querying-the-service-version.md" >}}) - - [Querying System-level Information]({{< relref "./docs/Container/querying-system-level-information.md" >}}) - - - [Security Features]({{< relref "./docs/Container/security-features.md" >}}) - - [Seccomp Security Configuration]({{< relref "./docs/Container/seccomp-security-configuration.md" >}}) - - [Scenarios]({{< relref "./docs/Container/scenarios-9.md" >}}) - - [Usage Restrictions]({{< relref "./docs/Container/usage-restrictions-10.md" >}}) - - [Usage Guide]({{< relref "./docs/Container/usage-guide-11.md" >}}) - - - [capabilities Security Configuration]({{< relref "./docs/Container/capabilities-security-configuration.md" >}}) - - [Scenarios]({{< relref "./docs/Container/scenarios-12.md" >}}) - - [Usage Restrictions]({{< relref "./docs/Container/usage-restrictions-13.md" >}}) - - [Usage Guide]({{< relref "./docs/Container/usage-guide-14.md" >}}) - - - [SELinux Security Configuration]({{< relref "./docs/Container/selinux-security-configuration.md" >}}) - - [Scenarios]({{< relref "./docs/Container/scenarios-15.md" >}}) - - [Usage Restrictions]({{< relref "./docs/Container/usage-restrictions-16.md" >}}) - - [Usage Guide]({{< relref "./docs/Container/usage-guide-17.md" >}}) - - - - [Supporting OCI hooks]({{< relref "./docs/Container/supporting-oci-hooks.md" >}}) - - [Description]({{< relref "./docs/Container/description-18.md" >}}) - - [APIs]({{< relref "./docs/Container/apis-19.md" >}}) - - [Usage Restrictions]({{< relref "./docs/Container/usage-restrictions-20.md" >}}) - - - - [Appendix]({{< relref "./docs/Container/appendix.md" >}}) - - [Command Line Parameters]({{< relref "./docs/Container/command-line-parameters.md" >}}) - - [CNI Parameters]({{< relref "./docs/Container/cni-parameters.md" >}}) - - - - [System Container]({{< relref "./docs/Container/system-container.md" >}}) - - [Overview]({{< relref "./docs/Container/overview-21.md" >}}) - - [Installation Guideline]({{< relref "./docs/Container/installation-guideline.md" >}}) - - [Usage Guide]({{< relref "./docs/Container/usage-guide-22.md" >}}) - - [Introduction]({{< relref "./docs/Container/introduction.md" >}}) - - [Specifying Rootfs to Create a Container]({{< relref "./docs/Container/specifying-rootfs-to-create-a-container.md" >}}) - - [Using systemd to Start a Container]({{< relref "./docs/Container/using-systemd-to-start-a-container.md" >}}) - - [Reboot or Shutdown in a Container]({{< relref "./docs/Container/reboot-or-shutdown-in-a-container.md" >}}) - - [Configurable Cgroup Path]({{< relref "./docs/Container/configurable-cgroup-path.md" >}}) - - [Writable Namespace Kernel Parameters]({{< relref "./docs/Container/writable-namespace-kernel-parameters.md" >}}) - - [Shared Memory Channels]({{< relref "./docs/Container/shared-memory-channels.md" >}}) - - [Dynamically Loading the Kernel Module]({{< relref "./docs/Container/dynamically-loading-the-kernel-module.md" >}}) - - [Environment Variable Persisting]({{< relref "./docs/Container/environment-variable-persisting.md" >}}) - - [Maximum Number of Handles]({{< relref "./docs/Container/maximum-number-of-handles.md" >}}) - - [Security and Isolation]({{< relref "./docs/Container/security-and-isolation.md" >}}) - - [Many-to-Many User Namespaces]({{< relref "./docs/Container/many-to-many-user-namespaces.md" >}}) - - [User Permission Control]({{< relref "./docs/Container/user-permission-control.md" >}}) - - [proc File System Isolation \(Lxcfs\)]({{< relref "./docs/Container/proc-file-system-isolation-(lxcfs).md" >}}) - - - [Dynamically Managing Container Resources \(syscontainer-tools\)]({{< relref "./docs/Container/dynamically-managing-container-resources-(syscontainer-tools).md" >}}) - - [Device Management]({{< relref "./docs/Container/device-management.md" >}}) - - [NIC Management]({{< relref "./docs/Container/nic-management.md" >}}) - - [Route Management]({{< relref "./docs/Container/route-management.md" >}}) - - [Volume Mounting Management]({{< relref "./docs/Container/volume-mounting-management.md" >}}) - - - - [Appendix]({{< relref "./docs/Container/appendix-23.md" >}}) - - [Command Line Interface List]({{< relref "./docs/Container/command-line-interface-list.md" >}}) - - - - [Secure Container]({{< relref "./docs/Container/secure-container.md" >}}) - - [Overview]({{< relref "./docs/Container/overview-24.md" >}}) - - [Installation and Deployment]({{< relref "./docs/Container/installation-and-deployment-25.md" >}}) - - [Installation Methods]({{< relref "./docs/Container/installation-methods-26.md" >}}) - - [Deployment Configuration]({{< relref "./docs/Container/deployment-configuration-27.md" >}}) - - [Configuring the Docker Engine]({{< relref "./docs/Container/configuring-the-docker-engine.md" >}}) - - [iSulad Configuration]({{< relref "./docs/Container/isulad-configuration.md" >}}) - - [Configuration.toml]({{< relref "./docs/Container/configuration-toml.md" >}}) - - - - [Application Scenarios]({{< relref "./docs/Container/application-scenarios-28.md" >}}) - - [Managing the Lifecycle of a Secure Container]({{< relref "./docs/Container/managing-the-lifecycle-of-a-secure-container.md" >}}) - - [Starting a Secure Container]({{< relref "./docs/Container/starting-a-secure-container.md" >}}) - - [Stopping a Secure Container]({{< relref "./docs/Container/stopping-a-secure-container.md" >}}) - - [Deleting a Secure Container]({{< relref "./docs/Container/deleting-a-secure-container.md" >}}) - - [Running a New Command in the Container]({{< relref "./docs/Container/running-a-new-command-in-the-container.md" >}}) - - - [Configuring Resources for a Secure Container]({{< relref "./docs/Container/configuring-resources-for-a-secure-container.md" >}}) - - [Sharing Resources]({{< relref "./docs/Container/sharing-resources-29.md" >}}) - - [Limiting CPU Resources]({{< relref "./docs/Container/limiting-cpu-resources.md" >}}) - - [Limiting Memory Resources]({{< relref "./docs/Container/limiting-memory-resources.md" >}}) - - [Limiting Block I/O Resources]({{< relref "./docs/Container/limiting-block-i-o-resources.md" >}}) - - [Limiting File Descriptor Resources]({{< relref "./docs/Container/limiting-file-descriptor-resources.md" >}}) - - - [Configuring Networking for a Secure Container]({{< relref "./docs/Container/configuring-networking-for-a-secure-container.md" >}}) - - [Monitoring Secure Containers]({{< relref "./docs/Container/monitoring-secure-containers.md" >}}) - - - [Appendix]({{< relref "./docs/Container/appendix-30.md" >}}) - - [configuration.toml]({{< relref "./docs/Container/configuration-toml-31.md" >}}) - - [APIs]({{< relref "./docs/Container/apis-32.md" >}}) - - - - [Docker Container]({{< relref "./docs/Container/docker-container.md" >}}) - - [Overview]({{< relref "./docs/Container/overview-33.md" >}}) - - [Installation and Deployment]({{< relref "./docs/Container/installation-and-deployment-34.md" >}}) - - [Installation Configurations and Precautions]({{< relref "./docs/Container/installation-configurations-and-precautions.md" >}}) - - [Precautions]({{< relref "./docs/Container/precautions.md" >}}) - - [Basic Installation Configuration]({{< relref "./docs/Container/basic-installation-configuration.md" >}}) - - [Daemon Parameter Configuration]({{< relref "./docs/Container/daemon-parameter-configuration.md" >}}) - - [Daemon Running Directory Configuration]({{< relref "./docs/Container/daemon-running-directory-configuration.md" >}}) - - [Daemon Network Configuration]({{< relref "./docs/Container/daemon-network-configuration.md" >}}) - - [Daemon umask Configuration]({{< relref "./docs/Container/daemon-umask-configuration.md" >}}) - - [Daemon Start Time]({{< relref "./docs/Container/daemon-start-time.md" >}}) - - [Journald Component]({{< relref "./docs/Container/journald-component.md" >}}) - - [Firewalld Component]({{< relref "./docs/Container/firewalld-component.md" >}}) - - [Iptables Component]({{< relref "./docs/Container/iptables-component.md" >}}) - - [Audit Component]({{< relref "./docs/Container/audit-component.md" >}}) - - [Security Configuration seccomp]({{< relref "./docs/Container/security-configuration-seccomp.md" >}}) - - [Do Not Modify Private Directory of Docker Daemon]({{< relref "./docs/Container/do-not-modify-private-directory-of-docker-daemon.md" >}}) - - [Precautions for Common Users in the Scenario Where a Large Number of Containers Are Deployed]({{< relref "./docs/Container/precautions-for-common-users-in-the-scenario-where-a-large-number-of-containers-are-deployed.md" >}}) - - - [Storage Driver Configuration]({{< relref "./docs/Container/storage-driver-configuration.md" >}}) - - [overlay2 Storage Driver Configuration]({{< relref "./docs/Container/overlay2-storage-driver-configuration.md" >}}) - - [devicemapper Storage Driver Configuration]({{< relref "./docs/Container/devicemapper-storage-driver-configuration-35.md" >}}) - - - [Impact of Forcibly Killing Docker Background Processes]({{< relref "./docs/Container/impact-of-forcibly-killing-docker-background-processes.md" >}}) - - [Semaphores May Be Residual]({{< relref "./docs/Container/semaphores-may-be-residual.md" >}}) - - [NICs May Be Residual]({{< relref "./docs/Container/nics-may-be-residual.md" >}}) - - [Failed to Restart a Container]({{< relref "./docs/Container/failed-to-restart-a-container.md" >}}) - - [Failed to Restart the Docker Service]({{< relref "./docs/Container/failed-to-restart-the-docker-service.md" >}}) - - - [Impact of System Power-off]({{< relref "./docs/Container/impact-of-system-power-off.md" >}}) - - - - [Container Management]({{< relref "./docs/Container/container-management-36.md" >}}) - - [Creating a Container]({{< relref "./docs/Container/creating-a-container-37.md" >}}) - - [Creating Containers Using hook-spec]({{< relref "./docs/Container/creating-containers-using-hook-spec.md" >}}) - - [Configuring Health Check During Container Creation]({{< relref "./docs/Container/configuring-health-check-during-container-creation.md" >}}) - - [Stopping and Deleting a Container]({{< relref "./docs/Container/stopping-and-deleting-a-container.md" >}}) - - [Querying Container Information]({{< relref "./docs/Container/querying-container-information.md" >}}) - - [Modification Operations]({{< relref "./docs/Container/modification-operations.md" >}}) - - - [Image Management]({{< relref "./docs/Container/image-management-38.md" >}}) - - [Creating an Image]({{< relref "./docs/Container/creating-an-image.md" >}}) - - [Viewing Images]({{< relref "./docs/Container/viewing-images.md" >}}) - - [Deleting Images]({{< relref "./docs/Container/deleting-images-39.md" >}}) - - - [Command Reference]({{< relref "./docs/Container/command-reference.md" >}}) - - [Container Engine]({{< relref "./docs/Container/container-engine.md" >}}) - - [Container Management]({{< relref "./docs/Container/container-management-40.md" >}}) - - [attach]({{< relref "./docs/Container/attach-41.md" >}}) - - [commit]({{< relref "./docs/Container/commit.md" >}}) - - [cp]({{< relref "./docs/Container/cp.md" >}}) - - [create]({{< relref "./docs/Container/create.md" >}}) - - [diff]({{< relref "./docs/Container/diff.md" >}}) - - [exec]({{< relref "./docs/Container/exec-42.md" >}}) - - [export]({{< relref "./docs/Container/export.md" >}}) - - [inspect]({{< relref "./docs/Container/inspect.md" >}}) - - [logs]({{< relref "./docs/Container/logs.md" >}}) - - [pause/unpause]({{< relref "./docs/Container/pause-unpause.md" >}}) - - [port]({{< relref "./docs/Container/port.md" >}}) - - [ps]({{< relref "./docs/Container/ps.md" >}}) - - [rename]({{< relref "./docs/Container/rename.md" >}}) - - [restart]({{< relref "./docs/Container/restart.md" >}}) - - [rm]({{< relref "./docs/Container/rm.md" >}}) - - [run]({{< relref "./docs/Container/run.md" >}}) - - [start]({{< relref "./docs/Container/start.md" >}}) - - [stats]({{< relref "./docs/Container/stats.md" >}}) - - [stop]({{< relref "./docs/Container/stop.md" >}}) - - [top]({{< relref "./docs/Container/top.md" >}}) - - [update]({{< relref "./docs/Container/update.md" >}}) - - [wait]({{< relref "./docs/Container/wait.md" >}}) - - - [Image Management]({{< relref "./docs/Container/image-management-43.md" >}}) - - [build]({{< relref "./docs/Container/build.md" >}}) - - [history]({{< relref "./docs/Container/history.md" >}}) - - [images]({{< relref "./docs/Container/images.md" >}}) - - [import]({{< relref "./docs/Container/import.md" >}}) - - [load]({{< relref "./docs/Container/load.md" >}}) - - [login]({{< relref "./docs/Container/login.md" >}}) - - [logout]({{< relref "./docs/Container/logout.md" >}}) - - [pull]({{< relref "./docs/Container/pull.md" >}}) - - [push]({{< relref "./docs/Container/push.md" >}}) - - [rmi]({{< relref "./docs/Container/rmi.md" >}}) - - [save]({{< relref "./docs/Container/save.md" >}}) - - [search]({{< relref "./docs/Container/search.md" >}}) - - [tag]({{< relref "./docs/Container/tag.md" >}}) - - - [Statistics]({{< relref "./docs/Container/statistics.md" >}}) - - [events]({{< relref "./docs/Container/events.md" >}}) - - [info]({{< relref "./docs/Container/info.md" >}}) - - [version]({{< relref "./docs/Container/version.md" >}}) - - - - - \ No newline at end of file diff --git a/content/en/docs/Installation/en-us_bookmap_0214071143.md b/content/en/docs/Installation/en-us_bookmap_0214071143.md deleted file mode 100644 index a9905aacc..000000000 --- a/content/en/docs/Installation/en-us_bookmap_0214071143.md +++ /dev/null @@ -1,57 +0,0 @@ -# Installation Guide - -- [Terms of Use](terms-of-use.md) -- [Preface](preface.md) -- [Installation Preparations](installation-preparations.md) - - [Obtaining the Installation Source](obtaining-the-installation-source.md) - - [Release Package Integrity Check](release-package-integrity-check.md) - - [Hardware Compatibility](hardware-compatibility.md) - - [Minimal Hardware Specifications](minimal-hardware-specifications.md) - -- [Installation Mode](installation-mode.md) - - [Installation Through the CD/DVD-ROM](installation-through-the-cd-dvd-rom.md) - -- [Installation Guideline](installation-guideline.md) - - [Starting the Installation](starting-the-installation.md) - - [Using GUI Mode for Installation](using-gui-mode-for-installation.md) - - [Configuring an Installation Program Language](configuring-an-installation-program-language.md) - - [Entering the Installation Interface](entering-the-installation-interface.md) - - [Setting Installation Parameters](setting-installation-parameters.md) - - [Setting the Keyboard Layout](setting-the-keyboard-layout.md) - - [Setting a System Language](setting-a-system-language.md) - - [Setting Date and Time](setting-date-and-time.md) - - [Setting the Installation Source](setting-the-installation-source.md) - - [Selecting Installation Software](selecting-installation-software.md) - - [Setting the Installation Destination](setting-the-installation-destination.md) - - [Setting the Network and Host Name](setting-the-network-and-host-name.md) - - - [Starting Installation](starting-installation.md) - - [Configurations During Installation](configurations-during-installation.md) - - [Completing the Installation](completing-the-installation.md) - - - [Using Text Mode for Installation](using-text-mode-for-installation.md) - - [Entering the Installation Interface](entering-the-installation-interface-0.md) - - [Setting Installation Parameters](setting-installation-parameters-1.md) - - [Configuring the System Language](configuring-the-system-language.md) - - [Configuring the Time Zone and NTP Service](configuring-the-time-zone-and-ntp-service.md) - - [Configuring the Installation Source](configuring-the-installation-source.md) - - [Selecting Installation Software](selecting-installation-software-2.md) - - [Configuring the Installation Location](configuring-the-installation-location.md) - - [Configuring the Network](configuring-the-network.md) - - [Setting the root User Password](setting-the-root-user-password.md) - - [Creating a User](creating-a-user.md) - - - [Completing the Installation](completing-the-installation-3.md) - - -- [FAQs](faqs.md) - - [Why Does openEuler Fail to Start After I Install It to the Second Disk?](why-does-openeuler-fail-to-start-after-i-install-it-to-the-second-disk.md) - - [What Are the Constraints on Network Configurations?](what-are-the-constraints-on-network-configurations.md) - - [Why Does openEuler Enter Emergency Mode After It Is Powered On?](why-does-openeuler-enter-emergency-mode-after-it-is-powered-on.md) - - [Failed to Reinstall openEuler When a Logical Volume Group That Cannot Be Activated Has Existed in openEuler](failed-to-reinstall-openeuler-when-a-logical-volume-group-that-cannot-be-activated-has-existed-in-op.md) - - [An Exception Occurs During the Selection of the Installation Source](an-exception-occurs-during-the-selection-of-the-installation-source.md) - - [Software Dependency](software-dependency.md) - - - [How Do I Manually Enable the kdump Service?](how-do-i-manually-enable-the-kdump-service.md) - - diff --git a/content/en/docs/SecHarden/en-us_bookmap_0192073180.md b/content/en/docs/SecHarden/en-us_bookmap_0192073180.md deleted file mode 100644 index 5f30521f3..000000000 --- a/content/en/docs/SecHarden/en-us_bookmap_0192073180.md +++ /dev/null @@ -1,57 +0,0 @@ - # Security Hardening Guide -- [Security Hardening Guide]({{< relref "./docs/SecHarden/secHarden.md" >}}) - - [Terms of Use]({{< relref "./docs/SecHarden/terms-of-use.md" >}}) - - [Preface]({{< relref "./docs/SecHarden/preface.md" >}}) - - [OS Hardening Overview]({{< relref "./docs/SecHarden/os-hardening-overview.md" >}}) - - [Security Hardening Purpose]({{< relref "./docs/SecHarden/security-hardening-purpose.md" >}}) - - [Security Hardening Solution]({{< relref "./docs/SecHarden/security-hardening-solution.md" >}}) - - [Security Hardening Impacts]({{< relref "./docs/SecHarden/security-hardening-impacts.md" >}}) - - - [Security Hardening Guide]({{< relref "./docs/SecHarden/security-hardening-guide.md" >}}) - - [System Services]({{< relref "./docs/SecHarden/system-services.md" >}}) - - [Hardening the SSH Service]({{< relref "./docs/SecHarden/hardening-the-ssh-service.md" >}}) - - - [File Permissions]({{< relref "./docs/SecHarden/file-permissions.md" >}}) - - [Setting the Permissions on and Ownership of Files]({{< relref "./docs/SecHarden/setting-the-permissions-on-and-ownership-of-files.md" >}}) - - [Deleting Unowned Files]({{< relref "./docs/SecHarden/deleting-unowned-files.md" >}}) - - [Removing a Symbolic Link to /dev/null]({{< relref "./docs/SecHarden/removing-a-symbolic-link-to-dev-null.md" >}}) - - [Setting the umask Value for a Daemon]({{< relref "./docs/SecHarden/setting-the-umask-value-for-a-daemon.md" >}}) - - [Adding a Sticky Bit Attribute to Globally Writable Directories]({{< relref "./docs/SecHarden/adding-a-sticky-bit-attribute-to-globally-writable-directories.md" >}}) - - [Disabling the Globally Writable Permission on Unauthorized Files]({{< relref "./docs/SecHarden/disabling-the-globally-writable-permission-on-unauthorized-files.md" >}}) - - [Restricting Permissions on the at Command]({{< relref "./docs/SecHarden/restricting-permissions-on-the-at-command.md" >}}) - - [Restricting Permissions on the cron Command]({{< relref "./docs/SecHarden/restricting-permissions-on-the-cron-command.md" >}}) - - [Restricting Permissions on the sudo Command]({{< relref "./docs/SecHarden/restricting-permissions-on-the-sudo-command.md" >}}) - - - [Kernel Parameters]({{< relref "./docs/SecHarden/kernel-parameters.md" >}}) - - [Hardening the Security of Kernel Parameters]({{< relref "./docs/SecHarden/hardening-the-security-of-kernel-parameters.md" >}}) - - - [Authentication and Authorization]({{< relref "./docs/SecHarden/authentication-and-authorization.md" >}}) - - [Setting a Warning for Remote Network Access]({{< relref "./docs/SecHarden/setting-a-warning-for-remote-network-access.md" >}}) - - [Forestalling Unauthorized System Restart by Holding Down Ctrl, Alt, and Delete]({{< relref "./docs/SecHarden/forestalling-unauthorized-system-restart-by-holding-down-ctrl-alt-and-delete.md" >}}) - - [Setting an Automatic Exit Interval for Shell]({{< relref "./docs/SecHarden/setting-an-automatic-exit-interval-for-shell.md" >}}) - - [Setting the Default umask Value for Users to 0077]({{< relref "./docs/SecHarden/setting-the-default-umask-value-for-users-to-0077.md" >}}) - - [Setting the GRUB2 Encryption Password]({{< relref "./docs/SecHarden/setting-the-grub2-encryption-password.md" >}}) - - [Setting the Secure Single-user Mode]({{< relref "./docs/SecHarden/setting-the-secure-single-user-mode.md" >}}) - - [Disabling Interactive Startup]({{< relref "./docs/SecHarden/disabling-interactive-startup.md" >}}) - - - [Account Passwords]({{< relref "./docs/SecHarden/account-passwords.md" >}}) - - [Shielding System Accounts]({{< relref "./docs/SecHarden/shielding-system-accounts.md" >}}) - - [Restricting Permissions on the su Command]({{< relref "./docs/SecHarden/restricting-permissions-on-the-su-command.md" >}}) - - [Setting Password Complexity]({{< relref "./docs/SecHarden/setting-password-complexity.md" >}}) - - [Setting the Password Validity Period]({{< relref "./docs/SecHarden/setting-the-password-validity-period.md" >}}) - - [Setting Password Encryption Algorithms]({{< relref "./docs/SecHarden/setting-password-encryption-algorithms.md" >}}) - - [Locking an Account After Three Login Failures]({{< relref "./docs/SecHarden/locking-an-account-after-three-login-failures.md" >}}) - - [Hardening the su Command]({{< relref "./docs/SecHarden/hardening-the-su-command.md" >}}) - - - - [Security Hardening Tools]({{< relref "./docs/SecHarden/security-hardening-tools.md" >}}) - - [Security Hardening Procedure]({{< relref "./docs/SecHarden/security-hardening-procedure.md" >}}) - - [Hardening Items Taking Effect]({{< relref "./docs/SecHarden/hardening-items-taking-effect.md" >}}) - - - [SELinux Configuration]({{< relref "./docs/SecHarden/selinux-configuration.md" >}}) - - [Appendix]({{< relref "./docs/SecHarden/appendix.md" >}}) - - [Permissions on Files and Directories]({{< relref "./docs/SecHarden/permissions-on-files-and-directories.md" >}}) - - [umask Values]({{< relref "./docs/SecHarden/umask-values.md" >}}) - - - \ No newline at end of file diff --git a/content/en/menu/index.md b/content/en/menu/index.md index eb2c7f5ca..c4ea5098e 100644 --- a/content/en/menu/index.md +++ b/content/en/menu/index.md @@ -1,61 +1,6 @@ --- headless: true --- -- [Installation Guide]({{< relref "/docs/Installation/Installation.md" >}}) - - [Terms of Use]({{< relref "/docs/Installation/terms-of-use.md" >}}) - - [Preface]({{< relref "/docs/Installation/preface.md" >}}) - - [Installation Preparations]({{< relref "/docs/Installation/installation-preparations.md" >}}) - - [Obtaining the Installation Source]({{< relref "/docs/Installation/obtaining-the-installation-source.md" >}}) - - [Release Package Integrity Check]({{< relref "/docs/Installation/release-package-integrity-check.md" >}}) - - [Hardware Compatibility]({{< relref "/docs/Installation/hardware-compatibility.md" >}}) - - [Minimal Hardware Specifications]({{< relref "/docs/Installation/minimal-hardware-specifications.md" >}}) - - - [Installation Mode]({{< relref "/docs/Installation/installation-mode.md" >}}) - - [Installation Through the CD/DVD-ROM]({{< relref "/docs/Installation/installation-through-the-cd-dvd-rom.md" >}}) - - - [Installation Guideline]({{< relref "/docs/Installation/installation-guideline.md" >}}) - - [Starting the Installation]({{< relref "/docs/Installation/starting-the-installation.md" >}}) - - [Using GUI Mode for Installation]({{< relref "/docs/Installation/using-gui-mode-for-installation.md" >}}) - - [Configuring an Installation Program Language]({{< relref "/docs/Installation/configuring-an-installation-program-language.md" >}}) - - [Entering the Installation Interface]({{< relref "/docs/Installation/entering-the-installation-interface.md" >}}) - - [Setting Installation Parameters]({{< relref "/docs/Installation/setting-installation-parameters.md" >}}) - - [Setting the Keyboard Layout]({{< relref "/docs/Installation/setting-the-keyboard-layout.md" >}}) - - [Setting a System Language]({{< relref "/docs/Installation/setting-a-system-language.md" >}}) - - [Setting Date and Time]({{< relref "/docs/Installation/setting-date-and-time.md" >}}) - - [Setting the Installation Source]({{< relref "/docs/Installation/setting-the-installation-source.md" >}}) - - [Selecting Installation Software]({{< relref "/docs/Installation/selecting-installation-software.md" >}}) - - [Setting the Installation Destination]({{< relref "/docs/Installation/setting-the-installation-destination.md" >}}) - - [Setting the Network and Host Name]({{< relref "/docs/Installation/setting-the-network-and-host-name.md" >}}) - - - [Starting Installation]({{< relref "/docs/Installation/starting-installation.md" >}}) - - [Configurations During Installation]({{< relref "/docs/Installation/configurations-during-installation.md" >}}) - - [Completing the Installation]({{< relref "/docs/Installation/completing-the-installation.md" >}}) - - - [Using Text Mode for Installation]({{< relref "/docs/Installation/using-text-mode-for-installation.md" >}}) - - [Entering the Installation Interface]({{< relref "/docs/Installation/entering-the-installation-interface-0.md" >}}) - - [Setting Installation Parameters]({{< relref "/docs/Installation/setting-installation-parameters-1.md" >}}) - - [Configuring the System Language]({{< relref "/docs/Installation/configuring-the-system-language.md" >}}) - - [Configuring the Time Zone and NTP Service]({{< relref "/docs/Installation/configuring-the-time-zone-and-ntp-service.md" >}}) - - [Configuring the Installation Source]({{< relref "/docs/Installation/configuring-the-installation-source.md" >}}) - - [Selecting Installation Software]({{< relref "/docs/Installation/selecting-installation-software-2.md" >}}) - - [Configuring the Installation Location]({{< relref "/docs/Installation/configuring-the-installation-location.md" >}}) - - [Configuring the Network]({{< relref "/docs/Installation/configuring-the-network.md" >}}) - - [Setting the root User Password]({{< relref "/docs/Installation/setting-the-root-user-password.md" >}}) - - [Creating a User]({{< relref "/docs/Installation/creating-a-user.md" >}}) - - - [Completing the Installation]({{< relref "/docs/Installation/completing-the-installation-3.md" >}}) - - - - [FAQs]({{< relref "/docs/Installation/faqs.md" >}}) - - [Why Does openEuler Fail to Start After I Install It to the Second Disk?]({{< relref "/docs/Installation/why-does-openeuler-fail-to-start-after-i-install-it-to-the-second-disk.md" >}}) - - [What Are the Constraints on Network Configurations?]({{< relref "/docs/Installation/what-are-the-constraints-on-network-configurations.md" >}}) - - [Why Does openEuler Enter Emergency Mode After It Is Powered On?]({{< relref "/docs/Installation/why-does-openeuler-enter-emergency-mode-after-it-is-powered-on.md" >}}) - - [Failed to Reinstall openEuler When a Logical Volume Group That Cannot Be Activated Has Existed in openEuler]({{< relref "/docs/Installation/failed-to-reinstall-openeuler-when-a-logical-volume-group-that-cannot-be-activated-has-existed-in-op.md" >}}) - - [An Exception Occurs During the Selection of the Installation Source]({{< relref "/docs/Installation/an-exception-occurs-during-the-selection-of-the-installation-source.md" >}}) - - [Software Dependency]({{< relref "/docs/Installation/software-dependency.md" >}}) - - - [How Do I Manually Enable the kdump Service?]({{< relref "/docs/Installation/how-do-i-manually-enable-the-kdump-service.md" >}}) - - [Security Hardening Guide]({{< relref "./docs/SecHarden/secHarden.md" >}}) - [Terms of Use]({{< relref "./docs/SecHarden/terms-of-use.md" >}}) @@ -421,63 +366,63 @@ headless: true - [version]({{< relref "./docs/Container/version.md" >}}) - [A-Tune User Guide]({{< relref "./docs/A-Tune/A-Tune.md" >}}) - - [Legal Statement]({{< relref "./docs/A-Tune/legal-statement" >}}) - - [Preface]({{< relref "./docs/A-Tune/preface" >}}) - - [Getting to Know A-Tune]({{< relref "./docs/A-Tune/getting-to-know-a-tune" >}}) - - [Introduction]({{< relref "./docs/A-Tune/introduction" >}}) - - [Architecture]({{< relref "./docs/A-Tune/architecture" >}}) - - [Supported Features and Service Models]({{< relref "./docs/A-Tune/supported-features-and-service-models" >}}) + - [Legal Statement]({{< relref "./docs/A-Tune/legal-statement.md" >}}) + - [Preface]({{< relref "./docs/A-Tune/preface.md" >}}) + - [Getting to Know A-Tune]({{< relref "./docs/A-Tune/getting-to-know-a-tune.md" >}}) + - [Introduction]({{< relref "./docs/A-Tune/introduction.md" >}}) + - [Architecture]({{< relref "./docs/A-Tune/architecture.md" >}}) + - [Supported Features and Service Models]({{< relref "./docs/A-Tune/supported-features-and-service-models.md" >}}) - - [Installation and Deployment]({{< relref "./docs/A-Tune/installation-and-deployment" >}}) - - [Software and Hardware Requirements]({{< relref "./docs/A-Tune/software-and-hardware-requirements" >}}) - - [Environment Preparation]({{< relref "./docs/A-Tune/environment-preparation" >}}) - - [A-Tune Installation]({{< relref "./docs/A-Tune/a-tune-installation" >}}) - - [Installation Modes]({{< relref "./docs/A-Tune/installation-modes" >}}) - - [Installation Procedure]({{< relref "./docs/A-Tune/installation-procedure" >}}) + - [Installation and Deployment]({{< relref "./docs/A-Tune/installation-and-deployment.md" >}}) + - [Software and Hardware Requirements]({{< relref "./docs/A-Tune/software-and-hardware-requirements.md" >}}) + - [Environment Preparation]({{< relref "./docs/A-Tune/environment-preparation.md" >}}) + - [A-Tune Installation]({{< relref "./docs/A-Tune/a-tune-installation.md" >}}) + - [Installation Modes]({{< relref "./docs/A-Tune/installation-modes.md" >}}) + - [Installation Procedure]({{< relref "./docs/A-Tune/installation-procedure.md" >}}) - - [A-Tune Deployment]({{< relref "./docs/A-Tune/a-tune-deployment" >}}) - - [Overview]({{< relref "./docs/A-Tune/overview" >}}) + - [A-Tune Deployment]({{< relref "./docs/A-Tune/a-tune-deployment.md" >}}) + - [Overview]({{< relref "./docs/A-Tune/overview.md" >}}) - - [Starting A-Tune]({{< relref "./docs/A-Tune/starting-a-tune" >}}) + - [Starting A-Tune]({{< relref "./docs/A-Tune/starting-a-tune.md" >}}) - - [Application Scenarios]({{< relref "./docs/A-Tune/application-scenarios" >}}) - - [Overview]({{< relref "./docs/A-Tune/overview-0" >}}) - - [Querying Workload Types]({{< relref "./docs/A-Tune/querying-workload-types" >}}) - - [list]({{< relref "./docs/A-Tune/list" >}}) + - [Application Scenarios]({{< relref "./docs/A-Tune/application-scenarios.md" >}}) + - [Overview]({{< relref "./docs/A-Tune/overview-0.md" >}}) + - [Querying Workload Types]({{< relref "./docs/A-Tune/querying-workload-types.md" >}}) + - [list]({{< relref "./docs/A-Tune/list.md" >}}) - - [Workload Type Analysis and Auto Optimization]({{< relref "./docs/A-Tune/workload-type-analysis-and-auto-optimization" >}}) - - [analysis]({{< relref "./docs/A-Tune/analysis" >}}) + - [Workload Type Analysis and Auto Optimization]({{< relref "./docs/A-Tune/workload-type-analysis-and-auto-optimization.md" >}}) + - [analysis]({{< relref "./docs/A-Tune/analysis.md" >}}) - - [User-defined Model]({{< relref "./docs/A-Tune/user-defined-model" >}}) - - [define]({{< relref "./docs/A-Tune/define" >}}) - - [collection]({{< relref "./docs/A-Tune/collection" >}}) - - [train]({{< relref "./docs/A-Tune/train" >}}) - - [undefine]({{< relref "./docs/A-Tune/undefine" >}}) + - [User-defined Model]({{< relref "./docs/A-Tune/user-defined-model.md" >}}) + - [define]({{< relref "./docs/A-Tune/define.md" >}}) + - [collection]({{< relref "./docs/A-Tune/collection.md" >}}) + - [train]({{< relref "./docs/A-Tune/train.md" >}}) + - [undefine]({{< relref "./docs/A-Tune/undefine.md" >}}) - - [Querying Profiles]({{< relref "./docs/A-Tune/querying-profiles" >}}) - - [info]({{< relref "./docs/A-Tune/info" >}}) + - [Querying Profiles]({{< relref "./docs/A-Tune/querying-profiles.md" >}}) + - [info]({{< relref "./docs/A-Tune/info.md" >}}) - - [Updating a Profile]({{< relref "./docs/A-Tune/updating-a-profile" >}}) - - [update]({{< relref "./docs/A-Tune/update" >}}) + - [Updating a Profile]({{< relref "./docs/A-Tune/updating-a-profile.md" >}}) + - [update]({{< relref "./docs/A-Tune/update.md" >}}) - - [Activating a Profile]({{< relref "./docs/A-Tune/activating-a-profile" >}}) - - [profile]({{< relref "./docs/A-Tune/profile" >}}) + - [Activating a Profile]({{< relref "./docs/A-Tune/activating-a-profile.md" >}}) + - [profile]({{< relref "./docs/A-Tune/profile.md" >}}) - - [Rolling Back Profiles]({{< relref "./docs/A-Tune/rolling-back-profiles" >}}) - - [rollback]({{< relref "./docs/A-Tune/rollback" >}}) + - [Rolling Back Profiles]({{< relref "./docs/A-Tune/rolling-back-profiles.md" >}}) + - [rollback]({{< relref "./docs/A-Tune/rollback.md" >}}) - - [Updating Database]({{< relref "./docs/A-Tune/updating-database" >}}) - - [upgrade]({{< relref "./docs/A-Tune/upgrade" >}}) + - [Updating Database]({{< relref "./docs/A-Tune/updating-database.md" >}}) + - [upgrade]({{< relref "./docs/A-Tune/upgrade.md" >}}) - - [Querying System Information]({{< relref "./docs/A-Tune/querying-system-information" >}}) - - [check]({{< relref "./docs/A-Tune/check" >}}) + - [Querying System Information]({{< relref "./docs/A-Tune/querying-system-information.md" >}}) + - [check]({{< relref "./docs/A-Tune/check.md" >}}) - - [Automatic Parameter Optimization]({{< relref "./docs/A-Tune/automatic-parameter-optimization" >}}) - - [Tuning]({{< relref "./docs/A-Tune/tuning" >}}) + - [Automatic Parameter Optimization]({{< relref "./docs/A-Tune/automatic-parameter-optimization.md" >}}) + - [Tuning]({{< relref "./docs/A-Tune/tuning.md" >}}) - - [FAQs]({{< relref "./docs/A-Tune/faqs" >}}) - - [Appendixes]({{< relref "./docs/A-Tune/appendixes" >}}) - - [Acronyms and Abbreviations]({{< relref "./docs/A-Tune/acronyms-and-abbreviations" >}}) + - [FAQs]({{< relref "./docs/A-Tune/faqs.md" >}}) + - [Appendixes]({{< relref "./docs/A-Tune/appendixes.md" >}}) + - [Acronyms and Abbreviations]({{< relref "./docs/A-Tune/acronyms-and-abbreviations.md" >}}) -- Gitee From fcc8f576ba28fc6f123f745b6eece31b4de6ab93 Mon Sep 17 00:00:00 2001 From: amyMayun Date: Tue, 7 Apr 2020 15:36:22 +0800 Subject: [PATCH 06/12] add the first english version doc of virtualization user guide for openEuler 20.03 LTS --- .../Virtualization/about-this-document.md | 32 +++ ...adjusting-the-vcpu-binding-relationship.md | 57 +++++ content/en/docs/Virtualization/appendix.md | 2 + .../Virtualization/application-scenarios.md | 14 ++ .../en/docs/Virtualization/best-practices.md | 2 + ...ding-the-qemu-process-to-a-physical-cpu.md | 48 ++++ .../docs/Virtualization/bus-configuration.md | 163 ++++++++++++++ ...ions-related-to-the-system-architecture.md | 59 +++++ .../configuring-a-pcie-controller-for-a-vm.md | 57 +++++ .../configuring-a-usb-passthrough-device.md | 91 ++++++++ .../configuring-a-virtual-serial-port.md | 33 +++ .../Virtualization/configuring-guest-numa.md | 36 +++ .../Virtualization/configuring-host-numa.md | 46 ++++ .../configuring-usb-controllers.md | 45 ++++ .../configuring-vnc-tls-login.md | 122 +++++++++++ content/en/docs/Virtualization/cpu-shares.md | 78 +++++++ .../Virtualization/environment-preparation.md | 2 + content/en/docs/Virtualization/example.md | 69 ++++++ .../figures/en-us_image_0218587435.png | Bin 0 -> 2261 bytes .../figures/en-us_image_0218587436.png | Bin 0 -> 1502 bytes .../figures/kvm-architecture.png | Bin 0 -> 47813 bytes .../figures/status-transition-diagram.png | Bin 0 -> 86518 bytes .../figures/virtual-network-structure.png | Bin 0 -> 54598 bytes .../figures/virtualized-architecture.png | Bin 0 -> 27986 bytes .../en/docs/Virtualization/halt-polling.md | 19 ++ .../en/docs/Virtualization/hugepage-memory.md | 59 +++++ .../i-o-thread-configuration.md | 59 +++++ .../docs/Virtualization/installation-guide.md | 4 + .../Virtualization/installation-methods.md | 31 +++ ...stalling-core-virtualization-components.md | 2 + .../en/docs/Virtualization/introduction-0.md | 60 +++++ .../en/docs/Virtualization/introduction-1.md | 6 + .../Virtualization/introduction-to-numa.md | 6 + .../introduction-to-virtualization.md | 90 ++++++++ .../en/docs/Virtualization/introduction.md | 41 ++++ .../kworker-isolation-and-binding.md | 14 ++ .../Virtualization/libvirt-authentication.md | 84 +++++++ .../live-migration-operations.md | 99 +++++++++ .../docs/Virtualization/logging-in-to-a-vm.md | 4 + .../logging-in-using-vnc-passwords.md | 42 ++++ .../Virtualization/management-commands.md | 95 ++++++++ .../managing-device-passthrough.md | 6 + .../docs/Virtualization/managing-devices.md | 1 + .../en/docs/Virtualization/managing-vcpu.md | 2 + .../Virtualization/managing-virtual-disks.md | 48 ++++ .../Virtualization/managing-virtual-memory.md | 1 + .../en/docs/Virtualization/managing-vm-usb.md | 4 + .../en/docs/Virtualization/managing-vms.md | 3 + .../en/docs/Virtualization/managing-vnics.md | 44 ++++ .../minimum-hardware-requirements.md | 10 + .../modify-vm-configurations-online.md | 37 ++++ .../en/docs/Virtualization/network-device.md | 109 ++++++++++ .../other-common-configuration-items.md | 50 +++++ .../Virtualization/other-common-devices.md | 67 ++++++ .../en/docs/Virtualization/pci-passthrough.md | 84 +++++++ .../performance-best-practices.md | 1 + .../precautions-and-restrictions.md | 19 ++ .../Virtualization/preparing-a-vm-image.md | 99 +++++++++ .../Virtualization/preparing-boot-firmware.md | 62 ++++++ .../preparing-the-vm-network.md | 190 ++++++++++++++++ .../public_sys-resources/icon-caution.gif | Bin 0 -> 580 bytes .../public_sys-resources/icon-danger.gif | Bin 0 -> 580 bytes .../public_sys-resources/icon-note.gif | Bin 0 -> 394 bytes .../public_sys-resources/icon-notice.gif | Bin 0 -> 406 bytes .../public_sys-resources/icon-tip.gif | Bin 0 -> 253 bytes .../public_sys-resources/icon-warning.gif | Bin 0 -> 580 bytes content/en/docs/Virtualization/qemu-ga.md | 63 ++++++ .../Virtualization/querying-vm-information.md | 205 ++++++++++++++++++ .../docs/Virtualization/raw-device-mapping.md | 54 +++++ .../Virtualization/security-best-practices.md | 2 + .../docs/Virtualization/sr-iov-passthrough.md | 171 +++++++++++++++ .../en/docs/Virtualization/storage-devices.md | 130 +++++++++++ .../docs/Virtualization/storing-snapshots.md | 41 ++++ .../docs/Virtualization/svirt-protection.md | 61 ++++++ .../system-resource-management.md | 9 + .../terminology-acronyms-and-abbreviations.md | 139 ++++++++++++ .../en/docs/Virtualization/terms-of-use.md | 14 ++ .../user-and-administrator-guide.md | 5 + .../Virtualization/vcpu-and-virtual-memory.md | 38 ++++ .../verifying-the-installation.md | 93 ++++++++ .../virtual-device-configuration.md | 4 + .../en/docs/Virtualization/virtualization.md | 1 + .../docs/Virtualization/vm-configuration.md | 2 + .../en/docs/Virtualization/vm-description.md | 28 +++ .../en/docs/Virtualization/vm-life-cycle.md | 2 + .../docs/Virtualization/vm-live-migration.md | 2 + .../xml-configuration-file-example.md | 140 ++++++++++++ content/en/menu/index.md | 98 +++++++++ 88 files changed, 3810 insertions(+) create mode 100644 content/en/docs/Virtualization/about-this-document.md create mode 100644 content/en/docs/Virtualization/adjusting-the-vcpu-binding-relationship.md create mode 100644 content/en/docs/Virtualization/appendix.md create mode 100644 content/en/docs/Virtualization/application-scenarios.md create mode 100644 content/en/docs/Virtualization/best-practices.md create mode 100644 content/en/docs/Virtualization/binding-the-qemu-process-to-a-physical-cpu.md create mode 100644 content/en/docs/Virtualization/bus-configuration.md create mode 100644 content/en/docs/Virtualization/configurations-related-to-the-system-architecture.md create mode 100644 content/en/docs/Virtualization/configuring-a-pcie-controller-for-a-vm.md create mode 100644 content/en/docs/Virtualization/configuring-a-usb-passthrough-device.md create mode 100644 content/en/docs/Virtualization/configuring-a-virtual-serial-port.md create mode 100644 content/en/docs/Virtualization/configuring-guest-numa.md create mode 100644 content/en/docs/Virtualization/configuring-host-numa.md create mode 100644 content/en/docs/Virtualization/configuring-usb-controllers.md create mode 100644 content/en/docs/Virtualization/configuring-vnc-tls-login.md create mode 100644 content/en/docs/Virtualization/cpu-shares.md create mode 100644 content/en/docs/Virtualization/environment-preparation.md create mode 100644 content/en/docs/Virtualization/example.md create mode 100644 content/en/docs/Virtualization/figures/en-us_image_0218587435.png create mode 100644 content/en/docs/Virtualization/figures/en-us_image_0218587436.png create mode 100644 content/en/docs/Virtualization/figures/kvm-architecture.png create mode 100644 content/en/docs/Virtualization/figures/status-transition-diagram.png create mode 100644 content/en/docs/Virtualization/figures/virtual-network-structure.png create mode 100644 content/en/docs/Virtualization/figures/virtualized-architecture.png create mode 100644 content/en/docs/Virtualization/halt-polling.md create mode 100644 content/en/docs/Virtualization/hugepage-memory.md create mode 100644 content/en/docs/Virtualization/i-o-thread-configuration.md create mode 100644 content/en/docs/Virtualization/installation-guide.md create mode 100644 content/en/docs/Virtualization/installation-methods.md create mode 100644 content/en/docs/Virtualization/installing-core-virtualization-components.md create mode 100644 content/en/docs/Virtualization/introduction-0.md create mode 100644 content/en/docs/Virtualization/introduction-1.md create mode 100644 content/en/docs/Virtualization/introduction-to-numa.md create mode 100644 content/en/docs/Virtualization/introduction-to-virtualization.md create mode 100644 content/en/docs/Virtualization/introduction.md create mode 100644 content/en/docs/Virtualization/kworker-isolation-and-binding.md create mode 100644 content/en/docs/Virtualization/libvirt-authentication.md create mode 100644 content/en/docs/Virtualization/live-migration-operations.md create mode 100644 content/en/docs/Virtualization/logging-in-to-a-vm.md create mode 100644 content/en/docs/Virtualization/logging-in-using-vnc-passwords.md create mode 100644 content/en/docs/Virtualization/management-commands.md create mode 100644 content/en/docs/Virtualization/managing-device-passthrough.md create mode 100644 content/en/docs/Virtualization/managing-devices.md create mode 100644 content/en/docs/Virtualization/managing-vcpu.md create mode 100644 content/en/docs/Virtualization/managing-virtual-disks.md create mode 100644 content/en/docs/Virtualization/managing-virtual-memory.md create mode 100644 content/en/docs/Virtualization/managing-vm-usb.md create mode 100644 content/en/docs/Virtualization/managing-vms.md create mode 100644 content/en/docs/Virtualization/managing-vnics.md create mode 100644 content/en/docs/Virtualization/minimum-hardware-requirements.md create mode 100644 content/en/docs/Virtualization/modify-vm-configurations-online.md create mode 100644 content/en/docs/Virtualization/network-device.md create mode 100644 content/en/docs/Virtualization/other-common-configuration-items.md create mode 100644 content/en/docs/Virtualization/other-common-devices.md create mode 100644 content/en/docs/Virtualization/pci-passthrough.md create mode 100644 content/en/docs/Virtualization/performance-best-practices.md create mode 100644 content/en/docs/Virtualization/precautions-and-restrictions.md create mode 100644 content/en/docs/Virtualization/preparing-a-vm-image.md create mode 100644 content/en/docs/Virtualization/preparing-boot-firmware.md create mode 100644 content/en/docs/Virtualization/preparing-the-vm-network.md create mode 100644 content/en/docs/Virtualization/public_sys-resources/icon-caution.gif create mode 100644 content/en/docs/Virtualization/public_sys-resources/icon-danger.gif create mode 100644 content/en/docs/Virtualization/public_sys-resources/icon-note.gif create mode 100644 content/en/docs/Virtualization/public_sys-resources/icon-notice.gif create mode 100644 content/en/docs/Virtualization/public_sys-resources/icon-tip.gif create mode 100644 content/en/docs/Virtualization/public_sys-resources/icon-warning.gif create mode 100644 content/en/docs/Virtualization/qemu-ga.md create mode 100644 content/en/docs/Virtualization/querying-vm-information.md create mode 100644 content/en/docs/Virtualization/raw-device-mapping.md create mode 100644 content/en/docs/Virtualization/security-best-practices.md create mode 100644 content/en/docs/Virtualization/sr-iov-passthrough.md create mode 100644 content/en/docs/Virtualization/storage-devices.md create mode 100644 content/en/docs/Virtualization/storing-snapshots.md create mode 100644 content/en/docs/Virtualization/svirt-protection.md create mode 100644 content/en/docs/Virtualization/system-resource-management.md create mode 100644 content/en/docs/Virtualization/terminology-acronyms-and-abbreviations.md create mode 100644 content/en/docs/Virtualization/terms-of-use.md create mode 100644 content/en/docs/Virtualization/user-and-administrator-guide.md create mode 100644 content/en/docs/Virtualization/vcpu-and-virtual-memory.md create mode 100644 content/en/docs/Virtualization/verifying-the-installation.md create mode 100644 content/en/docs/Virtualization/virtual-device-configuration.md create mode 100644 content/en/docs/Virtualization/virtualization.md create mode 100644 content/en/docs/Virtualization/vm-configuration.md create mode 100644 content/en/docs/Virtualization/vm-description.md create mode 100644 content/en/docs/Virtualization/vm-life-cycle.md create mode 100644 content/en/docs/Virtualization/vm-live-migration.md create mode 100644 content/en/docs/Virtualization/xml-configuration-file-example.md diff --git a/content/en/docs/Virtualization/about-this-document.md b/content/en/docs/Virtualization/about-this-document.md new file mode 100644 index 000000000..79e11b6db --- /dev/null +++ b/content/en/docs/Virtualization/about-this-document.md @@ -0,0 +1,32 @@ +# About This Document + +## Overview + +This document describes virtualization, installation method and usage of openEuler-based virtualization, and guidance for users and administrators to install and use virtualization. + +## Symbol Conventions + +The symbols that may be found in this document are defined as follows. + + + + + + + + + + + + + +

Symbol

+

Description

+

+

Indicates a potentially hazardous situation which, if not avoided, could result in equipment damage, data loss, performance deterioration, or unanticipated results.

+

NOTICE is used to address practices not related to personal injury.

+

+

Supplements the important information in the main text.

+

NOTE is used to address information not related to personal injury, equipment damage, and environment deterioration.

+
+ diff --git a/content/en/docs/Virtualization/adjusting-the-vcpu-binding-relationship.md b/content/en/docs/Virtualization/adjusting-the-vcpu-binding-relationship.md new file mode 100644 index 000000000..de12b08ab --- /dev/null +++ b/content/en/docs/Virtualization/adjusting-the-vcpu-binding-relationship.md @@ -0,0 +1,57 @@ +# Adjusting the vCPU Binding Relationship + +## Overview + +The vCPU of a VM is bound to a physical CPU. That is, the vCPU is scheduled only on the bound physical CPU to improve VM performance in specific scenarios. For example, in a NUMA system, vCPUs are bound to the same NUMA node to prevent cross-node memory access and VM performance deterioration. If the vCPU is not bound, by default, the vCPU can be scheduled on any physical CPU. The specific binding policy is determined by the user. + +## Procedure + +Run the **virsh vcpupin** command to adjust the binding relationship between vCPUs and physical CPUs. + +- View the vCPU binding information of the VM. + + ``` + # virsh vcpupin openEulerVM + VCPU CPU Affinity + ---------------------- + 0 0-63 + 1 0-63 + 2 0-63 + 3 0-63 + ``` + + This indicates that all vCPUs of VM **openEulerVM** can be scheduled on all physical CPUs of the host. + +- Online adjustment: Run the **vcpu vcpupin** command with the **--live** parameter to modify the vCPU binding relationship of a running VM. + + ``` + # virsh vcpupin openEulerVM --live 0 2-3 + + # virsh vcpupin euler + VCPU CPU Affinity + ---------------------- + 0 2-3 + 1 0-63 + 2 0-63 + 3 0-63 + ``` + + The preceding commands bind vCPU **0** of VM **openEulerVM** to pCPU **2** and pCPU **3**. That is, vCPU **0** is scheduled only on the two physical CPUs. The binding relationship takes effect immediately but becomes invalid after the VM is shut down and restarted. + +- Permanent adjustment: Run the **virsh vcpupin** command with the **--config** parameter to modify the vCPU binding relationship of the VM in the libvirt internal configuration. + + ``` + # virsh vcpupin openEulerVM --config 0 0-3,^1 + + # virsh vcpupin openEulerVM + VCPU CPU Affinity + ---------------------- + 0 0,2-3 + 1 0-63 + 2 0-63 + 3 0-63 + ``` + + The preceding commands bind vCPU **0** of VM **openEulerVM** to physical CPUs **0**, **2**, and **3**. That is, vCPU **0** is scheduled only on the three physical CPUs. The modification of the binding relationship does not take effect immediately. Instead, the modification takes effect after the next startup of the VM and takes effect permanently. + + diff --git a/content/en/docs/Virtualization/appendix.md b/content/en/docs/Virtualization/appendix.md new file mode 100644 index 000000000..1fc8de769 --- /dev/null +++ b/content/en/docs/Virtualization/appendix.md @@ -0,0 +1,2 @@ +# Appendix + diff --git a/content/en/docs/Virtualization/application-scenarios.md b/content/en/docs/Virtualization/application-scenarios.md new file mode 100644 index 000000000..5d01cb7e3 --- /dev/null +++ b/content/en/docs/Virtualization/application-scenarios.md @@ -0,0 +1,14 @@ +# Application Scenarios + +Shared and non-shared storage live migration applies to the following scenarios: + +- When a physical machine is faulty or overloaded, you can migrate the running VM to another physical machine to prevent service interruption and ensure normal service running. +- When most physical machines are underloaded, migrate and integrate VMs to reduce the number of physical machines and improve resource utilization. +- When the hardware of a physical server becomes a bottleneck, such as the CPU, memory, and hard disk, replace the hardware with better performance or add devices. However, you cannot stop the VM or stop services. +- Server software upgrade, such as virtualization platform upgrade, allows the VM to be live migrated from the old virtualization platform to the new one. + +Non-shared storage live migration can also be used in the following scenarios: + +- If a physical machine is faulty and the storage space is insufficient, migrate the running VM to another physical machine to prevent service interruption and ensure normal service running. +- When the storage device of the physical machine is aged, the performance cannot support the current service data processing and becomes the bottleneck of the system performance. In this case, a storage device with higher performance needs to be used, but the VM cannot be shut down or stopped. The running VM needs to be migrated to a physical machine with better performance. + diff --git a/content/en/docs/Virtualization/best-practices.md b/content/en/docs/Virtualization/best-practices.md new file mode 100644 index 000000000..6e5863bd7 --- /dev/null +++ b/content/en/docs/Virtualization/best-practices.md @@ -0,0 +1,2 @@ +# Best Practices + diff --git a/content/en/docs/Virtualization/binding-the-qemu-process-to-a-physical-cpu.md b/content/en/docs/Virtualization/binding-the-qemu-process-to-a-physical-cpu.md new file mode 100644 index 000000000..317369f5d --- /dev/null +++ b/content/en/docs/Virtualization/binding-the-qemu-process-to-a-physical-cpu.md @@ -0,0 +1,48 @@ +# Binding the QEMU Process to a Physical CPU + +## Overview + +You can bind the QEMU main process to a specific physical CPU range, ensuring that VMs running different services do not interfere with adjacent VMs. For example, in a typical cloud computing scenario, multiple VMs run on one physical machine, and they carry diversified services, causing different degrees of resource occupation. To avoid interference of a VM with dense-storage I/O to an adjacent VM, storage processes that process I/O of different VMs need to be completely isolated. The QEMU main process handles frontend and backend services. Therefore, isolation needs to be implemented. + +## Procedure + +Run the **virsh emulatorpin** command to bind the QEMU main process to a physical CPU. + +- Check the range of the physical CPU bound to the QEMU process: + + ``` + # virsh emulatorpin openEulerVM + emulator: CPU Affinity + ---------------------------------- + *: 0-63 + ``` + + This indicates that the QEMU main process corresponding to VM **openEulerVM** can be scheduled on all physical CPUs of the host. + +- Online binding: Run the **vcpu emulatorpin** command with the **--live** parameter to modify the binding relationship between the QEMU process and the running VM. + + ``` + # virsh emulatorpin openEulerVM --live 2-3 + + # virsh emulatorpin openEulerVM + emulator: CPU Affinity + ---------------------------------- + *: 2-3 + ``` + + The preceding commands bind the QEMU process corresponding to VM **openEulerVM** to physical CPUs **2** and **3**. That is, the QEMU process is scheduled only on the two physical CPUs. The binding relationship takes effect immediately but becomes invalid after the VM is shut down and restarted. + +- Permanent binding: Run the **virsh emulatorpin** command with the **--config** parameter to modify the binding relationship between the VM and the QEMU process in the libvirt internal configuration. + + ``` + # virsh emulatorpin openEulerVM --config 0-3,^1 + + # virsh emulatorpin euler + emulator: CPU Affinity + ---------------------------------- + *: 0,2-3 + ``` + + The preceding commands bind the QEMU process corresponding to VM **openEulerVM** to physical CPUs **0**, **2** and **3**. That is, the QEMU process is scheduled only on the three physical CPUs. The modification of the binding relationship does not take effect immediately. Instead, the modification takes effect after the next startup of the VM and takes effect permanently. + + diff --git a/content/en/docs/Virtualization/bus-configuration.md b/content/en/docs/Virtualization/bus-configuration.md new file mode 100644 index 000000000..e830c022d --- /dev/null +++ b/content/en/docs/Virtualization/bus-configuration.md @@ -0,0 +1,163 @@ +# Bus Configuration + +## Overview + +The bus is a channel for information communication between components of a computer. An external device needs to be mounted to a corresponding bus, and each device is assigned a unique address \(specified by the subelement **address**\). Information exchange with another device or a central processing unit \(CPU\) is completed through the bus network. Common device buses include the ISA bus, PCI bus, USB bus, SCSI bus, and PCIe bus. + +The PCIe bus is a typical tree structure and has good scalability. The buses are associated with each other by using a controller. The following uses the PCIe bus as an example to describe how to configure a bus topology for a VM. + +>![](public_sys-resources/icon-note.gif) **NOTE:** +>The bus configuration is complex. If the device topology does not need to be precisely controlled, the default bus configuration automatically generated by libvirt can be used. + +## Elements + +In the XML configuration of libvirt, each controller element \(**controller**\) represents a bus, and one or more controllers or devices can be mounted to one controller depending on the VM architecture. This topic describes common attributes and subelements. + +**controller**: controller element, which indicates a bus. + +- Attribute **type**: bus type, which is mandatory for the controller. The common values are **pci**, **usb**, **scsi**, **virtio-serial**, **fdc**, and **ccid**. +- Attribute **index**: bus number of the controller \(the number starts from 0\), which is mandatory for the controller. This attribute can be used in the **address** element. +- Attribute **model**: specific model of the controller, which is mandatory for the controller. The available values are related to the value of **type**. For details about the mapping and description, see [Table 1](#table191911761111). +- Subelement **address**: mount location of a device or controller on the bus network. + - Attribute **type**: device address type. The common values are **pci**, **usb**, or **drive**. The attribute varies according to the **type** of the **address**. For details about the common **type** attribute value and the corresponding **address** attribute, see [Table 2](#table1200165711314). + +- Subelement **model**: name of a controller model. + - Attribute **name**: name of a controller model, which corresponds to the **model** attribute in the parent element controller. + + +**Table 1** Mapping between the common values of **type** and **model** for the controller. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Value of Type

+

Value of Model

+

Introduction

+

pci

+

pcie-root

+

PCIe root node, which can be used to mount PCIe devices or controllers.

+

pcie-root-port

+

Only one slot can be used to mount a PCIe device or controller.

+

pcie-to-pci-bridge

+

PCIe-to-PCI bridge controller, which can be used to mount PCI devices.

+

usb

+

ehci

+

USB 2.0 controller, which can be used to mount USB 2.0 devices.

+

nec-xhci

+

USB 3.0 controller, which can be used to mount USB 3.0 devices.

+

scsi

+

virtio-scsi

+

VirtIO SCSI controller, which can be used to mount block devices, such as disks and CD-ROMs.

+

virtio-serial

+

virtio-serial

+

VirtIO serial port controller, which can be used to mount serial port devices, such as a pty serial port.

+
+ +**Table 2** Attributes of the **address** element in different devices. + + + + + + + + + + + + + + + + + + + + +

Value of Type

+

Description

+

Address

+

pci

+

The address type is PCI address, indicating the mount location of the device on the PCI bus network.

+

domain: domain ID of the PCI device.

+

bus: bus number of the PCI device.

+

slot: device number of the PCI device.

+

function: function number of the PCI device.

+

multifunction: (optional) specifies whether to enable the multifunction function.

+

usb

+

The address type is USB address, indicating the location of the device on the USB bus.

+

bus: bus number of the USB device.

+

port: port number of the USB device.

+

drive

+

The address type is storage device address, indicating the owning disk controller and its position on the bus.

+

controller: the number of the owning controller.

+

bus: channel number of the device output.

+

target: target number of the storage device.

+

unit: lun number of the storage device.

+
+ +## Configuration Example + +This example shows the topology of a PCIe bus. Three PCIe-Root-Port controllers are mounted to the PCIe root node \(BUS 0\). The multifunction function is enabled for the first PCIe-Root-Port controller \(BUS 1\). A PCIe-to-PCI-bridge controller is mounted to the first PCIe-Root-Port controller to form a PCI bus \(BUS 3\). A virtio-serial device and a USB 2.0 controller are mounted to the PCI bus. A SCSI controller is mounted to the second PCIe-Root-Port controller \(BUS 2\). No device is mounted to the third PCIe-Root-Port controller \(BUS 0\). The configuration details are as follows: + +``` + + ... + + + +

+ + +
+ + + +
+ + +
+ + +
+ + +
+ + +
+ + ... + + +``` + diff --git a/content/en/docs/Virtualization/configurations-related-to-the-system-architecture.md b/content/en/docs/Virtualization/configurations-related-to-the-system-architecture.md new file mode 100644 index 000000000..d3ef7590e --- /dev/null +++ b/content/en/docs/Virtualization/configurations-related-to-the-system-architecture.md @@ -0,0 +1,59 @@ +# Configurations Related to the System Architecture + +## Overview + +The XML configuration file contain configurations related to the system architecture, which cover the mainboard, CPU, and some features related to the architecture. This section describes meanings of these configurations. + +## Elements + +- **os**: defines VM startup parameters. + + Subelement **type**: specifies the VM type. The attribute **arch** indicates the architecture type, for example, AArch64. The attribute **machine** indicates the type of VM chipset. Supported chipset type can be queried by running the **qemu-kvm -machine ?** command. For example, the AArch64 architecture supports the **virt** type. + + Subelement **loader**: specifies the firmware to be loaded, for example, the UEFI file provided by the EDK. The **readonly** attribute indicates whether the file is read-only. The value can be **yes** or **no**. The **type** attribute indicates the **loader** type. The common values are **rom** and **pflash**. + + Subelement **nvram**: specifies the path of the **nvram** file, which is used to store the UEFI startup configuration. + + +- **features**: Hypervisor controls some VM CPU/machine features, such as the advanced configuration and power interface \(ACPI\) and the GICv3 interrupt controller specified by the ARM processor. + +## Example for AArch64 Architecture + +The VM is of the **aarch64** type and uses **virt** chipset. The VM configuration started using UEFI is as follows: + +``` + + ... + + hvm + /usr/share/edk2/aarch64/QEMU_EFI-pflash.raw + /var/lib/libvirt/qemu/nvram/openEulerVM.fd + + ... + +``` + +Configure ACPI and GIC V3 interrupt controller features for the VM. + +``` + + + + +``` + +## Example for x86\_64 Architecture + +The x86\_64 architecture supports both BIOS and UEFI boot modes. If **loader** is not configured, the default BIOS boot mode is used. The following is a configuration example in which the UEFI boot mode and Q35 chipsets are used. + +``` + + ... + + hvm + /usr/share/edk2/ovmf/OVMF.fd + + ... + +``` + diff --git a/content/en/docs/Virtualization/configuring-a-pcie-controller-for-a-vm.md b/content/en/docs/Virtualization/configuring-a-pcie-controller-for-a-vm.md new file mode 100644 index 000000000..5606f672c --- /dev/null +++ b/content/en/docs/Virtualization/configuring-a-pcie-controller-for-a-vm.md @@ -0,0 +1,57 @@ +# Configuring a PCIe Controller for a VM + +## Overview + +Thr NIC, disk controller, and PCIe pass-through devices in a VM must be mounted to a PCIe root port. Each root port corresponds to a PCIe slot. The devices mounted to the root port support hot swap, but the root port does not support hot swap. Therefore, users need to consider the hot swap requirements and plan the maximum number of PCIe root ports reserved for the VM. Before the VM is started, the root port is statically configured. + +## Configuring the PCIe Root, PCIe Root Port, and PCIe-PCI-Bridge + +The VM PCIe controller is configured using the XML file. The **model** corresponding to PCIe root, PCIe root port, and PCIe-PCI-bridge in the XML file are **pcie-root**, **pcie-root-port**, and **pcie-to-pci-bridge**, respectively. + +- Simplified configuration method + + Add the following contents to the XML file of the VM. Other attributes of the controller are automatically filled by libvirt. + + ``` + + + + + + + ``` + + The **pcie-root** and **pcie-to-pci-bridge** occupy one **index** respectively. Therefore, the final **index** is the number of required **root ports + 1**. + +- Complete configuration method + + Add the following contents to the XML file of the VM: + + ``` + + + + +
+ + + +
+ + + + +
+ + + ``` + + In the preceding contents: + + - The **chassis** and **port** attributes of the root port must be in ascending order. Because a PCIe-PCI-bridge is inserted in the middle, the **chassis** number skips **2**, but the **port** numbers are still consecutive. + - The **address function** of the root port ranges from **0\*0** to **0\*7**. + - A maximum of eight functions can be mounted to each slot. When the slot is full, the slot number increases. + + The complete configuration method is complex. Therefore, the simplified one is recommended. + + diff --git a/content/en/docs/Virtualization/configuring-a-usb-passthrough-device.md b/content/en/docs/Virtualization/configuring-a-usb-passthrough-device.md new file mode 100644 index 000000000..8442367ac --- /dev/null +++ b/content/en/docs/Virtualization/configuring-a-usb-passthrough-device.md @@ -0,0 +1,91 @@ +# Configuring a USB Passthrough Device + +## Overview + +After USB controllers are configured for a VM, a physical USB device on the host can be mounted to the VM through device passthrough for the VM to use. In the virtualization scenario, in addition to static configuration, hot swapping the USB device is supported. That is, the USB device can be mounted or unmounted when the VM is running. + +## Precautions + +- A USB device can be assigned to only one VM. +- A VM with a USB passthrough device does not support live migration. +- VM creation fails if no USB passthrough devices exist in the VM configuration file. +- Forcibly hot removing a USB storage device that is performing read or write operation may damage files in the USB storage device. + +## Configuration Description + +The following describes the configuration items of a USB device for a VM. + +Description of the USB device in the XML configuration file: + +``` + + +
+ +
+ +``` + +- **
**: _m_ indicates the USB bus address on the host, and _n_ indicates the device ID. +- **
**: indicates that the USB device is to be mounted to the USB controller specified on the VM. _x_ indicates the controller ID, which corresponds to the index number of the USB controller configured on the VM. _y_ indicates the port address. When configuring a USB passthrough device, you need to set this parameter to ensure that the controller to which the device is mounted is as expected. + +## Configuration Methods + +To configure USB passthrough, perform the following steps: + +1. Configure USB controllers for the VM. For details, see [Configuring USB Controllers](configuring-usb-controllers.md). +2. Query information about the USB device on the host. + + Run the **lsusb** command \(the **usbutils** software package needs to be installed\) to query the USB device information on the host, including the bus address, device address, device vendor ID, device ID, and product description. For example: + + ``` + # lsusb + ``` + + ``` + Bus 008 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub + Bus 007 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub + Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub + Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub + Bus 006 Device 002: ID 0bda:0411 Realtek Semiconductor Corp. + Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub + Bus 005 Device 003: ID 136b:0003 STEC + Bus 005 Device 002: ID 0bda:5411 Realtek Semiconductor Corp. + Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub + Bus 001 Device 003: ID 12d1:0003 Huawei Technologies Co., Ltd. + Bus 001 Device 002: ID 0bda:5411 Realtek Semiconductor Corp. + Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub + Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub + ``` + +3. Prepare the XML description file of the USB device. Before hot removing the device, ensure that the USB device is not in use. Otherwise, data may be lost. +4. Run the hot swapping commands. + + Take a VM whose name is **openEulerVM** as an example. The corresponding configuration file is **usb.xml**. + + - Hot adding of the USB device takes effect only for the current running VM. After the VM is restarted, hot add the USB device again. + + ``` + # virsh attach-device openEulerVM usb.xml --live + ``` + + - Complete persistency configurations for hot adding of the USB device. After the VM is restarted, the USB device is automatically assigned to the VM. + + ``` + # virsh attach-device openEulerVM usb.xml --config + ``` + + - Hot removing of the USB device takes effect only for the current running VM. After the VM is restarted, the USB device with persistency configurations is automatically assigned to the VM. + + ``` + # virsh detach-device openEulerVM usb.xml --live + ``` + + - Complete persistency configurations for hot removing of the USB device. + + ``` + # virsh detach-device openEulerVM usb.xml --config + ``` + + + diff --git a/content/en/docs/Virtualization/configuring-a-virtual-serial-port.md b/content/en/docs/Virtualization/configuring-a-virtual-serial-port.md new file mode 100644 index 000000000..99efe4fdf --- /dev/null +++ b/content/en/docs/Virtualization/configuring-a-virtual-serial-port.md @@ -0,0 +1,33 @@ +# Configuring a Virtual Serial Port + +## Overview + +In a virtualization environment, VMs and host machines need to communicate with each other to meet management and service requirements. However, in the complex network architecture of the cloud management system, services running on the management plane and VMs running on the service plane cannot communicate with each other at layer 3. As a result, service deployment and information collection are not fast enough. Therefore, a virtual serial port is required for communication between VMs and host machines. You can add serial port configuration items to the XML configuration file of a VM to implement communication between VMs and host machines. + +## Procedure + +The Linux VM serial port console is a pseudo terminal device connected to the host machine through the serial port of the VM. It implements interactive operations on the VM through the host machine. In this scenario, the serial port needs to be configured in the pty type. This section describes how to configure a pty serial port. + +- Add the following virtual serial port configuration items under the **devices** node in the XML configuration file of the VM: + + ``` + + + + + + ``` + +- Run the **virsh console** command to connect to the pty serial port of the running VM. + + ``` + # virsh console + ``` + +- To ensure that no serial port message is missed, use the **--console** option to connect to the serial port when starting the VM. + + ``` + # virsh start --console + ``` + + diff --git a/content/en/docs/Virtualization/configuring-guest-numa.md b/content/en/docs/Virtualization/configuring-guest-numa.md new file mode 100644 index 000000000..63684e01b --- /dev/null +++ b/content/en/docs/Virtualization/configuring-guest-numa.md @@ -0,0 +1,36 @@ +# Configuring Guest NUMA + +Many service software running on VMs is optimized for the NUMA architecture, especially for large-scale VMs. openEuler provides the Guest NUMA feature to display the NUMA topology in VMs. You can identify the structure to optimize the performance of service software and ensure better service running. + +When configuring guest NUMA, you can specify the location of vNode memory on the host to implement memory block binding and vCPU binding so that the vCPU and memory on the vNode are on the same physical NUMA node. + +## Procedure + +After Guest NUMA is configured in the VM XML configuration file, you can view the NUMA topology on the VM. **** is mandatory for Guest NUMA. + +``` + + + + + + + + + + + [...] + + + + + + +``` + +>![](public_sys-resources/icon-note.gif) **NOTE:** +>- **** provides the NUMA topology function for VMs. **cell id** indicates the vNode ID, **cpus** indicates the vCPU ID, and **memory** indicates the memory size on the vNode. +>- If you want to use Guest NUMA to provide better performance, configure <**numatune\>** and **** so that the vCPU and memory are distributed on the same physical NUMA node. +> - **cellid** in **** corresponds to **cell id** in ****. **mode** can be set to **strict** \(apply for memory from a specified node strictly. If the memory is insufficient, the application fails.\), **preferred** \(apply for memory from a node first. If the memory is insufficient, apply for memory from another node\), or **interleave** \(apply for memory from a specified node in cross mode\).; **nodeset** indicates the specified physical NUMA node. +> - In ****, you need to bind the vCPU in the same **cell id** to the physical NUMA node that is the same as the **memnode**. + diff --git a/content/en/docs/Virtualization/configuring-host-numa.md b/content/en/docs/Virtualization/configuring-host-numa.md new file mode 100644 index 000000000..6d8ed4ae9 --- /dev/null +++ b/content/en/docs/Virtualization/configuring-host-numa.md @@ -0,0 +1,46 @@ +# Configuring Host NUMA + +To improve VM performance, you can specify NUMA nodes for a VM using the VM XML configuration file before the VM is started so that the VM memory is allocated to the specified NUMA nodes. This feature is usually used together with the vCPU to prevent the vCPU from remotely accessing the memory. + +## Procedure + +- Check the NUMA topology of the host. + + ``` + # numactl -H + available: 4 nodes (0-3) + node 0 cpus: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 + node 0 size: 31571 MB + node 0 free: 17095 MB + node 1 cpus: 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 + node 1 size: 32190 MB + node 1 free: 28057 MB + node 2 cpus: 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 + node 2 size: 32190 MB + node 2 free: 10562 MB + node 3 cpus: 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 + node 3 size: 32188 MB + node 3 free: 272 MB + node distances: + node 0 1 2 3 + 0: 10 15 20 20 + 1: 15 10 20 20 + 2: 20 20 10 15 + 3: 20 20 15 10 + ``` + +- Add the **numatune** field to the VM XML configuration file to create and start the VM. For example, to allocate NUMA node 0 on the host to the VM, configure parameters as follows: + + ``` + + + + ``` + + If the vCPU of the VM is bound to the physical CPU of **node 0**, the performance deterioration caused by the vCPU accessing the remote memory can be avoided. + + >![](public_sys-resources/icon-note.gif) **NOTE:** + >- The sum of memory allocated to the VM cannot exceed the remaining available memory of the NUMA node. Otherwise, the VM may fail to start. + >- You are advised to bind the VM memory and vCPU to the same NUMA node to avoid the performance deterioration caused by vCPU access to the remote memory. For example, bind the vCPU to NUMA node 0 as well. + + diff --git a/content/en/docs/Virtualization/configuring-usb-controllers.md b/content/en/docs/Virtualization/configuring-usb-controllers.md new file mode 100644 index 000000000..1589de760 --- /dev/null +++ b/content/en/docs/Virtualization/configuring-usb-controllers.md @@ -0,0 +1,45 @@ +# Configuring USB Controllers + +## Overview + +A USB controller is a virtual controller that provides specific USB functions for USB devices on VMs. To use USB devices on a VM, you must configure USB controllers for the VM. Currently, openEuler supports the following types of USB controllers: + +- Universal host controller interface \(UHCI\): also called the USB 1.1 host controller specification. +- Enhanced host controller interface \(EHCI\): also called the USB 2.0 host controller specification. +- Extensible host controller interface \(xHCI\): also called the USB 3.0 host controller specification. + +## Precautions + +- The host server must have USB controller hardware and modules that support USB 1.1, USB 2.0, and USB 3.0 specifications. +- You need to configure USB controllers for the VM by following the order of USB 1.1, USB 2.0, and USB 3.0. +- An xHCI controller has eight ports and can be mounted with a maximum of four USB 3.0 devices and four USB 2.0 devices. An EHCI controller has six ports and can be mounted with a maximum of six USB 2.0 devices. A UHCI controller has two ports and can be mounted with a maximum of two USB 1.1 devices. +- On each VM, only one USB controller of the same type can be configured. +- USB controllers cannot be hot swapped. +- If the USB 3.0 driver is not installed on a VM, the xHCI controller may not be identified. For details about how to download and install the USB 3.0 driver, refer to the official description provided by the corresponding OS distributor. +- To ensure the compatibility of the OS, set the bus ID of the USB controller to **0** when configuring a USB tablet for the VM. The tablet is mounted to the USB 1.1 controller by default. + +## Configuration Methods + +The following describes the configuration items of USB controllers for a VM. You are advised to configure USB 1.1, USB 2.0, and USB 3.0 to ensure the VM is compatible with three types of devices. + +The configuration item of the USB 1.1 controller \(UHCI\) in the XML configuration file is as follows: + +``` + + +``` + +The configuration item of the USB 2.0 controller \(EHCI\) in the XML configuration file is as follows: + +``` + + +``` + +The configuration item of the USB 3.0 controller \(xHCI\) in the XML configuration file is as follows: + +``` + + +``` + diff --git a/content/en/docs/Virtualization/configuring-vnc-tls-login.md b/content/en/docs/Virtualization/configuring-vnc-tls-login.md new file mode 100644 index 000000000..6609d49ab --- /dev/null +++ b/content/en/docs/Virtualization/configuring-vnc-tls-login.md @@ -0,0 +1,122 @@ +# Configuring VNC TLS Login + +## Overview + +By default, the VNC server and client transmit data in plaintext. Therefore, the communication content may be intercepted by a third party. To improve security, openEuler allows the VNC server to configure the Transport Layer Security \(TLS\) mode for encryption and authentication. TLS implements encrypted communication between the VNC server and client to prevent communication content from being intercepted by third parties. + +>![](public_sys-resources/icon-note.gif) **NOTE:** +>- To use the TLS encryption authentication mode, the VNC client must support the TLS mode \(for example, TigerVNC\). Otherwise, the VNC client cannot be connected. +>- The TLS encryption authentication mode is configured at the host level. After this feature is enabled, the TLS encryption authentication mode is enabled for the VNC clients of all VMs running on the host. + +## Procedure + +To enable the TLS encryption authentication mode for the VNC, perform the following steps: + +1. Log in to the host where the VNC server resides, and edit the corresponding configuration items in the **/etc/libvirt/qemu.conf** configuration file of the server. The configuration is as follows: + + ``` + vnc_listen = "x.x.x.x" # "x.x.x.x" indicates the listening IP address of the VNC. Set this parameter based on the site requirements. The VNC server allows only the connection requests from clients whose IP addresses are in this range. + vnc_tls = 1 # If this parameter is set to 1, VNC TLS is enabled. + vnc_tls_x509_cert_dir = "/etc/pki/libvirt-vnc" # Specify /etc/pki/libvirt-vnc as the path for storing the certificate. + vnc_tls_x509_verify = 1 #If this parameter is set to 1, the X509 certificate is used for TLS authentication. + ``` + +2. Create a certificate and a private key file for the VNC. The following uses GNU TLS as an example. + + >![](public_sys-resources/icon-note.gif) **NOTE:** + >To use GNU TLS, install the gnu-utils software package in advance. + + 1. Create a certificate file issued by the Certificate Authority \(CA\). + + ``` + # certtool --generate-privkey > ca-key.pem + ``` + + 1. Create a self-signed public and private key for the CA certificate. _Your organization name_ indicates the organization name, which is specified by the user. + + ``` + # cat > ca.info< server.info< server-key.pem + # certtool --generate-certificate \ + --load-ca-certificate ca-cert.pem \ + --load-ca-privkey ca-key.pem \ + --load-privkey server-key.pem \ + --template server.info \ + --outfile server-cert.pem + ``` + + In the preceding generated file, **server-key.pem** is the private key of the VNC server, and **server-cert.pem** is the public key of the VNC server. + + 3. Issue a certificate to the VNC client. + + ``` + # cat > client.info< client-key.pem + # certtool --generate-certificate \ + --load-ca-certificate ca-cert.pem \ + --load-ca-privkey ca-key.pem \ + --load-privkey client-key.pem \ + --template client.info \ + --outfile client-cert.pem + ``` + + In the preceding generated file, **client-key.pem** is the private key of the VNC client, and **client-cert.pem** is the public key of the VNC client. The generated public and private key pairs need to be copied to the VNC client. + +3. Shut down the VM to be logged in to and restart the libvirtd service on the host where the VNC server resides. + + ``` + # systemctl restart libvirtd + ``` + +4. Save the generated server certificate to the specified directory on the VNC server and grant the read and write permissions on the certificate only to the current user. + + ``` + # sudo mkdir -m 750 /etc/pki/libvirt-vnc + # cp ca-cert.pem /etc/pki/libvirt-vnc/ca-cert.pem + # cp server-cert.pem /etc/pki/libvirt-vnc/server-cert.pem + # cp server-key.pem /etc/pki/libvirt-vnc/server-key.pem + # chmod 0600 /etc/pki/libvirt-vnc/* + ``` + +5. Copy the generated client certificates **ca-cert.pem**, **client-cert.pem**, and **client-key.pem** to the VNC client. After the TLS certificate of the VNC client is configured, you can use VNC TLS to log in to the VM. + + >![](public_sys-resources/icon-note.gif) **NOTE:** + >- For details about how to configure the VNC client certificate, see the usage description of each client. + >- For details about how to log in to the VM, see Logging In Using VNC Passwords. + + diff --git a/content/en/docs/Virtualization/cpu-shares.md b/content/en/docs/Virtualization/cpu-shares.md new file mode 100644 index 000000000..d58c217ae --- /dev/null +++ b/content/en/docs/Virtualization/cpu-shares.md @@ -0,0 +1,78 @@ +# CPU Shares + +## Overview + +In a virtualization environment, multiple VMs on the same host compete for physical CPUs. To prevent some VMs from occupying too many physical CPU resources and affecting the performance of other VMs on the same host, you need to balance the vCPU scheduling of VMs to prevent excessive competition for physical CPUs. + +The CPU share indicates the total capability of a VM to compete for physical CPU computing resources. You can set **cpu\_shares** to specify the VM capacity to preempt physical CPU resources. The value of **cpu\_shares** is a relative value without a unit. The CPU computing resources obtained by a VM are the available computing resources of physical CPUs \(excluding reserved CPUs\) allocated to VMs based on the CPU shares. Adjust the CPU shares to ensure the service quality of VM CPU computing resources. + +## Procedure + +Change the value of **cpu\_shares** allocated to the VM to balance the scheduling between vCPUs. + +- Check the current CPU share of the VM. + + ``` + # virsh schedinfo + Scheduler : posix + cpu_shares : 1024 + vcpu_period : 100000 + vcpu_quota : -1 + emulator_period: 100000 + emulator_quota : -1 + global_period : 100000 + global_quota : -1 + iothread_period: 100000 + iothread_quota : -1 + ``` + + +- Online modification: Run the **virsh schedinfo** command with the **--live** parameter to modify the CPU share of a running VM. + + ``` + # virsh schedinfo --live cpu_shares= + ``` + + For example, to change the CPU share of the running _openEulerVM_ from **1024** to **2048**, run the following commands: + + ``` + # virsh schedinfo openEulerVM --live cpu_shares=2048 + Scheduler : posix + cpu_shares : 2048 + vcpu_period : 100000 + vcpu_quota : -1 + emulator_period: 100000 + emulator_quota : -1 + global_period : 100000 + global_quota : -1 + iothread_period: 100000 + iothread_quota : -1 + ``` + + The modification of the **cpu\_shares** value takes effect immediately. The running time of the _openEulerVM_ is twice the original running time. However, the modification will become invalid after the VM is shut down and restarted. + +- Permanent modification: Run the **virsh schedinfo** command with the **--config** parameter to change the CPU share of the VM in the libvirt internal configuration. + + ``` + # virsh schedinfo --config cpu_shares= + ``` + + For example, run the following command to change the CPU share of _openEulerVM_ from **1024** to **2048**: + + ``` + # virsh schedinfo openEulerVM --config cpu_shares=2048 + Scheduler : posix + cpu_shares : 2048 + vcpu_period : 0 + vcpu_quota : 0 + emulator_period: 0 + emulator_quota : 0 + global_period : 0 + global_quota : 0 + iothread_period: 0 + iothread_quota : 0 + ``` + + The modification on **cpu\_shares** does not take effect immediately. Instead, the modification takes effect after the _openEulerVM_ is started next time and takes effect permanently. The running time of the _openEulerVM_ is twice that of the original VM. + + diff --git a/content/en/docs/Virtualization/environment-preparation.md b/content/en/docs/Virtualization/environment-preparation.md new file mode 100644 index 000000000..5bee8796d --- /dev/null +++ b/content/en/docs/Virtualization/environment-preparation.md @@ -0,0 +1,2 @@ +# Environment Preparation + diff --git a/content/en/docs/Virtualization/example.md b/content/en/docs/Virtualization/example.md new file mode 100644 index 000000000..92c336c12 --- /dev/null +++ b/content/en/docs/Virtualization/example.md @@ -0,0 +1,69 @@ +# Example + +This section provides examples of commands related to VM life cycle management. + +- Create a VM. + + The VM XML configuration file is **openEulerVM.xml**. The command and output are as follows: + + ``` + # virsh define openEulerVM.xml + Domain openEulerVM defined from openEulerVM.xml + ``` + + +- Start a VM. + + Run the following command to start the _openEulerVM_: + + ``` + # virsh start openEulerVM + Domain openEulerVM started + ``` + +- Reboot a VM. + + Run the following command to reboot the _openEulerVM_: + + ``` + # virsh reboot openEulerVM + Domain openEulerVM is being rebooted + ``` + +- Shut down a VM. + + Run the following command to shut down the _openEulerVM_: + + ``` + # virsh shutdown openEulerVM + Domain openEulerVM is being shutdown + ``` + +- Destroy a VM. + - If the **nvram** file is not used during the VM startup, run the following command to destroy the VM: + + ``` + # virsh undefine + ``` + + - If the **nvram** file is used during the VM startup, run the following command to specify the **nvram** processing policy when destroying the VM: + + ``` + # virsh undefine + ``` + + _strategy_ indicates the policy for destroying a VM. The values can be: + + --**nvram**: delete the corresponding **nvram** file when destroying a VM. + + --**keep-nvram**: destroy a VM but retain the corresponding **nvram** file. + + For example, to delete the _openEulerVM_ and its **nvram** file, run the following command: + + ``` + # virsh undefine openEulerVM --nvram + Domain openEulerVM has been undefined + ``` + + + diff --git a/content/en/docs/Virtualization/figures/en-us_image_0218587435.png b/content/en/docs/Virtualization/figures/en-us_image_0218587435.png new file mode 100644 index 0000000000000000000000000000000000000000..a6107f2308d194c92ebe75b58e9125819e7fe9eb GIT binary patch literal 2261 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 literal 0 HcmV?d00001 diff --git a/content/en/docs/Virtualization/figures/en-us_image_0218587436.png b/content/en/docs/Virtualization/figures/en-us_image_0218587436.png new file mode 100644 index 0000000000000000000000000000000000000000..28a8d25b19c5a5ed043a8f4701b8f920de365ea2 GIT binary patch literal 1502 zcmV<41tI#0P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D1#?M6K~#8N?V9;h z6K5R8`#_#LrchDi!Y_CGWL;_;#$U~D47t6STUbH8V+J?s zMp1lkK(?OwcGCpfhrF2ftoplgg-Q{O$Gd`uB;@#lF6_!|#Q&jHf%r9 zfRsWzDjSAHzGWW59}oJG@v9vl9XI1pz7h?HOp0J$KU9rPard#AT-|wwZmg`Wh`hACgaz*cD$Rq4%{Jq` z)Ec}ISB=dHCNjesk$klax0@#<<3^^usJ6`^?fPRR z6oe?>?UJ^j8cFkz#OiVAMb=C~!Ygo?#q}Y}mn* z7S95?TKVznVq=tHt_O^~*Kwf`{cpg?hsVLlhReJ$V2C73np`bk$^zanFoDq7k|tlv z0^&FS4Ff|IxVnWIp->w^&_VIXWszSP3{l`qp-!i;1O>wm_XU%Msn$=Broad<7h|$o zkyqJ|zVUf?7GIyYAgjWOq@V5hKDUKBvA~AR@?I2H zjl$40g@bw40GJ;xb>d{16Q>Cv<{ZNyZki`?*E&m`QS$gdfFWYbm0GO`jOay?*_ z9p;=uqzZ=lgJWiVd7&MjpS56Lb_;c^zLjjVyPZ-XT4PQ;K&f>+KWppMKFSF{qtm*>O~fr9VNAsbjBRa?-W_s z_j|((`X_wk>1-87`%{!Zn5I7e=ZK`9dGDD=*qL6Bzgx%s-MB)f3TEo*GFp1(VC|bn z@7NMro%8hXNud_@2~g&}Yw)f7gVE__^0c-@Z6EMR>Y0sgZVJUUx#;i46)IIQTrW=? zj7G)5XjB}GM#aHsR2+;(#ldJ)9E?WA!Dv(*j3x#A3m0#>*P|z7AOHXW07*qoM6N<$ Ef>w>ob^rhX literal 0 HcmV?d00001 diff --git a/content/en/docs/Virtualization/figures/kvm-architecture.png b/content/en/docs/Virtualization/figures/kvm-architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..74cc91f2944b4ed5404edf036b1d71cd84df7e29 GIT binary patch literal 47813 zcmbrlXH=6-+cv7A6d`~LQbG|?5s)H6D4~djUZjaqr3nZLJ#@GQ1V!o6tI|PwZ$SvX zOAUk&ItB=x(8<2IpXbN>uD$p7=UXh+%3N(`&Y3ypJdfj?FRwHdLDyNYU%GS&q^$Hp z`_iQ=Q@}rzlKj%8%h}sB0l_`lrqU{~(arFsM97xKCuCWJHh?`)lkgs()-O#x&4qwP?yOz{J)%*?2~%s*U` z+=@k#@pcNsO8WDCe;nVxP~IcICr@S&d52O{;>sPHr;$PT<*8et0aroNPv5k92W)X* zK_egsRxIu-yPheR6ttke09wdb;k9Yf9GiF}DoSv^H&yHHnAI~zUFo@NuVXYlk|D5Y zmrpux-=1O=W5Q=Uzz&ro=VvDvTQ1$}JYaJr-cpZN>PKl?SHAKz{x0V^b?uj&)N&Kv zOp*5QfbXFvb!JXWCEe#5u_oUwHESKLcVBYV)HJRB1C&Q+gG|Nz>}Q^ywGfQ)yiDYI z?k9gJ)3;#nSGx$X#^_8#&NGwc96cl z@yQywXMK1?w9TBv9CFY8uzk^K$K66f+^f}?6`G&;yZiivYQX@m^!9Dp2%J0q)(jg$ zKOO^naU8^S-Q8OPfAn-M;*<(!sF$W+8ukq4P?Ik=%;S?g_iX=9<9yoIPQi7DMBzEA z6{?73D$<#QKR0JMr}c`^S%>%|ITBv8NMLl&{_`2t=0rt^xQrnybZ&LUsZ|WbGbKQ# z(DeA{jELaphF_(h#GPAF!8|FzpOG7?FL9?rIVNea?MpZ7nM&%`Gp#Pdl5?v+T;uf{ zOYNrHg1Lw#Mtj8?eJA_o8npyVm)2%s%^c+1$DGz%GoK+=5_9S-rPK#O6G*vv zhzl^zxLdKwi#f^gojCXIrJ!`F#z~D6ncYgY)WhmZ-*q!@Go05Mqj#C9Z@y`uTY%_6 zkoc!pnulZuIDQ`f=E%u9EM}~8~03wc2U_j6~s1bvnLkn+m(l1hD0@=(a^#va}N>Bd% zjb9kH==7wPrBe0&eEtI?R%Wci|znd{1QU3ZFZI3@Va(Exhac`R1<$}^Ef|KTTN=MPUNi_yTvPbslDec zWv>^13=FDZOad*pT4Q!z;3k@u7;%W5kKyN4gz*UtY~xWfUCs`6Z`N)w+2@d zAO8iY;&S>%)Wqxi%OQ^>`F%SC#eYR27hXdiuFYdKWPd9+ESvfX#rrG_lk>dZ^~J0I zxWm(!e^`CX9Y6pz8=e$P3SbQ>r#commh(&>Xx*SnujFZzG`(>Tzn$i|p9)W+`;Hg( zFQ10wMZ6q|T8=|G3m0Y2%gkNkxrMtjertbB6$#H(8lnElbZw-1L?NdKzec9iSsusD zq9M^u2jJ0z!dvIR=ewN`TB&}_W5Tr|t_f$B57m4yT2cd^1{+|L+k7$;1KV)^Bpx4T z&Dw)3F$x@lAb{o37?V4MD+6ahuGMN+&%Nf&&z0 zO565|W;70Xo>OFdOx9Sy_P-q>uD;_1OW)JI=uzLsqaupyeRRC0!f+}47T zJ~2{rx@K)L#!r`g%ID;2; zy9F~m%BdfwtzYR$v&V_M?SAZuXM!9adyMLq^MGHd?`sg#bN%i8g=IKhjp~2H>4yn( zxn;gqsCR>9>&WM(O4%CK4wvrJc(FKcwZzE0$EY|QEf4!m?k#o~E5QY%dQQ5@kud~* zrrTw5ll`9V!V@vR#uL^1aV}^2WcOXlv1Fax4FlG9<6{WpUp&v67$By!K_cXvl~(3hm^H!HN{UNL%kYiX@oGF@R@-i~oa zk`hOZ_R`tvFkeHpdAuWbNgsCPw=7S3f|Ro~t2g6kQCS7Yk=Q%Bp9wF$Mh9z9X00*U zzL+8s{QjZC8y`_bxfwe@!oEW1Q6@aqe>SaQEq3HcjpV{p&4W2h7eADPJ~v@~x8h48 zJz%e^wm%>pz2o4SJ~NeigV6M$501*ZUM7>ap5;+417&-lB{w-kiW<3ULYn_-83u}# zn*8*1skfJ6vLL5={QR#c^XXX-Rks0{&#m0Id5_~kr^b2}IOuv=lf7Z}rc-nNsYh$u z=alt@ZRyEl<8yn;1Ivj-XKUgpNlwZdA^vEEYb7SkYrEOyDM3CTTKA-k@aWv1ma@SL z_1>KIv}@pgWekke6q*P(kWqZ_jfE?aoERUjDZ|y!Y~;1wW_@QOrpalE4eGnvU0v=; z@M$PwIzA{T4d36V`zAuaChY9kdENG)Ewg-imu0wxt@fMsok-+`P=n?Zp%{q z=PVW3VP%)Q2$*{<#+XtU+2|7)=EGBzFZ#f{oL}>`r#nQgryrtw63$7Cql(G2*0@&_ z_f|p~N%9?GV2zQP{LiA;wq$yxE<1@NnT;^_^7A+0CtqFXgSsIHPW+8_TE@8r4oF+S z3MGWB^sGNLHU9!buyVL}{)TPw6WR~a-Q?87)V-VKsFi~6SXd>T_;XYa!CoxZ&L2tRZ=^~}ycJWw*^t(;1~MP4Xuf~4+g(bQEDBi;pb zuMA!9M(*&))##jRvWc^k=sJzz*FEJXOG<9wr4M~sgndhlt4Y+>o~blXuJ-b^OHCds zK4T{AF4f@^I@_5=KYUo7w)=)-!*5 z8)gKH>y`5h8$wRx}4LSYIdxH z1idPeQ|{4<(7kg`_gB_-1HCgAu`~PgEq;=Y^Pi3Kiqtu7#46`^5Kdx~Y8O5<*s>u- zoUGihlC0E5zn3`;&NS#D#gAoC!Fl<pHlt6`Cw9YA{>GoSG`w#Q7zm7~T*0K$?>$m15RnqzKXjUlnua5=Lq~hqZ`~3Wf zoN#%kY+I+Q`-&RuQO|kkx<4+&5+%^JVEsU#XP!YZlU8GU=po;IwWFObt9Afl?>&V)8KW+?IpEp9^h&3Z4_+7~!|s ze-+rgl7-K1^Z?JQlshdnx8>SRFWFBEDExqI2-v;$9HCZs0lViSG|~7?{}V9O7ua-` zh8=t|O<1x`2RUZ;)cQz!7EtG(y?H0WYos?NY7fx06*_rghF~&Bq56S_BYDRbeSyNr&{NT%`EHGTF1jT^D$^)@Ig@OT4VaR+c6Ex{wW`({W)JR zD4-&B8qE947Q6{%wZjXA64kf{jTFj}IQ!7828djma8wwS66{X=@L^%RhJ&&3D9;wo zG2^q>w2=aevY&Rz)%=bh>FDXubFm!iJ+ngfyxrM8$+T=)=Pmb`(Ph~>eNsLBrAK|| zUGj<5LA)xVF$K#lj&;=uJa)cc5_Yl&w{;;kY1esI(QryXt)aVY(LOiUsN6hZpyK|om3&X^6Vbiy`hs+ zEbMn5n8SBbe$tXvlC?Ai$Fpm#Q4X?Piq^DRR$Q<@PZO}2Hbs*=?)Hm&ul0TMfoxPL z)^zc3ep7jryx_5)ZJqu6q_h8a&&z@JsOkurM^K1Bv@a&EyRM+9+KGQ!fOU?Q~S2F!n6q8@r_PaVJKvn_HE#`Fxe1NxxtqMTz6>Zsp_F zw1zqrv5jZ=x+=REm+bsbCLv`2IA6Db-Q%r#qk${Xl>v3&%5AWFm-#|?c<6Ag-P)>3 zw3LgFdtYLV#H)h8d>$7_+6~z#cv4kfJ@3;kZ0BC()3}@0hw(PLy#d7wJXcAMhD{sN zPAE^7n(fGSd^=c<8RpRrI|VCLdtNUJocdOuVLQ4dUXf$ zw{GgQ!ls$O(hRJT%tu|%#D2_@toCl48Z;NLoz(kR+g>7->aJkV{)i6m*k~^xi|sJv zwk;0N7bZfcN#DQb$GNTb1sTp5^NbvCNNs$tlm@=0m60#k{?Y(aW-}cm`so#`yHM|X z*8=9i{%->u@o06$ z&wF$`#i|irV#T)3!Q*XKoqL`qLL_ylhJ=5&FmMI3F@Ni*<1B=$iNL_k+|uZy6WIX^ z?}eID?o8J@Nhh4|7Jb3XnV8C9U+%WvgM@)?$lPn1f zO5)2)eEZYsA|q^fJal&TO%f9}$JKj^k;mpo_Pnna$eUrlPUnWWCW#WOp<3)tf_pD- zyicK-fs~D^2tC*^Ab3O7;oB8-w9ku0d$WasOET_Wf9sz7?qI(R>>czf3lHvvX0aX+ z7ZkHXaxZZ?E#k+X2tnYXd}3v0I`?@Y_67IagVkfRu1}SQfWYr_4;`N^4Rk8QrYe;O z?uY;IC!ISVZp~S$_(T-y>PA+SFul#S8~;_NLkYTDJiLHL`ZmbW${>4%no~dxU3^`W z2Vy2Kq>WA`#O>FcXFg3YFh6-u14cyYl~zPNTvmx+m@egl{q|z>GO|avGY-n?MVq5? zRJ85Uy2_!TWIpBp-KbTub?)4V-tbHcE6g9VGRua`osk-`xdkv5T)opf#WDGOS#J?f zQQZgGtPl-@{8B7E!?2IlLRazX&Z3qU-V#jw;*#6MBRs$+-kDYIepfS5!iD&3KAyze zY>yI@^BncwneY2}OL6`3GiYH?lhyn;j8lHF3Z~RO8H3%-QIFjWXJz3pPCt)o(z6~Z z6=$2`FL5wp2hX5uJ2=3^v%@-_?#xUd;DugIw&=o+h%k2jZ(wfk2tCWOQWAXK#(`Zc z=V0eP0ykOuq);BEz>RkQrCp%GF2>}i_Ndl;x}7>*6{Qg54pwLTdwle)VbdO+IF?~{ zf*j^>lPXGxs^1C|TZbt+eR~2Py`kq-k}5ztZFvD%XVbe00?S3F!BBqIYa&1`9Wt_z z_4UztRwBl5exmfG$Qm`E=LtjO&k4q8hI+Hy6Zen)e$`*ao9ar!z6lt@`q5;4RywB!v>L;QVcVH34Ltd56GrmQ?}b|+ zRDlzxUW>jy2BN9xs(mx%7Mp*QXdSInx-m@hSSbKl7 zN7wOJ2A_Qe7Z-}-z6TScRoey?QR7kcvm2Sv5)cNf?=Dkgwsxv7bmX;qIKu8te^J$9 zaM;&OCQ2Q4M#mMWxl6&w>GF+66QjO{)J!x840_d>{^yNbI@VLIs>PhcJ!RHQiZrGPBN0xa~4C>(_z7GFB@F-gg(;8Vutn8vfofMx|9+ zgw<@nNJQGLj6xxR)!%|x5&4nDW`O_=U3O)VX5*X;vflS03e>>x4mI$L90dMjR$@yD zxbQm?!(!{kA9tLdM+AbP6|AD`)MJVkbbbSmj8Vn=-y?1*7To0K{?ELd(9`$Sv`Klm z6zp4>1cHKrHqijnsx6rP3DEjmV8lO1>3-99ip)D9Ec+dw$??DSk&gvQGY5+Y&1Ye$ zidYZ#dv6}F+oLD*CqWo@t=9slzvK<*YveP+{bamHdmU)aUf7Ew!NnwtCeig=juMCx zTL?x1YjMGAz{tj>X9q~9xpGA{DInk*ynDe#y*7DL5nt&pMna+Fow0g$9q0sbMNyCs zqVPUDuX>9SPqoYA_|Xk2=rx-|gAk6wIJz7$axenH_XdTC7Xv2D-aB9QA9cV08m#z& z9vh<+r0zoOzZ!N%#*=3)-^hME*1?eixp*V=d#3{TcJ|73P7YpK>5l*1^FF|=8usYN zfDNI5S-$x|*25GddIovaqtjo0_D_=1Ta7-6{|cBFn{$J$px~PTMFHQsQquN}?C_%=ZKc)V!dO+T$`MeeBa^!d*cP zr)a-TFDLot2e)6NW}Md}zfB>hPKTq~6@6Hq`*P7ql{u%cKVEwG}6-Tlp7V>i6nV$?$sRne?r=ro88-z9ut(3Q#eo z;%W7?87;Q1!9MjRWd^nqKR_B9IPj^DQDZ#`o*d>nvLCnfrmZeEy#rJ46xa_=6}mf7 zdH^?mphzrI6%aDq(z>g%5Rmi`GJ9mbI4LV*Z}Fzd)$6BOvgdbfz1hdfWE=7IG;BXI zP3*>GU$a=N>#HYnW_xQ?$!6-`8M}VCc`z#?YFY z@vC7tLkHT$3bP3|oFI&&R& zl9h|KSG_8QC;pRcz70Q3MS171{$n$&pdtA+FK^_lR z5bIi!IbU#!CM$pEMihgjb&mc**6(UZ1{>eIjxDV?qNDYAMHB8PT5V!Mf~SBmWMBlb zC)=zc6TIQ0!-}x@lltFlqooyPw>O%n#&WI%DaDfU()G){1t2gf zAX~B=1fKHS`{&?l#|^fxh4uAPx7tB9vFOwUxP7ka?_A;}OhmiHZz~1NG(h`V}5X2d6Wi2J|D+>Be zDKqN7v_%7QO&2sij18|o$m4RbsmXC)&z`Z-j7f#$a$38{Hg?krOw4&MR-SX}qr83g zXQ2_FRrwYs;ZqO!Q(9J9{ZsUfv7d(QjHfPgcZT_i%-uD<4~_hk>?NVul}xfV>xe z?233K2KCtSpW@Y*VzcM5?l)!bj+KTa2Qym*Cv*@nKpB`L|A2r1!EEIc7y$$`!Dq*- zZF^OE!HbPMQ$1gg@C!oPNU)=NBJNH4YXAX<)B3A>W^&I!eTjhF!QYQUOcFXM@e6 zUA_7|ykCNSdy8s%Wawn0%GqF32hrl(v#!!vT9@`jg+_BCbr zQy@Yb)u0GV;+r__-6S+BxO}(86qTgvyUL^zInUEl{VLa09nSD^VzBe&K+tfqYWEBK z7t7EMq-HQ!Q|51l#m=i-YuKIw%I{Yv|IXfL7H9v44H0`!0dTc7N5*9eFvRBUP3Nfe z(7v!+uPwLRuGnDB`p;DUN9MTFZAY}{kR_Bf&(p9tcBEJBM5wQ?$0X$0Mu%J%Ye?cllzl5`&w5>@cj z%F!Rtn7%%~ky@%RG8BWoWiH+6rWtwKF);LD4JDF9rrk5^UlKXI0K^@Zxct=@D20Gc zAo5c*!IgglC4cAO2KFWoyWV&WB`#ZS6zw_K`~XK|{Q;dg?lLlxU5DR5IOoS#(y+qN zHcwTA*++Vd56zma)S!Lo(|15Rj+hMD{b8h6_XJ@t8CUm6uj6cG2hI+cf!9OFU~8n! z_Y3gEMYgg)5HGX5+wqEZ16m6@(0>^o7DgHNu0mWn+_*(Zvq^=7^5V_b zV5|t$+1z8!+VP-B`_C^?5ANw-Sg18vT_ySzE22cKf;+;YxgvYBeln`F1~)luhYjc& zaUmFOB6Bk*K@A5}lNSPGRBnhhu41kZCMSfG&KGGUDXqS}fixR!I2B10D4#;qYw5k{nbo_WT zee-)#Cqvk?US5CZVT?xeIib0Fq{Qc}d91MH@%7=-1~*l;KY1;&`VZntn$OLjlQ!Jf z;x|Wl9+Rp{jMW^T zEQc_sMi`;Uiwt>kx_#BN*L+ThOd~! zpHi&Cw}rZS{r%l2VlMoP=ZgnnGJ##tlwtwvnUHz^X)B4=oQR-uU*hH(RK6I z;MCwZqU-N}2ODz&rhkVDC$~r20;Z+_S2ID@ZGh|Pz!(E00=MP}m}qn%rtU~P5JzfA zVNVPvB%05EC)L@P>M3%JX z__0+674O5E;%aZ>dn|i0^Wrk1ou>3neXD4|kVkdj>5-vXt*6=XCR2ALOuY$J&I@7U zDx~wX7+zhjMH4XP<&&LWp_<*=+fU>5DF4<5x47{Z+|SQ4XvQSo_}ux8CB~>eVI@vJ za^g};hVdKUy+4YOONG;GKPNKPlOg-XUpHB`byan`tNdJTY9SI1`f$ZgX||d;vmwFo zt?z+gYhlWUiRbCz0TU5F4GL6>_qpGlNL3{VciOur$~Snly8W|;U~J@QS;IFV8OF5R z#x=DV7`Y$Y=rFu&SE89>c&YXHW+3FHmhQK<4E6ult!QzZbZK`5B3t2if+AfPu^_NK zkO7q9Zxn(ZV{~4h&R=9yDUo_UmUyfDNgYRtsnev1+tcdAwbIQ)E=fHXh*Q+V0+s@% z%I&~yN?K%x;?I_W0%w=h4>9_`kRJp`6GSLje?9++`Uub{1A9+GKNPH9BLLKdCz$oi z?GO!iRg<#gDgV>b8tE^zwfHnC%}#YO?#51WzTc!Wpus21VXf%%-{Mjo-U`00t)FZUTv!~8_G#4d~l7h zb1P(Va72zs&U{n0RuW-U|CAWaTv?MeyNy!}+k;00Q4||b3^L`wYiXu*U1IfyObqJ` zXQp@RXr^m_@ATwc8}@8hv#qh0qWTgN?{l{~5h4lebbt?aQ1qRI>*f63A?~h&D%6Kj7WHoUH7VYTq zo?wr!H4m# zK!FfF%J#c9xZUxmM=fId;!2(V!c;l!iM8Z}SvRGc)Ba7P_a)iM@n3LNP2#yb?ZNWN zd_gLAZ8BX*^TBJ2@kI`0KKs!nxx@0Mr|Id0yFhl89WN z>lN-c_5O5gv<^|iwd1tm1bbXEF?%6w_O6LdWEA25Wk&pgWP{s_7H?~)DnWNZZZ>s3 ztr_Z!&+gxSoy)%LZcz^0zfwT1IQ_y&ecFYMW=d+)B==pt$;9mbgmVjT z02F=)EgSbZLK-xG6m-#C^IMgF@Iy|FS$2wU(3<4p4eFMwYj#pnqQk-w^{z;Co21PG zmEvGYfYroY{l^IbFwImRb#Lu^558wo0guNgz#mUsgPiNxrs-f{c%o0sMVn6Vh&u_*fNAS;eE7%PF>wr)Zh2(88^TID zRGHz+|Mu$|-4tacv&&VFic7Z4b}x7owqDkUJLIUk2SS#`*fVy2{vvnA5i4c?*|ujt zc)?Mf?^gTKXkubtR7P$7X60k#uNC>uFZ)L^VYj+TyZmLXqL%l%?8vG~%*hqKfm}htbtqjf{OZkD=lYKT za>Bb1m5Iw>)d`IVPw|I$Oj8qyAhH>NV}C{CnL1sb}1|y z^>R&8(>?5IJ>jyutTDTi!}?V4wTtQa^1T|=n7&WZ@f%-a0D`2Ko*bS|*`viaLQB5V zF{~QpD&GJGCiqYDBYDgGVXHCMNk@-}@9BAJPD7u@PWx2CoxO$I=4>W zubvG1PMS|H88MN=3hK;F-nj2S()QKURw-Y@7e z1{KRkP6ra5H;GEM{|;=XJlOsT2zK^ErhH=v9?j$ESHp(glp)DGQ%xOqmYZ@+3YGZR zy{IorG9#m=iZ5PnBpO2%Z?mC?XHO~qMUYQpfiVQS!26d`1%{D^+-H!fWlpQTAMw#RU#21VTDq{5hnrRNnp_ z=Hk7Rw0N_!w~){NH*rk)I!bG03IO?j#z2JHyP=#{5e}$vonyU4b`X0dlDeG(q|^pudie>*;g`w9Bpw>9Rp+ zqrN=@EstqZxX5T6?2Z#FY&@#_XE%LtjmELa|9m7pC(bDqd*-%+h0x!=s5{htNTGDp zbJ6rT%mF6!!`u3E8TOL(2Nd$QNcFS641y)?kMW2wf@k_DgcX2CTe|-&Y3wxnU== zq2xZ#P%CV)%p8u>cGbT)L_|RXy@=v|! zR^Ca6NOgqtcc+8wH!rwsC{hJ~d+LaT%In~H6rOq1AN5C^&ZB4@)!mF|$3LyD3$95e z7T>D=u@un4+MBd8L)jW|F(LqvJOF^?5I}@ayyS$0-x=(t{{`q<06pA?8daZ6d!+P6K&BiQ52N-E>VVBj311t?r3gJwcocf%`1$N z(?}Qemop1E^%=ew{V|=TI8FNP`%O%|wD*zTYx(3CUyUwiC$R3ts;YJZA6qoahl*Ym zuX&8AzCUQ<7wb0Ev4DkWGwl5_=oYitonnlbt@=8$)#a`j7RRZXpv2}U;`GyPJc@RT zc|_LRxuz@MI7?}ig)f4jdhH*h03vdg%=zO)iOtm#h~ z;#_^W!K&t zPV{G}i?jmf`pH%)uJ^=d<$55b`#L!RFs1K}Q>3bJ5$d!XH2jn1e_S>lLX4CrlK$Q4 z+;?|Dfr#o+_U~@J)+)``X>pw#zDo73AA~s7Jv9Z{a9qyguAyPn*)E+tOZhyU@kGLu z3ZM+f){XG=Fcq$-SD3y60Q-19z%1VH1w0^<^tQ1vv)BbJA zN^A9>I^ehg(kqTyk_rBB^cKWs^V~UqZ++&ihAv!X)M30mY!*lqRvBGc*L?gLHUwEY z#)^~QC)+fuXvB~kU!B@8hV}&g;a;zL_B&0K2-4}eYHif8`ygQ=R<(hLBUYa5q}Sz4 zjlQ!!XJAATS=k#QM=Wi+@maU0R9>iyB4(y+q8~m{8RL#)vveTOhv?j6t`rKGUHfU9 zlrCt)&E9*FnAj`h0QwHZxIZd^q!mNibYUCo%SO(dX~v6-KZI6S693uS`3EWDzkF}9 z(kmQPDkMYtM&r3883UIp#GiJ756w*{E0$b5_vRqZjXs%=(oQ}~Zy$048FTm@G&h}y z&B~3GK^~0EgU%jt(JlAy~&L4KuRhisD-EnPP*KZxWOew6e?uiky_AzgLdpddh+MoA~pOobd2 zm%$yz<~55@sL0;Dnh*mX_}b38KG&C`5!o8e_iAANi?lvpkybJJsc`kL>vg7qxjeiM ze=Bd;^t(MBG7%w>VaOeI2)LS%Z_LDKUVT^y>ZW`{>(zDlCA=WJz2Q^(&i?r_MULnQ zoWD?+Iu6N5Nlq9B{2+=C>W(t{ReEuL#27t?_VvaQL0It1mS7FF@lPliB9z>=FWW~yxI-R#-weN)YBi>WvD4T3oy z*IxCW0(nr7{u-H7#WZq!Q6>8o-f5wfU*H!}2!L!s zm^4eo@Urj!mCjks(0ZL(9Y+nPlV>YAxfUof!`C9c`iy15_K8hQz{R#;Fr0v>zk~ih z%dF=kf5I8cSPA4)iv8W2?b`MwPW1SIq8F1>otN7xXI9_NhCFz?^j`5pB~hI zG!DMSL-bm`f0R2{MaDCbs$o(#Ux?;>(Q)G{p_yIG;Jh>8F;Tp8t{fv|%*Qj3u9-G= zT3|9HtK(8^vT*m$Vr89%EW3EiyJRP4q??i`+U1w_hYv#cO5SX@XQV=n`;Pc>Rg(xdI$@>F=o#PJQOGU~l?Cbt5a-MmL zmBNG_a@g2p(k|kZu!Xm9{;PZX+s{G5=M{nzI^Q251!z6Xrwdehyi&$4uL}m#zAf#e zWH+Hsy07&&B48&_=i^%T>yi%eEUj@tm$ckX+}#nPpFFGCObfenahIkFOCW+bueaQ) zJg-r@?nS#YIGiK)B5_4fi{TpJEk!W`k+2vrIE-(BlJ4{W(r(wgH=nZh8^pnV>7+0jB21ULchamr{^v)^#w;K~x6M2K$p z8;}#2OHXH6>R{tnj+zyaJpQ{gHb?%==k=!tS{93>-GPRk@tmge?V)R%UO|z=X8eJO z#y5!BZ>KivFL=SS(k-*{A|6PQBBU)KotIv`AczZ|D;JO+lI|4hV;okV8p+%p8A^ zXdqYbi`#^yQV^F}YX$*uFxi+Zsi-)~VRST8bH6jxl@5h%yx$GcQjo)*wT8%Jp8p6W z+VQ_62S{ldT%u4(iAGM*O;7mhd(ZcK+W04kPkSsCeK~b&ptn8>X)IN`NbhILzf%i#hjz0NiDBgkd2O=?fl$7$Dvu$^UvDE$@vZW+3& zm|PP!-jb5XEe_pp>lQXnvUX>AMa&89`%*~J*BpfNavE`Y(zbPQS5Xa?i_YD%*aYif zPw!d!oYU3~huV3OKKI}s)4cd}O(0y5fBW|B)Wv}dkKG;l`ZF88Kn3;voQ6ujUzylq z>fvdTi*psHX75O_K9vQEQ{bN?(c|n(F z!)lQEOEq!{$$SyKabk46c=*+%5Z=FXr%hf*7tDU{&h$U)kUTUPLgF8ITFq$Tp@>h@GpiiHATTk7sD4ZC*y_a6$(ju}i(Wo| z?|F_Yf@IhY`Tbhq-|6s*^5*nZk)mN1keNvlpmX1F=#@V26DB9zR)NS1yy*aqCI&$M z5>ID!e~*cBww$VA+yi-crV0Fs)lAc!z{-(Dt8G+f+PB|rmJ5z(7_NK2p2It`1 zaNH2)HHp2ULA!6se(LAWXZ|V?HOpC7qyivUh?!W^@?FPC%HspsDJ^m#XE5*mP#l-VO7&-Ev!Lb^xJi) znwf|FG~@A_C|Qa`7ov_{*hZ1;>W@1~8*zU;>1jq+v!cSSOxZ7?m?q9wOjomcTgs7c zQRJ?luZdq)Cxg=?e~g{wyQ)(M>}({sIpQ42hAqhQM*1V}0xKi*W~D0qe`h)wpi2qc z+`1_XTxYIC0h>nTme~*yKyzA}sh}XbKm;p9msM@+L4RQLzWPO^dFz?dw|7Gif+Cs! z2-~DvUHr-`&*Y=8{6SrH*IH=w#xu$<^ec92S%NINYu5-dVk?%IZPc(!|0C_6jb&DK z_65avg4%-m$6}rTuIF2RM+6Y#J83VSLEZ zT77kFiOG(eA-U}Z?UNk7?>BiIr+Z{N?U?#<0yO@~OR!-+1i^tvbNoI995J<6RCz-a z?Jf_da+VlSnF<+R#zOKm3*g2R0=d0t^6+a*Zq23YixveKhbMj>1t#A+z2L@gm^zEr z%sG~X$6z;}8IWIdnWD^N&6}3)Yq-q#k-rvRDxE`_!CFgiAGjpSiFrP>J2odsA^#N7 zdlgU=F86$R)uFrV*!Qr|^ZIZ=ul!!hJJ~mo+VwQKXG*p@kr}DHTUP_a>)#rWi@;@5 zY)WabT1&is#QoX)?XH%8Y2yIdXuP13b!!oY+dHTu3C?oO>dCcv*N+qWklGZu@iQg7 zRw>=x8?VIj-jfBm2rl_9vi6lWb&R+8S%KeO?l}%8!{_lQjH8KETms1f*9h9zKC)g7 zc}mH3kMn;HH9#p*ay`Ba_*WB2lRJmybW48*bEDtyYz^nnxTI(v7bgplgl#KNT}5mK zA$GNnR(OM?|^vww)%N z$%24R=y$at$2FuW!G@(4edIaLUTUZ8 z8~AeE<>e^i8pjvTPgk1#kumBcOU=iBmh$U`BSec-M=GU>`XkBDyRQ-!C4a?_*SlR2 zXTQwW3%}F3!yR!i2Y3AXF2T-J^^yA;qHNl|*|7Orj#+`*{DU8!&BuB_O^gR99@9-p zI3TUA{!vBh$wCJ`>J69>M|(~p1c9NiW#pj_38YlO+=~YEa!Iy zmWKZ7{?ALGav;Sp+mJRVQ}(Kp+h!6SQ-mj|-s}0{A5Q;t1MxTUf)oxn&0cBCV^WED zZYzCLtT5e2J*r}|;$|e$;vm*39y?1%zy6qAc-H*sAkTe&wrkNb6qSJdt*a*@9ORAS^P5B=NYfH_PuwqN=%hn>GkldmPK;Rm6ykz z*7`2$4jf?hggdr18qTzcQM@CiRtG!u6o z7TnLf7k~f`U@rovuGIvM8P1Ivg2KZ+O-pM}ciQ|_bFcH@jyNFp2~FYjJ3>u++R)7p zCq#m63HQq?hFG=A>*QBz?XOx=rZ&2)49vXyC~7JdD`)JxKL$~1a4wOrw+ndcN2r<* zvC$DQxPPl?sQX5q-rrfr_w-VdQr^P!zbC_3o^*ikpo^gH;$`pPd|N`qJKzCe{BEH|SCa_{o1C`|+In9Yx?j;L5SFI;()C{8q{p_U8u7 z3xFa8sWmxNyJ8MJSg#^z@FRvIuoPU$wU`T5`Ei}ch|K2=o6o1gCP269&QPy%jkO%= zIIJ#wH-wPO3SzGO%3W)Zt8*W5BRc6munS=uh)||4Z8g>iECD zAVCyM7KFQ&_M@@4PnR;A=i#y5&EjQNOB0^}N#{c{YQ6-z82D@VC{X-hkT=r8f9 zZOQ5z#x$zn-H5H87e|PULncZNXIbs#yk3Q;$i9c?OyWFv`BH%hOO&tH&UAshouY+V zP%70C^{D}~@iv};>FOr8bvRE6!^;b$j0hy^;s@^1uwlxc@WkjBB4_9LJW*ky9$qr~ zF0xK74-38k>Kt8?q9Zxs?-dGAP1qn?fKVUrF*11ZB6x%d2M*+};D9+Td`TGLL1FWkq!0&7c2yfKTL9pQ1D(OWD} z42s#rUr!00s}UvA8G)FuUoR$r82sG3h)4D~hrUjn@8zagBpqxt zEdTMMq58tf;*-kpAJ(7G9#HnSFQY>m#(VjbZ+HC;qawFIRO29>>ikC{#4Ky_Un7 zq-`IF0O-jkyi?9-AQ5mB_i}O<0B!KE`h`EO`-9eQ)IXYaG?1mRGk+sDmLO_NEtjV_ ztDQ`+%agBo|G_j9jGv=ORu)RcBhCSg)w!IkYW<*HzQ5KdT9SR75Z>bMb)vlr9&6!5 zO@?Y-ZjOtwzU8IULyCXF5iWo)(n98|M&I8Jsv&{aSZ3&X6_GEqjdvFp z^DBhakTJ=yyRylQ?AG*m0aK^mR-IOvkGUl4Wn|4?>g*HlnvpFO>GdoSfhl|c^<5N< z8s_{;)`c4V^v!yjwO1SAC(lAklI?sn%c#E$7sC%fFwD}l*SEcpW?4Nr zl;vL&|d0ARnt|igY{v>`@11~n+9;yq<)7aV;5(w)`=Q<6Aovf@+UAkJzw?4a{ z@@u;-GK1+X{gqiA+N&vb+b_-yIV^D3C`gN#v8F|1HvIW{Yy92*j7%^o)T4OClu3Tr zquFuDgUy4p#=h>yRF-a{`;;oLdhBh$%N<56e&rHYW|o%Dpvh2I5NUCHvz~DXQk8~Z zC)mc^rqt`8l3-i@r%ysn3=3aU=e3BBQ?C?YS9Azk&G}^CEC}oqw%mxag)a z-I>{Ox0V!DF3AH4h!m4o%X94UGjEM;mayeb>xySF*sN3@Q+x$9x+{>#0Un@Mnb zrz~6xOo9w`i;HarI{2%;3z@3xcx?kHxVDEc9`*u{+MmCIMQGIUQoVZ|D$xFLSS&x6 zh)bsjA{%@ziLfdW=94nMqwP`DD&UP`yOIga@%7IR50`<6Eb&0MqQ&8S3~8`2PfGM* zc?Qg9{WH~A5a!nyA;8rh=npEsa=$ko^mYBQeg{1=K*AGwT-p`?>vOXtzb8spU8^Z{ zH5j+oN0s~+FQt7KPmTu3HjP@}-Xh{$^{zAEWk;|Uo&5`vAb#a(%sKH|3iZLNvlnE& zA;4qEcex<(!~@0IyoQC*ng`+Cmq{bFrVP!p>Ui|2&_b-l*rTidTxUC{&kq(yhyzkj z!v$r^DrY|fAU#ch1WPtJM~pq`5LVPY0st)k# zs(~*J&QY*A(wt-^8vLbGz58JhGkvEb*v8?>2OuXZ z)&BF*!(R!6%!=_PA8j<~hYx`Bul6kIRVvGGVSvOI5Myn}`x4hb+Il0X$ivtiY`PON z9he*Z|EzGL5CI_BkmwQS882Tkm|-~l|l!pd1`x?2)rWj6BtWBNk!{AZ$n4RexaDf$pwIjWvlQrGRA za5;q{l-rPgZl?b_ZbSA)9+{K#MYu{cZZOa zr$=>wt6Q7obc1Hvt$OAv8Hgp!0G$4Eb{+Iunc+@Ol8m=ECg$;RymuB9}=9Oq<~sy{tR)Eo%)wXh9@elp&FV$ax- zJI;I*h4}=B)#9lgUmrb3RK=8;UX*pg*BuX`!bgLyaK$dDlq00hmHQa9QuQgQKOTeY zsNejyJ5*6p?_pMILNhif(Vz%x+*k^7t)t!oJ49pD6QW{z=s>Z!Bfia7;DuE5FLk4- zsYVW-u}Z&kfG4nS4F!7JDKlwxJjA>@*G7%LJwVk@5zJB&K_a*3yC%OibGvkvEC=Qc z6;ya!J4R;#9qTxJ30wr1n8w{8aDA6R60Pr zuT*i-BEQ=VhF{KeSiU!Y;GsZloM$H+T-w+Y=sPz>xl+UzL-6v@<0vggK98ulI_1uF z2)ucQbizAQ z>{4L=3Pty1u*XdEk6?mWVY164E>D`;Tu|ZUYC$WOCOdBtx32 zH0knr_v4?2VdCwf%O{>Xl{*5>NHRz!qiqEi1p$L^TMHH1{g zxpP$+=)12w8R-Z{J}+KEe#hyic=&m|`8sbdcky$M!qait)kg0EX^ps0e3s?(_v#2q zkerw@bLQ#JJA|9s-47d<&Uf9H6|SWXL;p`hb`m4PSx5vsr- zf*8Ez^={=U`VEHS>K zvQ5W9+`lFvF>zEYLJZ`F9R3)MXE2~2j$hK=0Fn|2WD!`vDnK3*Y#w+)o+`k(Z`AWb zM-)Ny`+kQy6Z7Pm9Vh=~F$~&6#sVaxKw1gUgCegWN2kqsqBWRbNt*T4^^grEn{BGf zjmmBT5{Pidtk8o>i@bhfF6S1B)5`wFT6kK_4jK`DFx=(Z%~&biojJ$r!Ry7-ok8In zxANuv_Vnzb-CZu6GV?O+__<{k1GiZNxUEi>5B6IihANNCrFgoIU`$=XR+~}KN+Ds~ zw|5G&o_B>Dyyhe^RN5?gIG^YfbMF8zC0a(zbHN$D*444NSryYMKy=tu(x>I<-B*qk z^WVWpmHO3JZ7tBnbT!i-b%*?%T3jUbv;J0=ykI&y7U7Y~alhOr(S3bCuQx?%j0K+m zMbtN^H(iwfiuM{MyRN@cQtuJR16HLZ<*AG&YYN3T<}-3Vpe9UE&kM@|6b*EVP2;Qm z+XV6Q0u7$?Z%Nr>*AUDL≪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 literal 0 HcmV?d00001 diff --git a/content/en/docs/Virtualization/figures/status-transition-diagram.png b/content/en/docs/Virtualization/figures/status-transition-diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..acbf4df149f57f43fbbcbb746980bd4748fb71d9 GIT binary patch literal 86518 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 AeE + +## Overview + +If compute resources are sufficient, the halt-polling feature can be used to enable VMs to obtain performance similar to that of physical machines. If the halt-polling feature is not enabled, the host allocates CPU resources to other processes when the vCPU exits due to idle timeout. When the halt-polling feature is enabled on the host, the vCPU of the VM performs polling when it is idle. The polling duration depends on the actual configuration. If the vCPU is woken up during the polling, the vCPU can continue to run without being scheduled from the host. This reduces the scheduling overhead and improves the VM system performance. + +>![](public_sys-resources/icon-note.gif) **NOTE:** +>The halt-polling mechanism ensures that the vCPU thread of the VM responds in a timely manner. However, when the VM has no load, the host also performs polling. As a result, the host detects that the CPU usage of the vCPU is high, but the actual CPU usage of the VM is not high. + +## Instructions + +The halt-polling feature is enabled by default. You can dynamically change the halt-polling time of vCPU by modifying the **halt\_poll\_ns** file. The default value is **500000**, in ns. + +For example, to set the polling duration to 400,000 ns, run the following command: + +``` +# echo 400000 > /sys/module/kvm/parameters/halt_poll_ns +``` + diff --git a/content/en/docs/Virtualization/hugepage-memory.md b/content/en/docs/Virtualization/hugepage-memory.md new file mode 100644 index 000000000..dd9b604ce --- /dev/null +++ b/content/en/docs/Virtualization/hugepage-memory.md @@ -0,0 +1,59 @@ +# HugePage Memory + +## Overview + +Compared with traditional 4 KB memory paging, openEuler also supports 2 MB/1 GB memory paging. HugePage memory can effectively reduce TLB misses and significantly improve the performance of memory-intensive services. openEuler uses two technologies to implement HugePage memory. + +- Static HugePages + + The static HugePage requires that a static HugePage pool be reserved before the host OS is loaded. When creating a VM, you can modify the XML configuration file to specify that the VM memory is allocated from the static HugePage pool. The static HugePage ensures that all memory of a VM exists on the host as the HugePage to ensure physical continuity. However, the deployment difficulty is increased. After the page size of the static HugePage pool is changed, the host needs to be restarted for the change to take effect. The size of a static HugePage can be 2 MB or 1 GB. + + +- THP + + If the transparent HugePage \(THP\) mode is enabled, the VM automatically selects available 2 MB consecutive pages and automatically splits and combines HugePages when allocating memory. When no 2 MB consecutive pages are available, the VM selects available 64 KB \(AArch64 architecture\) or 4 KB \(x86\_64 architecture\) pages for allocation. By using THP, users do not need to be aware of it and 2 MB HugePages can be used to improve memory access performance. + + +If VMs use static HugePages, you can disable THP to reduce the overhead of the host OS and ensure stable VM performance. + +## Instructions + +- Configure static HugePages. + + Before creating a VM, modify the XML file to configure a static HugePage for the VM. + + ``` + + + + + + ``` + + The preceding XML segment indicates that a 1 GB static HugePage is configured for the VM. + + ``` + + + + + + ``` + + The preceding XML segment indicates that a 2 MB static HugePage is configured for the VM. + +- Configure transparent HugePage. + + Dynamically enable the THP through sysfs. + + ``` + # echo always > /sys/kernel/mm/transparent_hugepage/enabled + ``` + + Dynamically disable the THP. + + ``` + # echo never > /sys/kernel/mm/transparent_hugepage/enabled + ``` + + diff --git a/content/en/docs/Virtualization/i-o-thread-configuration.md b/content/en/docs/Virtualization/i-o-thread-configuration.md new file mode 100644 index 000000000..70d397cac --- /dev/null +++ b/content/en/docs/Virtualization/i-o-thread-configuration.md @@ -0,0 +1,59 @@ +# I/O Thread Configuration + +## Overview + +By default, QEMU main threads handle backend VM read and write operations on the KVM. This causes the following issues: + +- VM I/O requests are processed by a QEMU main thread. Therefore, the single-thread CPU usage becomes the bottleneck of VM I/O performance. +- The QEMU global lock \(qemu\_global\_mutex\) is used when VM I/O requests are processed by the QEMU main thread. If the I/O processing takes a long time, the QEMU main thread will occupy the global lock for a long time. As a result, the VM vCPU cannot be scheduled properly, affecting the overall VM performance and user experience. + +You can configure the I/O thread attribute for the virtio-blk disk or virtio-scsi controller. At the QEMU backend, an I/O thread is used to process read and write requests of a virtual disk. The mapping relationship between the I/O thread and the virtio-blk disk or virtio-scsi controller can be a one-to-one relationship to minimize the impact on the QEMU main thread, enhance the overall I/O performance of the VM, and improve user experience. + +## Configuration Description + +To use I/O threads to process VM disk read and write requests, you need to modify VM configurations as follows: + +- Configure the total number of high-performance virtual disks on the VM. For example, set **** to **4** to control the total number of I/O threads. + + ``` + + VMName + 4194304 + 4194304 + 4 + 4 + ``` + +- Configure the I/O thread attribute for the virtio-blk disk. **** indicates I/O thread IDs. The IDs start from 1 and each ID must be unique. The maximum ID is the value of ****. For example, to allocate I/O thread 2 to the virtio-blk disk, set parameters as follows: + + ``` + + + + +
+ + ``` + +- Configure the I/O thread attribute for the virtio-scsi controller. For example, to allocate I/O thread 2 to the virtio-scsi controller, set parameters as follows: + + ``` + + + +
+ + ``` + +- Bind I/O threads to a physical CPU. + + Binding I/O threads to specified physical CPUs does not affect the resource usage of vCPU threads. **** indicates I/O thread IDs, and **** indicates IDs of the bound physical CPUs. + + ``` + + + + + ``` + + diff --git a/content/en/docs/Virtualization/installation-guide.md b/content/en/docs/Virtualization/installation-guide.md new file mode 100644 index 000000000..819faac55 --- /dev/null +++ b/content/en/docs/Virtualization/installation-guide.md @@ -0,0 +1,4 @@ +# Installation Guide + +This chapter describes how to install virtualization components in openEuler. + diff --git a/content/en/docs/Virtualization/installation-methods.md b/content/en/docs/Virtualization/installation-methods.md new file mode 100644 index 000000000..3f4062fdc --- /dev/null +++ b/content/en/docs/Virtualization/installation-methods.md @@ -0,0 +1,31 @@ +# Installation Methods + +## Prerequisites + +- The yum source has been configured. For details, see _openEuler 20.03 LTS Administrator Guide_. +- Only the administrator has permission to perform the installation. + +## Procedure + +1. Install the QEMU component. + + ``` + # yum install -y qemu + ``` + +2. Install the libvirt component. + + ``` + # yum install -y libvirt + ``` + +3. Start the libvirtd service. + + ``` + # systemctl start libvirtd + ``` + + +>![](public_sys-resources/icon-note.gif) **NOTE:** +>The KVM module is integrated in the openEuler kernel and does not need to be installed separately. + diff --git a/content/en/docs/Virtualization/installing-core-virtualization-components.md b/content/en/docs/Virtualization/installing-core-virtualization-components.md new file mode 100644 index 000000000..8670b00c0 --- /dev/null +++ b/content/en/docs/Virtualization/installing-core-virtualization-components.md @@ -0,0 +1,2 @@ +# Installing Core Virtualization Components + diff --git a/content/en/docs/Virtualization/introduction-0.md b/content/en/docs/Virtualization/introduction-0.md new file mode 100644 index 000000000..e33de7661 --- /dev/null +++ b/content/en/docs/Virtualization/introduction-0.md @@ -0,0 +1,60 @@ +# Introduction + +## Overview + +To leverage hardware resources and reduce costs, users need to properly manage VMs. This section describes basic operations during the VM lifecycle, such as creating, using, and deleting VMs. + +## VM Status + +A VM can be in one of the following status: + +- **undefined**: The VM is not defined or created. That is, libvirt considers that the VM does not exist. +- **shut off**: The VM has been defined but is not running, or the VM is terminated. +- **running**: The VM is running. +- **paused**: The VM is suspended and its running status is temporarily stored in the memory. The VM can be restored to the running status. +- **saved**: Similar to the **paused** status, the running state is stored in a persistent storage medium and can be restored to the running status. +- **crashed**: The VM crashes due to an internal error and cannot be restored to the running status. + +## Status Transition + +VMs in different status can be converted, but certain rules must be met. [Figure 1](#fig671014583483) describes the common rules for transiting the VM status. + +**Figure 1** Status transition diagram +![](figures/status-transition-diagram.png "status-transition-diagram") + +## VM ID + +In libvirt, a created VM instance is called a **domain**, which describes the configuration information of resources such as the CPU, memory, network device, and storage device of the VM. On a host, each domain has a unique ID, which is represented by the VM **Name**, **UUID**, and **Id**. For details, see [Table 1](#table84397266483). During the VM lifecycle, an operation can be performed on a specific VM by using a VM ID. + +**Table 1** Domain ID description + + + + + + + + + + + + + + + + +

ID

+

Description

+

Name

+

VM name

+

UUID

+

Universally unique identifier

+

Id

+

VM running ID

+
NOTE:

The ID is not displayed for a powered off VM.

+
+
+ +>![](public_sys-resources/icon-note.gif) **NOTE:** +>Run the **virsh** command to query the VM ID and UUID. For details, see [Querying VM Information](querying-vm-information.md). + diff --git a/content/en/docs/Virtualization/introduction-1.md b/content/en/docs/Virtualization/introduction-1.md new file mode 100644 index 000000000..4274f1b2e --- /dev/null +++ b/content/en/docs/Virtualization/introduction-1.md @@ -0,0 +1,6 @@ +# Introduction + +## Overview + +When a VM is running on a physical machine, the physical machine may be overloaded or underloaded due to uneven resource allocation. In addition, operations such as hardware replacement, software upgrade, networking adjustment, and troubleshooting are performed on the physical machine. Therefore, it is important to complete these operations without interrupting services. The VM live migration technology implements load balancing or the preceding operations on the premise of service continuity, improving user experience and work efficiency. VM live migration is to save the running status of the entire VM and quickly restore the VM to the original or even different hardware platforms. After the VM is restored, it can still run smoothly without any difference to users. Because the VM data can be stored on the current host or a shared remote storage device, openEuler supports shared and non-shared storage live migration. + diff --git a/content/en/docs/Virtualization/introduction-to-numa.md b/content/en/docs/Virtualization/introduction-to-numa.md new file mode 100644 index 000000000..6f1c032bd --- /dev/null +++ b/content/en/docs/Virtualization/introduction-to-numa.md @@ -0,0 +1,6 @@ +# Introduction to NUMA + +Traditional multi-core computing uses the symmetric multi-processor \(SMP\) mode. Multiple processors are connected to a centralized memory and I/O bus. All processors can access only the same physical memory. Therefore, the SMP system is also referred to as a uniform memory access \(UMA\) system. Uniformity means that a processor can only maintain or share a unique value for each data record in memory at any time. Obviously, the disadvantage of SMP is its limited scalability, because when the memory and the I/O interface are saturated, adding a processor cannot obtain higher performance. + +The non-uniform memory access architecture \(NUMA\) is a distributed memory access mode. In this mode, a processor can access different memory addresses at the same time, which greatly improves concurrency. With this feature, a processor is divided into multiple nodes, each of which is allocated a piece of local memory space. The processors of all nodes can access all physical memories, but the time required for accessing the memory on the local node is much shorter than that on a remote node. + diff --git a/content/en/docs/Virtualization/introduction-to-virtualization.md b/content/en/docs/Virtualization/introduction-to-virtualization.md new file mode 100644 index 000000000..239608d4d --- /dev/null +++ b/content/en/docs/Virtualization/introduction-to-virtualization.md @@ -0,0 +1,90 @@ +# Introduction to Virtualization + +## Overview + +In computer technologies, virtualization is a resource management technology. It abstracts various physical resources \(such as processors, memory, disks, and network adapters\) of a computer, converts the resources, and presents the resources for segmentation and combination into one or more computer configuration environments. This resource management technology breaks the inseparable barrier of the physical structure, and makes these resources not restricted by the architecture, geographical or physical configuration of the existing resources after virtualization. In this way, users can better leverage the computer hardware resources and maximize the resource utilization. + +Virtualization enables multiple virtual machines \(VMs\) to run on a physical server. The VMs share the processor, memory, and I/O resources of the physical server, but are logically isolated from each other. In the virtualization technology, the physical server is called a host machine, the VM running on the host machine is called a guest, and the operating system \(OS\) running on the VM is called a guest OS. A layer of software, called the virtualization layer, exists between a host machine and a VM to simulate virtual hardware. This virtualization layer is called a VM monitor, as shown in the following figure. + +**Figure 1** Virtualized architecture +![](figures/virtualized-architecture.png "virtualized-architecture") + +## Virtualized Architecture + +Currently, mainstream virtualization technologies are classified into two types based on the implementation structure of the Virtual Machine Monitor \(VMM\): + +- Hypervisor model + + In this model, VMM is considered as a complete operating system \(OS\) and has the virtualization function. VMM directly manages all physical resources, including processors, memory, and I/O devices. + +- Host model + + In this model, physical resources are managed by a host OS, which is a traditional OS, such as Linux and Windows. The host OS does not provide the virtualization capability. The VMM that provides the virtualization capability runs on the host OS as a driver or software of the system. The VMM invokes the host OS service to obtain resources and simulate the processor, memory, and I/O devices. The virtualization implementation of this model includes KVM and Virtual Box. + + +Kernel-based Virtual Machine \(KVM\) is a kernel module of Linux. It makes Linux a hypervisor. [Figure 2](#fig310953013541) shows the KVM architecture. KVM does not simulate any hardware device. It is used to enable virtualization capabilities provided by the hardware, such as Intel VT-x, AMD-V, Arm virtualization extensions. The user-mode QEMU simulates the mainboard, memory, and I/O devices. The user-mode QEMU works with the kernel KVM module to simulate VM hardware. The guest OS runs on the hardware simulated by the QEMU and KVM. + +**Figure 2** KVM architecture +![](figures/kvm-architecture.png "kvm-architecture") + +## Virtualization Components + +Virtualization components provided in the openEuler software package: + +- KVM: provides the core virtualization infrastructure to make the Linux system a hypervisor. Multiple VMs can run on the same host at the same time. +- QEMU: simulates a processor and provides a set of device models to work with KVM to implement hardware-based virtualization simulation acceleration. +- Libvirt: provides a tool set for managing VMs, including unified, stable, and open application programming interfaces \(APIs\), daemon process \(libvirtd\), and default command line management tool \(virsh\). +- Open vSwitch: provides a virtual network tool set for VMs, supports programming extension and standard management interfaces and protocols \(such as NetFlow, sFlow, IPFIX, RSPAN, CLI, LACP, and 802.1ag\). + +## Virtualization Characteristics + +Virtualization has the following characteristics: + +- Partition + + Virtualization can logically divide software on a physical server to run multiple VMs \(virtual servers\) with different specifications. + + +- Isolation + + Virtualization can simulate virtual hardware and provide hardware conditions for VMs to run complete OSs. The OSs of each VM are independent and isolated from each other. For example, if the OS of a VM breaks down due to a fault or malicious damage, the OSs and applications of other VMs are not affected. + + +- Encapsulation + + Encapsulation is performed on a per VM basis. The excellent encapsulation capability makes VMs more flexible than physical machines. Functions such as live migration, snapshot, and cloning of VMs can be realized, implementing quick deployment and automatic O&M of data centers. + + +- Hardware-irrelevant + + After being abstracted by the virtualization layer, VMs are not directly bound to underlying hardware and can run on other servers without being modified. + + +## Virtualization Advantages + +Virtualization brings the following benefits to infrastructure of the data center: + +- Flexibility and scalability + + Users can dynamically allocate and reclaim resources based to meet dynamic service requirements. In addition, users can plan different VM specifications based on product requirements and adjust the scale without changing the physical resource configuration. + + +- Higher availability and better O&M methods + + Virtualization provides O&M methods such as live migration, snapshot, live upgrade, and automatic DR. Physical resources can be deleted, upgraded, or changed without affecting users, improving service continuity and implementing automatic O&M. + + +- Security hardening + + Virtualization provides OS-level isolation and hardware-based processor operation privilege-level control. Compared with simple sharing mechanisms, virtualization provides higher security and implements controllable and secure access to data and services. + + +- High resource utilization + + Virtualization supports dynamic sharing of physical resources and resource pools, improving resource utilization. + + +## openEuler Virtualization + +openEuler provides KVM virtualization components that support the AArch64 and x86\_64 processor architectures. + diff --git a/content/en/docs/Virtualization/introduction.md b/content/en/docs/Virtualization/introduction.md new file mode 100644 index 000000000..f729cf8e2 --- /dev/null +++ b/content/en/docs/Virtualization/introduction.md @@ -0,0 +1,41 @@ +# Introduction + +## Overview + +Libvirt tool uses XML files to describe a VM feature, including the VM name, CPU, memory, disk, NIC, mouse, and keyboard. You can manage a VM by modifying configuration files. This section describes the elements in the XML configuration file to help users configure VMs. + +## Format + +The VM XML configuration file uses domain as the root element, which contains multiple other elements. Some elements in the XML configuration file can contain corresponding attributes and attribute values to describe VM information in detail. Different attributes of the same element are separated by spaces. + +The basic format of the XML configuration file is as follows. In the format, **label** indicates the label name, **attribute** indicates the attribute, and **value** indicates the attribute value. Change them based on the site requirements. + +``` + + VMName + 8 + 4 + + + + + +``` + +## Process + +1. Create an XML configuration file with domain root element. +2. Use the name tag to specify a unique VM name based on the naming rule. +3. Configure system resources such as the virtual CPU \(vCPU\) and virtual memory. +4. Configure virtual devices. + 1. Configure storage devices. + 2. Configure network devices. + 3. Configure the external bus structure. + 4. Configure external devices such as the mouse. + +5. Save the XML configuration file. + diff --git a/content/en/docs/Virtualization/kworker-isolation-and-binding.md b/content/en/docs/Virtualization/kworker-isolation-and-binding.md new file mode 100644 index 000000000..71d9c37f6 --- /dev/null +++ b/content/en/docs/Virtualization/kworker-isolation-and-binding.md @@ -0,0 +1,14 @@ +# kworker Isolation and Binding + +## Overview + +kworker is a per-CPU thread implemented by the Linux kernel. It is used to execute workqueue requests in the system. kworker threads will compete for physical core resources with vCPU threads, resulting in virtualization service performance jitter. To ensure that the VM can run stably and reduce the interference of kworker threads on the VM, you can bind kworker threads on the host to a specific CPU. + +## Instructions + +You can modify the **/sys/devices/virtual/workqueue/cpumask** file to bind tasks in the workqueue to the CPU specified by **cpumasks**. Masks in **cpumask** are in hexadecimal format. For example, if you need to bind kworker to CPU0 to CPU7, run the following command to change the mask to **ff**: + +``` +# echo ff > /sys/devices/virtual/workqueue/cpumask +``` + diff --git a/content/en/docs/Virtualization/libvirt-authentication.md b/content/en/docs/Virtualization/libvirt-authentication.md new file mode 100644 index 000000000..f6ad3aa8d --- /dev/null +++ b/content/en/docs/Virtualization/libvirt-authentication.md @@ -0,0 +1,84 @@ +# Libvirt Authentication + +## Overview + +When a user uses libvirt remote invocation but no authentication is performed, any third-party program that connects to the host's network can operate VMs through the libvirt remote invocation mechanism. This poses security risks. To improve system security, openEuler provides the libvirt authentication function. That is, users can remotely invoke a VM through libvirt only after identity authentication. Only specified users can access the VM, thereby protecting VMs on the network. + +## Enabling Libvirt Authentication + +By default, the libvirt remote invocation function is disabled on openEuler. This following describes how to enable the libvirt remote invocation and libvirt authentication functions. + +1. Log in to the host. +2. Modify the libvirt service configuration file **/etc/libvirt/libvirtd.conf** to enable the libvirt remote invocation and libvirt authentication functions. For example, to enable the TCP remote invocation that is based on the Simple Authentication and Security Layer \(SASL\) framework, configure parameters by referring to the following: + + ``` + #Transport layer security protocol. The value 0 indicates that the protocol is disabled, and the value 1 indicates that the protocol is enabled. You can set the value as needed. + listen_tls = 0 + #Enable the TCP remote invocation. To enable the libvirt remote invocation and libvirt authentication functions, set the value to 1. + listen_tcp = 1 + #User-defined protocol configuration for TCP remote invocation. The following uses sasl as an example. + auth_tcp = "sasl" + ``` + +3. Modify the **/etc/sasl2/libvirt.conf** configuration file to set the SASL mechanism and SASLDB. + + ``` + #Authentication mechanism of the SASL framework. + mech_list: digest-md5 + #Database for storing usernames and passwords + sasldb_path: /etc/libvirt/passwd.db + ``` + +4. Add the user for SASL authentication and set the password. Take the user **userName** as an example. The command is as follows: + + ``` + # saslpasswd2 -a libvirt userName + Password: + Again (for verification): + ``` + +5. Modify the **/etc/sysconfig/libvirtd** configuration file to enable the libvirt listening option. + + ``` + LIBVIRTD_ARGS="--listen" + ``` + +6. Restart the libvirtd service to make the modification to take effect. + + ``` + # systemctl restart libvirtd + ``` + +7. Check whether the authentication function for libvirt remote invocation takes effect. Enter the username and password as prompted. If the libvirt service is successfully connected, the function is successfully enabled. + + ``` + # virsh -c qemu+tcp://192.168.0.1/system + Please enter your authentication name: openeuler + Please enter your password: + Welcome to virsh, the virtualization interactive terminal. + + Type: 'help' for help with commands + 'quit' to quit + + virsh # + ``` + + +## Managing SASL + +The following describes how to manage SASL users. + +- Query an existing user in the database. + + ``` + # sasldblistusers2 -f /etc/libvirt/passwd.db + user@localhost.localdomain: userPassword + ``` + +- Delete a user from the database. + + ``` + # saslpasswd2 -a libvirt -d user + ``` + + diff --git a/content/en/docs/Virtualization/live-migration-operations.md b/content/en/docs/Virtualization/live-migration-operations.md new file mode 100644 index 000000000..059339228 --- /dev/null +++ b/content/en/docs/Virtualization/live-migration-operations.md @@ -0,0 +1,99 @@ +# Live Migration Operations + +## Prerequisites + +- Before live migration, ensure that the source and destination hosts can communicate with each other and have the same resource permissions. That is, the source and destination hosts can access the same storage and network resources. + +- Before VM live migration, perform a health check on the VM and ensure that the destination host has sufficient CPU, memory, and storage resources. + +## \(Optional\) Setting Live Migration Parameters + +Before live migration, run the **virsh migrate-setmaxdowntime** command to specify the maximum tolerable downtime during VM live migration. This is an optional configuration item. + +For example, to set the maximum downtime of the VM named **openEulerVM** to **500 ms**, run the following command: + +``` +# virsh migrate-setmaxdowntime openEulerVM 500 +``` + +In addition, you can run the **virsh migrate-setspeed** command to limit the bandwidth occupied by VM live migration. This prevents VM live migration from occupying too much bandwidth and affecting other VMs or services on the host. This operation is also optional for live migration. + +For example, to set the live migration bandwidth of the VM named **openEulerVM** to **500 Mbit/s**, run the following command: + +``` +# virsh migrate-setspeed openEulerVM --bandwidth 500 +``` + +You can run the **migrate-getspeed** command to query the maximum bandwidth during VM live migration. + +``` +# virsh migrate-getspeed openEulerVM +500 +``` + +## Live Migration Operations \(Shared Storage Scenario\) + +1. Check whether the storage device is shared. + + ``` + # virsh domblklist + Target Source + -------------------------------------------- + sda /dev/mapper/open_euleros_disk + sdb /mnt/nfs/images/openeuler-test.qcow2 + ``` + + Run the **virsh domblklist** command to query the storage device information of the VM. For example, the preceding query result shows that the VM is configured with two storage devices: sda and sdb. Then, check whether the backend storage of the two devices is local storage or remote storage, if all storage devices are on the remote shared storage, the VM is a shared storage VM. Otherwise, the VM is a non-shared storage VM. + +2. Run the following command for VM live migration: + + For example, run the **virsh migrate** command to migrate VM **openEulerVM** to the destination host. + + ``` + # virsh migrate --live --unsafe openEulerVM qemu+ssh:///system + ``` + + **** indicates the IP address of the destination host. Before live migration, SSH authentication must be performed to obtain the source host management permission. + + In addition, the **virsh migrate** command has the **--auto-converge** and **--timeout** sub-options to ensure successful migration. + + Related sub-options: + + The **--unsafe** command forcibly performs live migration and skips the security check step. + + The **--auto-converge** command reduces the CPU frequency to ensure that the live migration process can be converged. + + The **--timeout** command specifies the live migration timeout period. If the live migration exceeds the specified period, the VM is forcibly suspended to reduce the live migration. + +3. After the live migration is complete, the VM is running properly on the destination host. + +## Live Migration Operations \(Non-Shared Storage Scenario\) + +1. Query the VM storage device list to ensure that the VM uses non-shared storage. + + For example, the **virsh domblklist** command output shows that the VM to be migrated has a disk sda in qcow2 format. The XML configuration of sda is as follows: + + ``` + + + + +
+ + ``` + + Before live migration, create a virtual disk file in the same disk directory on the destination host. Ensure that the disk format and size are the same. + + ``` + # qemu-img create -f qcow2 /mnt/sdb/openeuler/openEulerVM.qcow2 20G + ``` + +2. Run the **virsh migrate** command on the source to perform live migration. During the migration, the storage is also migrated to the destination. + + ``` + # virsh migrate --live --unsafe --copy-storage-all --migrate-disks sda \ + openEulerVM qemu+ssh:///system + ``` + +3. After the live migration is complete, the command output indicates that the VM is running properly on the destination host and the storage device is migrated to the destination host. + diff --git a/content/en/docs/Virtualization/logging-in-to-a-vm.md b/content/en/docs/Virtualization/logging-in-to-a-vm.md new file mode 100644 index 000000000..8582a62a3 --- /dev/null +++ b/content/en/docs/Virtualization/logging-in-to-a-vm.md @@ -0,0 +1,4 @@ +# Logging In to a VM + +This section describes how to log in to a VM using VNC. + diff --git a/content/en/docs/Virtualization/logging-in-using-vnc-passwords.md b/content/en/docs/Virtualization/logging-in-using-vnc-passwords.md new file mode 100644 index 000000000..296c63de0 --- /dev/null +++ b/content/en/docs/Virtualization/logging-in-using-vnc-passwords.md @@ -0,0 +1,42 @@ +# Logging In Using VNC Passwords + +## Overview + +After the OS is installed on a VM, you can remotely log in to the VM using VNC to manage the VM. + +## Prerequisites + +Before logging in to a VM using a client, such as RealVNC or TightVNC, ensure that: + +- You have obtained the IP address of the host where the VM resides. +- The environment where the client resides can access the network of the host. +- You have obtained the VNC listening port of the VM. This port is automatically allocated when the client is started. Generally, the port number is **5900 + x** \(_x_ is a positive integer and increases in ascending order based on the VM startup sequence. **5900** is invisible to users.\) +- If a password has been set for the VNC, you also need to obtain the VNC password of the VM. + + >![](public_sys-resources/icon-note.gif) **NOTE:** + >To set a password for the VM VNC, edit the XML configuration file of the VM. That is, add the **passwd** attribute to the **graphics** element and set the attribute value to the password to be configured. For example, to set the VNC password of the VM to **n8VfjbFK**, configure the XML file as follows: + >``` + > + > + > + >``` + + +## Procedure + +1. Query the VNC port number used by the VM. For example, if the VM name is _openEulerVM_, run the following command: + + ``` + # virsh vncdisplay openEulerVM + :3 + ``` + + >![](public_sys-resources/icon-note.gif) **NOTE:** + >To log in to the VNC, you need to configure firewall rules to allow the connection of the VNC port. The reference command is as follows, where _X_ is **5900 + Port number**, for example, **5903**. + >``` + >firewall-cmd --zone=public --add-port=X/tcp + >``` + +2. Start the VncViewer software and enter the IP address and port number of the host. The format is **host IP address:port number**, for example, **10.133.205.53:3**. +3. Click **OK** and enter the VNC password \(optional\) to log in to the VM VNC. + diff --git a/content/en/docs/Virtualization/management-commands.md b/content/en/docs/Virtualization/management-commands.md new file mode 100644 index 000000000..f4a4cd895 --- /dev/null +++ b/content/en/docs/Virtualization/management-commands.md @@ -0,0 +1,95 @@ +# Management Commands + +## Overview + +You can use the **virsh** command tool to manage the VM lifecycle. This section describes the commands related to the lifecycle. + +## Prerequisites + +- Before performing operations on a VM, you need to query the VM status to ensure that the operations can be performed. For details about the conversion between status, see [Status Transition](introduction-0.md#section157801951173112) in [Introduction](introduction-0.md). +- You have administrator rights. +- The VM XML configuration files are prepared. + +## Command Usage + +You can run the **virsh** command to manage the VM lifecycle. The command format is as follows: + +``` +virsh +``` + +The parameters are described as follows: + +- _operate_: manages VM lifecycle operations, such as creating, deleting, and starting VMs. +- _obj_: specifies the operation object, for example, the VM to be operated. +- _options_: command option. This parameter is optional. + +[Table 1](#table389518422611) describes the commands used for VM lifecycle management. _VMInstanse_ indicates the VM name, VM ID, or VM UUID, _XMLFile_ indicates the XML configuration file of the VM, and _DumpFile_ indicates the dump file. Change them based on the site requirements. + +**Table 1** VM Lifecycle Management Commands + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Command

+

Description

+

virsh define <XMLFile>

+

Define a persistent VM. After the definition is complete, the VM is shut down and is considered as a domain instance.

+

virsh create <XMLFile>

+

Create a temporary VM. After the VM is created, it is in the running status.

+

virsh start <VMInstanse>

+

Start the VM.

+

virsh shutdown <VMInstanse>

+

Shut down the VM. Start the VM shutdown process. If the VM fails to be shut down, forcibly stop it.

+

virsh destroy <VMInstanse>

+

Forcibly stop the VM.

+

virsh reboot <VMInstanse>

+

Reboot the VM.

+

virsh save <VMInstanse> <DumpFile>

+

Dump the VM running status to a file.

+

virsh restore <DumpFile>

+

Restore the VM from the VM status dump file.

+

virsh suspend <VMInstanse>

+

Suspend the VM to make the VM in the paused status.

+

virsh resume <VMInstanse>

+

Resume the VM and restore the VM in the paused status to the running status.

+

virsh undefine <VMInstanse>

+

After a persistent VM is destroyed, the VM lifecycle ends and no more operations can be performed on the VM.

+
+ diff --git a/content/en/docs/Virtualization/managing-device-passthrough.md b/content/en/docs/Virtualization/managing-device-passthrough.md new file mode 100644 index 000000000..e3fde39b8 --- /dev/null +++ b/content/en/docs/Virtualization/managing-device-passthrough.md @@ -0,0 +1,6 @@ +# Managing Device Passthrough + +The device passthrough technology enables VMs to directly access physical devices. The I/O performance of VMs can be improved in this way. + +Currently, the VFIO passthrough is used. It can be classified into PCI passthrough and SR-IOV passthrough based on device type. + diff --git a/content/en/docs/Virtualization/managing-devices.md b/content/en/docs/Virtualization/managing-devices.md new file mode 100644 index 000000000..eedbbabd0 --- /dev/null +++ b/content/en/docs/Virtualization/managing-devices.md @@ -0,0 +1 @@ +# Managing Devices diff --git a/content/en/docs/Virtualization/managing-vcpu.md b/content/en/docs/Virtualization/managing-vcpu.md new file mode 100644 index 000000000..0e5294e5f --- /dev/null +++ b/content/en/docs/Virtualization/managing-vcpu.md @@ -0,0 +1,2 @@ +# Managing vCPU + diff --git a/content/en/docs/Virtualization/managing-virtual-disks.md b/content/en/docs/Virtualization/managing-virtual-disks.md new file mode 100644 index 000000000..5af57c8fd --- /dev/null +++ b/content/en/docs/Virtualization/managing-virtual-disks.md @@ -0,0 +1,48 @@ +# Managing Virtual Disks + +## Overview + +Virtual disk types include virtio-blk, virtio-scsi, and vhost-scsi. virtio-blk simulates a block device, and virtio-scsi and vhost-scsi simulate SCSI devices. + +- virtio-blk: It can be used for common system disk and data disk. In this configuration, the virtual disk is presented as **vd\[a-z\]** or **vd\[a-z\]\[a-z\]** in the VM. +- virtio-scsi: It is recommended for common system disk and data disk. In this configuration, the virtual disk is presented as **sd\[a-z\]** or **sd\[a-z\]\[a-z\]** in the VM. +- vhost-scsi: It is recommended for the virtual disk that has high performance requirements. In this configuration, the virtual disk is presented as **sd\[a-z\]** or **sd\[a-z\]\[a-z\]** on the VM. + +## Procedure + +For details about how to configure a virtual disk, see [3.2.4.1 Storage Devices](storage-devices.md). This section uses the virtio-scsi disk as an example to describe how to attach and detach a virtual disk. + +- Attach a virtio-scsi disk. + + Run the **virsh attach-device** command to attach the virtio-scsi virtual disk. + + ``` + # virsh attach-device + ``` + + The preceding command can be used to attach a disk to a VM online. The disk information is specified in the **attach-device.xml** file. The following is an example of the **attach-device.xml** file: + + ``` + ### attach-device.xml ### + + + + + +
+ + ``` + + The disk attached by running the preceding commands becomes invalid after the VM is shut down and restarted. If you need to permanently attach a virtual disk to a VM, run the **virsh attach-device** command with the **--config** parameter. + +- Detach a virtio-scsi disk. + + If a disk attached online is no longer used, run the **virsh detach** command to dynamically detach it. + + ``` + # virsh detach-device + ``` + + **detach-device.xml** specifies the XML information of the disk to be detached, which must be the same as the XML information during dynamic attachment. + + diff --git a/content/en/docs/Virtualization/managing-virtual-memory.md b/content/en/docs/Virtualization/managing-virtual-memory.md new file mode 100644 index 000000000..f2620c5e0 --- /dev/null +++ b/content/en/docs/Virtualization/managing-virtual-memory.md @@ -0,0 +1 @@ +# Managing Virtual Memory diff --git a/content/en/docs/Virtualization/managing-vm-usb.md b/content/en/docs/Virtualization/managing-vm-usb.md new file mode 100644 index 000000000..4e5bd286c --- /dev/null +++ b/content/en/docs/Virtualization/managing-vm-usb.md @@ -0,0 +1,4 @@ +# Managing VM USB + +To facilitate the use of USB devices such as USB key devices and USB mass storage devices on VMs, openEuler provides the USB device passthrough function. Through USB passthrough and hot-swappable interfaces, you can configure USB passthrough devices for VMs, or hot swap USB devices when VMs are running. + diff --git a/content/en/docs/Virtualization/managing-vms.md b/content/en/docs/Virtualization/managing-vms.md new file mode 100644 index 000000000..c03aeead4 --- /dev/null +++ b/content/en/docs/Virtualization/managing-vms.md @@ -0,0 +1,3 @@ +# Managing VMs + + diff --git a/content/en/docs/Virtualization/managing-vnics.md b/content/en/docs/Virtualization/managing-vnics.md new file mode 100644 index 000000000..accead303 --- /dev/null +++ b/content/en/docs/Virtualization/managing-vnics.md @@ -0,0 +1,44 @@ +# Managing vNICs + +## Overview + +The vNIC types include virtio-net, vhost-net, and vhost-user. After creating a VM, you may need to attach or detach a vNIC. openEuler supports NIC hot swap, which can change the network throughput and improve system flexibility and scalability. + +## Procedure + +For details about how to configure a virtual NIC, see [3.2.4.2 Network Devices](network-device.md). This section uses the vhost-net NIC as an example to describe how to attach and detach a vNIC. + +- Attach the vhost-net NIC. + + Run the **virsh attach-device** command to attach the vhost-net vNIC. + + ``` + # virsh attach-device + ``` + + The preceding command can be used to attach a vhost-net NIC to a running VM. The NIC information is specified in the **attach-device.xml** file. The following is an example of the **attach-device.xml** file: + + ``` + ### attach-device.xml ### + + + + + + + + ``` + + The vhost-net NIC attached using the preceding commands becomes invalid after the VM is shut down and restarted. If you need to permanently attach a vNIC to a VM, run the **virsh attach-device** command with the **--config** parameter. + +- Detach the vhost-net NIC. + + If a NIC attached online is no longer used, run the **virsh detach** command to dynamically detach it. + + ``` + # virsh detach-device + ``` + + **detach-device.xml** specifies the XML information of the vNIC to be detached, which must be the same as the XML information during dynamic attachment. + + diff --git a/content/en/docs/Virtualization/minimum-hardware-requirements.md b/content/en/docs/Virtualization/minimum-hardware-requirements.md new file mode 100644 index 000000000..a2d58a8ed --- /dev/null +++ b/content/en/docs/Virtualization/minimum-hardware-requirements.md @@ -0,0 +1,10 @@ +# Minimum Hardware Requirements + +The minimum hardware requirements for installing virtualization components on openEuler are as follows: + +- AArch64 processor architecture: ARMv8 or later, supporting virtualization expansion +- x86\_64 processor architecture, supporting VT-x +- 2-core CPU +- 4 GB memory +- 16 GB available disk space + diff --git a/content/en/docs/Virtualization/modify-vm-configurations-online.md b/content/en/docs/Virtualization/modify-vm-configurations-online.md new file mode 100644 index 000000000..fa95ec8b5 --- /dev/null +++ b/content/en/docs/Virtualization/modify-vm-configurations-online.md @@ -0,0 +1,37 @@ +# Modify VM Configurations Online + +## Overview + +After a VM is created, users can modify VM configurations. This process is called online modification of VM configuration. After the configuration is modified online, the new VM configuration file is persistent and takes effect after the VM is shut down and restarted. + +The format of the command for modifying VM configuration is as follows: + +``` +virsh edit +``` + +The **virsh edit** command is used to edit the XML configuration file corresponding to **domain** to update VM configuration. **virsh edit** uses the **vi** program as the default editor. You can specify the editor type by modifying the environment variable _EDITOR_ or _VISUAL_. By default, **virsh edit** preferentially uses the text editor specified by the environment variable _VISUAL_. + +## Procedure + +1. \(Optional\) Set the editor of the **virsh edit** command to **vim**. + + ``` + # export VISUAL=vim + ``` + +2. Run the **virsh edit** command to open the XML configuration file of the _openEulerVM_. + + ``` + # virsh edit openEulerVM + ``` + +3. Modify the VM configuration file. +4. Save the VM configuration file and exit. +5. Reboot the VM for the configuration to take effect. + + ``` + # virsh reboot openEulerVM + ``` + + diff --git a/content/en/docs/Virtualization/network-device.md b/content/en/docs/Virtualization/network-device.md new file mode 100644 index 000000000..1944a23a7 --- /dev/null +++ b/content/en/docs/Virtualization/network-device.md @@ -0,0 +1,109 @@ +# Network Device + +## Overview + +The XML configuration file can be used to configure virtual network devices, including the ethernet mode, bridge mode, and vhostuser mode. This section describes how to configure vNICs. + +## Elements + +In the XML configuration file, the element **interface** is used, and its attribute **type** indicates the mode of the vNIC. The options are **ethernet**, **bridge**, and **vhostuser**. The following uses the vNIC in bridge mode as an example to describe its subelements and attributes. + +**Table 1** Common subelements of a vNIC in bridge mode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Subelement

+

Subelement Description

+

Attribute and Description

+

mac

+

The mac address of the vNIC.

+

address: specifies the mac address. If this parameter is not set, the system automatically generates a mac address.

+

target

+

Name of the backend vNIC.

+

dev: name of the created backend tap device.

+

source

+

Specify the backend of the vNIC.

+

bridge: used together with the bridge mode. The value is the bridge name.

+

boot

+

The NIC can be used for remote startup.

+

order: specifies the startup sequence of NICs.

+

model

+

Indicates the type of a vNIC.

+

type: virtio is usually used for the NIC in bridge mode.

+

virtualport

+

Port type

+

type: If an OVS bridge is used, set this parameter to openvswitch.

+

driver

+

Backend driver type

+

name: driver name. The value is vhost.

+

queues: the number of NIC queues.

+
+ +## Configuration Example + +- After creating the Linux bridge br0 by referring to [Preparing the VM Network](preparing-the-vm-network.md), configure a vNIC of the VirtIO type bridged on the br0 bridge. The corresponding XML configuration is as follows: + + ``` + + ... + + + + + + ... + + + ``` + +- If an OVS network bridge is created according to [Preparing the VM Network](preparing-the-vm-network.md), configure a VirtIO vNIC device that uses the vhost driver and has four queues. + + ``` + + ... + + + + + + + + ... + + + ``` + + diff --git a/content/en/docs/Virtualization/other-common-configuration-items.md b/content/en/docs/Virtualization/other-common-configuration-items.md new file mode 100644 index 000000000..070d55127 --- /dev/null +++ b/content/en/docs/Virtualization/other-common-configuration-items.md @@ -0,0 +1,50 @@ +# Other Common Configuration Items + +## Overview + +In addition to system resources and virtual devices, other elements need to be configured in the XML configuration file. This section describes how to configure these elements. + +## Elements + +- **iothreads**: specifies the number of **iothread**, which can be used to accelerate storage device performance. + +- **on\_poweroff**: action taken when a VM is powered off. +- **on\_reboot**: action taken when a VM is rebooted. +- **on\_crash**: action taken when a VM is on crash. +- **clock**: indicates the clock type. + + **offset** attribute: specifies the VM clock synchronization type. The value can be **localtime**, **utc**, **timezone**, or **variable**. + + +## Configuration Example + +Configure two **iothread** for the VM to accelerate storage device performance. + +``` +2 +``` + +Destroy the VM when it is powered off. + +``` +destroy +``` + +Restart the VM. + +``` +restart +``` + +Restart the VM when it is crashed. + +``` +restart +``` + +The clock uses the **utc** synchronization mode. + +``` + +``` + diff --git a/content/en/docs/Virtualization/other-common-devices.md b/content/en/docs/Virtualization/other-common-devices.md new file mode 100644 index 000000000..c614a5774 --- /dev/null +++ b/content/en/docs/Virtualization/other-common-devices.md @@ -0,0 +1,67 @@ +# Other Common Devices + +## Overview + +In addition to storage devices and network devices, some external devices need to be specified in the XML configuration file. This section describes how to configure these elements. + +## Elements + +- **serial**: serial port device + + Attribute **type**: specifies the serial port type. The common attribute values are **pty**, **tcp**, **pipe**, and **file**. + + +- **video**: media device + + **type** attribute: media device type The common attribute value of the AArch architecture is **virtio**, and that of the x86\_64 architecture is **vga** or **cirrus**. + + Subelement **model**: subelement of **video**, which is used to specify the media device type. + + In the subelement **model**, if **type** is set to **vga**, a Video Graphics Array \(VGA\) video card is configured. **vram** indicates the size of the video RAM, in KB by default. + + For example, if a 16 MB VGA video card is configured for an x86\_64 VM, configuration in the XML file is as follows. In the example, the value of **vram** is the size of video RAM, in KB by default. + + ``` + + ``` + +- **input**: output device + + **type** attribute: specifies the type of the output device. The common attribute values are **tabe** and **keyboard**, indicating that the output device is the tablet and keyboard respectively. + + **bus**: specifies the bus to be mounted. The common attribute value is **USB**. + +- **emulator**: emulator application path +- **graphics**: graphics device + + **type** attribute: specifies the type of a graphics device. The common attribute value is **vnc**. + + **listen** attribute: specifies the IP address to be listened to. + + +## Configuration Example + +For example, in the following example, the VM emulator path, pty serial port, VirtIO media device, USB tablet, USB keyboard, and VNC graphics device are configured. + +>![](public_sys-resources/icon-note.gif) **NOTE:** +>When **type** of **graphics** is set to **VNC**, you are advised to set the **passwd** attribute, that is, the password for logging in to the VM using VNC. + +``` + + ... + + /usr/libexec/qemu-kvm + + + + + + ... + + +``` + diff --git a/content/en/docs/Virtualization/pci-passthrough.md b/content/en/docs/Virtualization/pci-passthrough.md new file mode 100644 index 000000000..2629311f5 --- /dev/null +++ b/content/en/docs/Virtualization/pci-passthrough.md @@ -0,0 +1,84 @@ +# PCI Passthrough + +PCI passthrough directly assigns a physical PCI device on the host to a VM. The VM can directly access the device. PCI passthrough uses the VFIO device passthrough mode. The PCI passthrough configuration file in XML format for a VM is as follows: + +``` + + + +
+ + +
+ +``` + +**Table 1** Device configuration items for PCI passthrough + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Parameter

+

Description

+

Value

+

hostdev.source.address.domain

+

Domain ID of the PCI device on the host OS.

+

≥ 0

+

hostdev.source.address.bus

+

Bus ID of the PCI device on the host OS.

+

≥ 1

+

hostdev.source.address.slot

+

Device ID of the PCI device on the host OS.

+

≥ 0

+

hostdev.source.address.function

+

Function ID of the PCI device on the host OS.

+

≥ 0

+

hostdev.driver.name

+

Backend driver of PCI passthrough. This parameter is optional.

+

vfio (default value)

+

hostdev.rom

+

Specifies whether the VM can access the ROM of the passthrough device.

+

This parameter can be set to on or off. The default value is on.

+
  • on: indicates that the VM can access the ROM of the passthrough device. For example, if a VM with a passthrough NIC needs to boot from the preboot execution environment (PXE), or a VM with a passthrough Host Bus Adapter (HBA) card needs to boot from the ROM, you can set this parameter to on.
  • off: indicates that the VM cannot access the ROM of the passthrough device.
+

hostdev.address type

+

Bus, Device, and Function (BDF) IDs on the guest OS displayed on the PCI device.

+

[0x03–0x1e] (range of slot ID)

+

Note:

+
  • domain indicates the domain information, bus indicates the bus ID, slot indicates the slot ID, and function indicates the function.
  • Except for slot, default values of these parameters are 0.
  • The first slot 0x00 is occupied by the system, the second slot 0x01 is occupied by the IDE controller and USB controller, and the third slot 0x02 is occupied by the video.
  • The last slot 0x1f is occupied by the PV channel.
+
+ +>![](public_sys-resources/icon-note.gif) **NOTE:** +>VFIO passthrough is implemented by IOMMU group. Devices are divided to IOMMU groups based on access control services \(ACS\) on hardware. Devices in the same IOMMU group can be assigned to only one VM. If multiple functions on a PCI device belong to the same IOMMU group, they can be directly assigned to only one VM as well. + diff --git a/content/en/docs/Virtualization/performance-best-practices.md b/content/en/docs/Virtualization/performance-best-practices.md new file mode 100644 index 000000000..0272ac557 --- /dev/null +++ b/content/en/docs/Virtualization/performance-best-practices.md @@ -0,0 +1 @@ +# Performance Best Practices diff --git a/content/en/docs/Virtualization/precautions-and-restrictions.md b/content/en/docs/Virtualization/precautions-and-restrictions.md new file mode 100644 index 000000000..2088ab946 --- /dev/null +++ b/content/en/docs/Virtualization/precautions-and-restrictions.md @@ -0,0 +1,19 @@ +# Precautions and Restrictions + +- During the live migration, ensure that the network is in good condition. If the network is interrupted, live migration is suspended until the network is recovered. If the network connection times out, live migration fails. +- During the migration, do not perform operations such as VM life cycle management and VM hardware device management. +- During VM migration, ensure that the source and destination servers are not powered off or restarted unexpectedly. Otherwise, the live migration fails or the VM may be powered off. +- Do not shut down, restart, or restore the VM during the migration. Otherwise, the live migration may fail. If you perform live migration when the VM is rebooted in ACPI mode, the VM will be shut down. + +- Only homogeneous live migration is supported. That is, the CPU models of the source and destination must be the same. +- A VM can be successfully migrated across service network segments. However, network exceptions may occur after the VM is migrated to the destination. To prevent this problem, ensure that the service network segments to be migrated are the same. +- If the number of vCPUs on the source VM is greater than that on the destination physical machine, the VM performance will be affected after the migration. Ensure that the number of vCPUs on the destination physical machine is greater than or equal to that on the source VM. + +Precautions for live migration of non-shared storage: + +- The source and destination cannot be the same disk image file. You need to perform special processing on such migration to prevent image damage caused by data overwriting. +- Shared disks cannot be migrated. You need to perform foolproof operations on such migration. +- The destination image supports only files and does not support raw devices. You need to perform foolproof processing on the migration of raw devices. +- The size and number of disk images created on the destination must be the same as those on the source. Otherwise, the migration fails. +- In hybrid migration scenarios, the disks to be migrated must not include shared and read-only disks. + diff --git a/content/en/docs/Virtualization/preparing-a-vm-image.md b/content/en/docs/Virtualization/preparing-a-vm-image.md new file mode 100644 index 000000000..dea0c83c4 --- /dev/null +++ b/content/en/docs/Virtualization/preparing-a-vm-image.md @@ -0,0 +1,99 @@ +# Preparing a VM Image + +## Overview + +A VM image is a file that contains a virtual disk that has been installed and can be used to start the OS. VM images are in different formats, such as raw and qcow2. Compared with the raw format, the qcow2 format occupies less space and supports features such as snapshot, copy-on-write, AES encryption, and zlib compression. However, the performance of the qcow2 format is slightly lower than that of the raw format. The qemu-img tool is used to create image files. This section uses the qcow2 image file as an example to describe how to create a VM image. + +## Creating an Image + +To create a qcow2 image file, perform the following steps: + +1. Install the **qemu-img** software package. + + ``` + # yum install -y qemu-img + ``` + +2. Run the **create** command of the qemu-img tool to create an image file. The command format is as follows: + + ``` + $ qemu-img create -f -o + ``` + + The parameters are described as follows: + + - _imgFormat_: Image format. The value can be **raw** or **qcow2**. + - _fileOption_: File option, which is used to set features of an image file, such as specifying a backend image file, compression, and encryption. + - _fileName_: File name. + - _diskSize_: Disk size, which specifies the size of a block disk. The unit can be K, M, G, or T, indicating KiB, MiB, GiB, or TiB. + + For example, to create an image file openEuler-imge.qcow2 whose disk size is 4 GB and format is qcow2, the command and output are as follows: + + ``` + $ qemu-img create -f qcow2 openEuler-image.qcow2 4G + Formatting 'openEuler-image.qcow2', fmt=qcow2 size=4294967296 cluster_size=65536 lazy_refcounts=off refcount_bits=16 + ``` + + +## Changing the Image Disk Space + +If a VM requires larger disk space, you can use the qemu-img tool to change the disk space of the VM image. The method is as follows: + +1. Run the following command to query the disk space of the VM image: + + ``` + # qemu-img info + ``` + + For example, if the command and output for querying the disk space of the openEuler-image.qcow2 image are as follows, the disk space of the image is 4 GiB. + + ``` + # qemu-img info openEuler-image.qcow2 + image: openEuler-image.qcow2 + file format: qcow2 + virtual size: 4.0G (4294967296 bytes) + disk size: 196K + cluster_size: 65536 + Format specific information: + compat: 1.1 + lazy refcounts: false + refcount bits: 16 + corrupt: false + ``` + +2. Run the following command to change the image disk space. In the command, _imgFiLeName_ indicates the image name, and **+** and **-** indicate the image disk space to be increased and decreased, respectively. The unit is KB, MB, GB, and T, indicating KiB, MiB, GiB, and TiB, respectively. + + ``` + # qemu-img resize [+|-] + ``` + + For example, to expand the disk space of the openEuler-image.qcow2 image to 24 GiB, that is, to add 20 GiB to the original 4 GiB, the command and output are as follows: + + ``` + # qemu-img resize openEuler-image.qcow2 +20G + Image resized. + ``` + +3. Run the following command to check whether the image disk space is changed successfully: + + ``` + # qemu-img info + ``` + + For example, if the openEuler-image.qcow2 image disk space has been expanded to 24 GiB, the command and output are as follows: + + ``` + # qemu-img info openEuler-image.qcow2 + image: openEuler-image.qcow2 + file format: qcow2 + virtual size: 24G (25769803776 bytes) + disk size: 200K + cluster_size: 65536 + Format specific information: + compat: 1.1 + lazy refcounts: false + refcount bits: 16 + corrupt: false + ``` + + diff --git a/content/en/docs/Virtualization/preparing-boot-firmware.md b/content/en/docs/Virtualization/preparing-boot-firmware.md new file mode 100644 index 000000000..fe572fdb0 --- /dev/null +++ b/content/en/docs/Virtualization/preparing-boot-firmware.md @@ -0,0 +1,62 @@ +# Preparing Boot Firmware + +## Overview + +The boot mode varies depending on the architecture. x86 servers support the Unified Extensible Firmware Interface \(UFEI\) and BIOS boot modes, and AArch64 servers support only the UFEI boot mode. By default, boot files corresponding to the BIOS mode have been installed on openEuler. No additional operations are required. This section describes how to install boot files corresponding to the UEFI mode. + +The Unified Extensible Firmware Interface \(UEFI\) is a new interface standard used for power-on auto check and OS boot. It is an alternative to the traditional BIOS. EDK II is a set of open source code that implements the UEFI standard. In virtualization scenarios, the EDK II tool set is used to start a VM in UEFI mode. Before using the EDK II tool, you need to install the corresponding software package before starting a VM. This section describes how to install the EDK II tool. + +## Installation Methods + +If the UEFI mode is used, the tool set EDK II needs to be installed. The installation package for the AArch64 architecture is **edk2-aarch64**, and that for the x86 architecture is **edk2-ovmf**. This section uses the AArch64 architecture as an example to describe the installation method. For the x86 architecture, you only need to replace **edk2-aarch64** with **edk2-ovmf**. + +1. Run the following command to install the **edk** software package: + + In the AArch64 architecture, the **edk2** package name is **edk2-aarch64**. + + ``` + # yum install -y edk2-aarch64 + ``` + + In the x86\_64 architecture, the **edk2** package name is **edk2-ovmf**. + + ``` + # yum install -y edk2-ovmf + ``` + +2. Run the following command to check whether the **edk** software package is successfully installed: + + In the AArch64 architecture, the command is as follows: + + ``` + # rpm -qi edk2-aarch64 + ``` + + If information similar to the following is displayed, the **edk** software package is successfully installed: + + ``` + Name : edk2-aarch64 + Version : 20180815gitcb5f4f45ce + Release : 1.oe3 + Architecture: noarch + Install Date: Mon 22 Jul 2019 04:52:33 PM CST + Group : Applications/Emulators + ``` + + In the x86\_64 architecture, the command is as follows: + + ``` + # rpm -qi edk2-ovmf + ``` + + If information similar to the following is displayed, the **edk** software package is successfully installed: + + ``` + Name : edk2-ovmf + Version : 201908 + Release : 6.oe1 + Architecture: noarch + Install Date: Thu 19 Mar 2020 09:09:06 AM CST + ``` + + diff --git a/content/en/docs/Virtualization/preparing-the-vm-network.md b/content/en/docs/Virtualization/preparing-the-vm-network.md new file mode 100644 index 000000000..9d1569882 --- /dev/null +++ b/content/en/docs/Virtualization/preparing-the-vm-network.md @@ -0,0 +1,190 @@ +# Preparing the VM Network + +## Overview + +To enable the VM to communicate with external networks, you need to configure the network environment for the VM. KVM virtualization supports multiple types of bridges, such as Linux bridge and Open vSwitch bridge. As shown in [Figure 1](#fig1785384714917), the data transmission path is **VM \> virtual NIC device \> Linux bridge or Open vSwitch bridge \> physical NIC**. In addition to configuring virtual NICs \(vNICs\) for VMs, creating a bridge for a host is the key to connecting to a virtualized network. + +This section describes how to set up a Linux bridge and an Open vSwitch bridge to connect a VM to the network. You can select a bridge type based on the site requirements. + +**Figure 1** Virtual network structure +![](figures/virtual-network-structure.png "virtual-network-structure") + +## Setting Up a Linux Bridge + +The following describes how to bind the physical NIC eth0 to the Linux bridge br0. + +1. Install the **bridge-utils** software package. + + The Linux bridge is managed by the brctl tool. The corresponding installation package is bridge-utils. The installation command is as follows: + + ``` + # yum install -y bridge-utils + ``` + +2. Create bridge br0. + + ``` + # brctl addbr br0 + ``` + +3. Bind the physical NIC eth0 to the Linux bridge. + + ``` + # brctl addif br0 eth0 + ``` + +4. After eth0 is connected to the bridge, the IP address of eth0 is set to 0.0.0.0. + + ``` + # ifconfig eth0 0.0.0.0 + ``` + +5. Set the IP address of br0. + - If a DHCP server is available, set a dynamic IP address through the dhclient. + + ``` + # dhclient br0 + ``` + + - If no DHCP server is available, configure a static IP address for br0. For example, set the static IP address to 192.168.1.2 and subnet mask to 255.255.255.0. + + ``` + # ifconfig br0 192.168.1.2 netmask 255.255.255.0 + ``` + + + +## Setting Up an Open vSwitch Bridge + +The Open vSwitch bridge provides more convenient automatic orchestration capabilities. This section describes how to install network virtualization components to set up an Open vSwitch bridge. + +**1. Install the Open vSwitch component.** + +If the Open vSwitch is used to provide virtual network, you need to install the Open vSwitch network virtualization component. + +1. Install the Open vSwitch component. + + ``` + # yum install -y openvswitch-kmod + # yum install -y openvswitch + ``` + +2. Start the Open vSwitch service. + + ``` + # systemctl start openvswitch + ``` + + +**2. Check whether the installation is successful.** + +Check whether the Open vSwitch components, openvswitch-kmod and openvswitch, are successfully installed. + +1. Check whether the openvswitch-kmod component is successfully installed. If the installation is successful, the software package information is displayed. The command and output are as follows: + + ``` + # rpm -qi openvswitch-kmod + Name : openvswitch-kmod + Version : 2.11.1 + Release : 1.oe3 + Architecture: aarch64 + Install Date: Thu 15 Aug 2019 05:07:49 PM CST + Group : System Environment/Daemons + Size : 15766774 + License : GPLv2 + Signature : (none) + Source RPM : openvswitch-kmod-2.11.1-1.oe3.src.rpm + Build Date : Thu 08 Aug 2019 04:33:08 PM CST + Build Host : armbuild10b175b113b44 + Relocations : (not relocatable) + Vendor : OpenSource Security Ralf Spenneberg + URL : http://www.openvswitch.org/ + Summary : Open vSwitch Kernel Modules + Description : + Open vSwitch provides standard network bridging functions augmented with + support for the OpenFlow protocol for remote per-flow control of + traffic. This package contains the kernel modules. + ``` + +2. Check whether the openvswitch component is successfully installed. If the installation is successful, the software package information is displayed. The command and output are as follows: + + ``` + # rpm -qi openvswitch + Name : openvswitch + Version : 2.11.1 + Release : 1 + Architecture: aarch64 + Install Date: Thu 15 Aug 2019 05:08:35 PM CST + Group : System Environment/Daemons + Size : 6051185 + License : ASL 2.0 + Signature : (none) + Source RPM : openvswitch-2.11.1-1.src.rpm + Build Date : Thu 08 Aug 2019 05:24:46 PM CST + Build Host : armbuild10b247b121b105 + Relocations : (not relocatable) + Vendor : Nicira, Inc. + URL : http://www.openvswitch.org/ + Summary : Open vSwitch daemon/database/utilities + Description : + Open vSwitch provides standard network bridging functions and + support for the OpenFlow protocol for remote per-flow control of + traffic. + ``` + +3. Check whether the Open vSwitch service is started successfully. If the service is in the **Active** state, the service is started successfully. You can use the command line tool provided by the Open vSwitch. The command and output are as follows: + + ``` + # systemctl status openvswitch + ● openvswitch.service - LSB: Open vSwitch switch + Loaded: loaded (/etc/rc.d/init.d/openvswitch; generated) + Active: active (running) since Sat 2019-08-17 09:47:14 CST; 4min 39s ago + Docs: man:systemd-sysv-generator(8) + Process: 54554 ExecStart=/etc/rc.d/init.d/openvswitch start (code=exited, status=0/SUCCESS) + Tasks: 4 (limit: 9830) + Memory: 22.0M + CGroup: /system.slice/openvswitch.service + ├─54580 ovsdb-server: monitoring pid 54581 (healthy) + ├─54581 ovsdb-server /etc/openvswitch/conf.db -vconsole:emer -vsyslog:err -vfile:info --remote=punix:/var/run/openvswitch/db.sock --private-key=db:Open_vSwitch,SSL,private_key --certificate> + ├─54602 ovs-vswitchd: monitoring pid 54603 (healthy) + └─54603 ovs-vswitchd unix:/var/run/openvswitch/db.sock -vconsole:emer -vsyslog:err -vfile:info --mlockall --no-chdir --log-file=/var/log/openvswitch/ovs-vswitchd.log --pidfile=/var/run/open> + ``` + + +**3. Set up an Open vSwitch bridge** + +The following describes how to set up an Open vSwitch layer-1 bridge br0. + +1. Create the Open vSwitch bridge br0. + + ``` + # ovs-vsctl add-br br0 + ``` + +2. Add the physical NIC eth0 to br0. + + ``` + # ovs-vsctl add-port br0 eth0 + ``` + +3. After eth0 is connected to the bridge, the IP address of eth0 is set to 0.0.0.0. + + ``` + # ifconfig eth0 0.0.0.0 + ``` + +4. Assign an IP address to OVS bridge br0. + - If a DHCP server is available, set a dynamic IP address through the dhclient. + + ``` + # dhclient br0 + ``` + + - If no DHCP server is available, configure a static IP address for br0, for example, 192.168.1.2. + + ``` + # ifconfig br0 192.168.1.2 + ``` + + + diff --git a/content/en/docs/Virtualization/public_sys-resources/icon-caution.gif b/content/en/docs/Virtualization/public_sys-resources/icon-caution.gif new file mode 100644 index 0000000000000000000000000000000000000000..6e90d7cfc2193e39e10bb58c38d01a23f045d571 GIT binary patch literal 580 zcmV-K0=xZ3Nk%w1VIu$?0Hp~4{QBgqmQ+MG9K51r{QB&)np^||1PlfQ%(86!{`~yv zv{XhUWKt}AZaiE{EOcHp{O-j3`t;<+eEiycJT4p@77X;(jQsMfB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 literal 0 HcmV?d00001 diff --git a/content/en/docs/Virtualization/public_sys-resources/icon-danger.gif b/content/en/docs/Virtualization/public_sys-resources/icon-danger.gif new file mode 100644 index 0000000000000000000000000000000000000000..6e90d7cfc2193e39e10bb58c38d01a23f045d571 GIT binary patch literal 580 zcmV-K0=xZ3Nk%w1VIu$?0Hp~4{QBgqmQ+MG9K51r{QB&)np^||1PlfQ%(86!{`~yv zv{XhUWKt}AZaiE{EOcHp{O-j3`t;<+eEiycJT4p@77X;(jQsMfB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 literal 0 HcmV?d00001 diff --git a/content/en/docs/Virtualization/public_sys-resources/icon-note.gif b/content/en/docs/Virtualization/public_sys-resources/icon-note.gif new file mode 100644 index 0000000000000000000000000000000000000000..6314297e45c1de184204098efd4814d6dc8b1cda GIT binary patch literal 394 zcmZ?wbhEHblx7fPSjxcg=ii?@_wH=jwxy=7CMGH-B`L+l$wfv=#>UF#$gv|VY%C^b zCQFtrnKN(Bo_%|sJbO}7RAORe!otL&qo<>yq_Sq+8Xqqo5h0P3w3Lvb5E(g{p01vl zxR@)KuDH0l^z`+-dH3eaw=XqSH7aTIx{kzVBN;X&hha0dQSgWuiw0NWUvMRmkD|> literal 0 HcmV?d00001 diff --git a/content/en/docs/Virtualization/public_sys-resources/icon-notice.gif b/content/en/docs/Virtualization/public_sys-resources/icon-notice.gif new file mode 100644 index 0000000000000000000000000000000000000000..86024f61b691400bea99e5b1f506d9d9aef36e27 GIT binary patch literal 406 zcmV;H0crk6Nk%w1VIu$@0J8u9|NsB@_xJDb@8;&_*4Ea}&d#;9wWXz{jEszHYim+c zQaU<1At50E0000000000A^8Le000gEEC2ui03!e%000R7038S%NU)&51O^i-Tu6`s z0)`MFE@;3YqD6xSC^kTNu_J>91{PH8XfZ(p1pp2-SU@u3#{mEUC}_}tg3+I#{z}{Ok@D_ZUDg- zt0stin4;pC8M{WLSlRH*1pzqEw1}3oOskyNN?j;7HD{BBZ*OEcv4HK!6Bk6beR+04 z&8}k>SkTusVTDmkyOz#5fCA$JTPGJVQvr3uZ?QzzPQFvD0rGf_PdrcF`pMs}p^BcF zKtKTd`0wipR%nKN&Wj+V}pX;WC3SdJV!a_8Qi zE7z`U*|Y^H0^}fB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 literal 0 HcmV?d00001 diff --git a/content/en/docs/Virtualization/qemu-ga.md b/content/en/docs/Virtualization/qemu-ga.md new file mode 100644 index 000000000..ad43908f0 --- /dev/null +++ b/content/en/docs/Virtualization/qemu-ga.md @@ -0,0 +1,63 @@ +# qemu-ga + +## Overview + +QEMU guest agent \(qemu-ga\) is a daemon running within VMs. It allows users on a host OS to perform various management operations on the guest OS through outband channels provided by QEMU. The operations include file operations \(open, read, write, close, seek, and flush\), internal shutdown, VM suspend \(suspend-disk, suspend-ram, and suspend-hybrid\), and obtaining of VM internal information \(including the memory, CPU, NIC, and OS information\). + +In some scenarios with high security requirements, qemu-ga provides the blacklist function to prevent internal information leakage of VMs. You can use a blacklist to selectively shield some functions provided by qemu-ga. + +>![](public_sys-resources/icon-note.gif) **NOTE:** +>The qemu-ga installation package is **qemu-guest-agent-**_xx_**.rpm**. It is not installed on openEuler by default. _xx_ indicates the actual version number. + +## Procedure + +To add a qemu-ga blacklist, perform the following steps: + +1. Log in to the VM and ensure that the qemu-guest-agent service exists and is running. + + ``` + # systemctl status qemu-guest-agent |grep Active + Active: active (running) since Wed 2018-03-28 08:17:33 CST; 9h ago + ``` + +2. Query which **qemu-ga** commands can be added to the blacklist: + + ``` + # qemu-ga --blacklist ? + guest-sync-delimited + guest-sync + guest-ping + guest-get-time + guest-set-time + guest-info + ... + ``` + + +1. Set the blacklist. Add the commands to be shielded to **--blacklist** in the **/usr/lib/systemd/system/qemu-guest-agent.service** file. Use spaces to separate different commands. For example, to add the **guest-file-open** and **guest-file-close** commands to the blacklist, configure the file by referring to the following: + + ``` + [Service] + ExecStart=-/usr/bin/qemu-ga \ + --blacklist=guest-file-open guest-file-close + ``` + + +1. Restart the qemu-guest-agent service. + + ``` + # systemctl daemon-reload + # systemctl restart qemu-guest-agent + ``` + +2. Check whether the qemu-ga blacklist function takes effect on the VM, that is, whether the **--blacklist** parameter configured for the qemu-ga process is correct. + + ``` + # ps -ef|grep qemu-ga|grep -E "blacklist=|b=" + root 727 1 0 08:17 ? 00:00:00 /usr/bin/qemu-ga --method=virtio-serial --path=/dev/virtio-ports/org.qemu.guest_agent.0 --blacklist=guest-file-open guest-file-close guest-file-read guest-file-write guest-file-seek guest-file-flush -F/etc/qemu-ga/fsfreeze-hook + ``` + + >![](public_sys-resources/icon-note.gif) **NOTE:** + >For more information about qemu-ga, visit [https://wiki.qemu.org/Features/GuestAgent](https://wiki.qemu.org/Features/GuestAgent). + + diff --git a/content/en/docs/Virtualization/querying-vm-information.md b/content/en/docs/Virtualization/querying-vm-information.md new file mode 100644 index 000000000..b64fd0701 --- /dev/null +++ b/content/en/docs/Virtualization/querying-vm-information.md @@ -0,0 +1,205 @@ +# Querying VM Information + +## Overview + +The libvirt provides a set of command line tools to query VM information. This section describes how to use commands to obtain VM information. + +## Prerequisites + +To query VM information, the following requirements must be met: + +- The libvirtd service is running. + +- Only the administrator has the permission to execute command line. + +## Querying VM Information on a Host. + +- Query the list of running and paused VMs on a host. + + ``` + # virsh list + ``` + + For example, the following command output indicates that three VMs exist on the host. **openEulerVM01** and **openEulerVM02** are running, and **openEulerVM03** is paused. + + ``` + Id Name State + ---------------------------------------------------- + 39 openEulerVM01 running + 40 openEulerVM02 running + 69 openEulerVM03 paused + ``` + + +- Query the list of VM information defined on a host. + + ``` + # virsh list --all + ``` + + For example, the following command output indicates that four VMs are defined on the current host. **openEulerVM01** is running, **openEulerVM02** is paused, and **openEulerVM03** and **openEulerVM04** are shut down. + + ``` + Id Name State + ---------------------------------------------------- + 39 openEulerVM01 running + 69 openEulerVM02 paused + - openEulerVM03 shut off + - openEulerVM04 shut off + ``` + + +## Querying Basic VM Information + +Libvirt component provides a group of commands for querying the VM status, including the VM running status, device information, and scheduling attributes. For details, see [Table 1](#table10582103963816). + +**Table 1** Querying basic VM information + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Information to be queried

+

Command line

+

Description

+

Basic information

+

virsh dominfo <VMInstance>

+

The information includes the VM ID, UUID, and VM specifications.

+

Current status

+

virsh domstate <VMInstance>

+

You can use the --reason option to query the reason why the VM changes to the current status.

+

Scheduling information

+

virsh schedinfo <VMInstance>

+

The information includes the vCPU share.

+

Number of vCPUs

+

virsh vcpucount <VMInstance>

+

Number of vCPUs of the VM.

+

Virtual block device status

+

virsh domblkstat <VMInstance>

+

To query the name of a block device, run the virsh domblklist command.

+

vNIC status

+

virsh domifstat <VMInstance>

+

To query the NIC name, run the virsh domiflist command.

+

I/O thread

+

virsh iothreadinfo <VMInstance>

+

VM I/O thread and CPU affinity.

+
+ +## Example + +- Run the **virsh dominfo** command to query the basic information about a created VM. The query result shows that the VM ID is **5**, UUID is **ab472210-db8c-4018-9b3e-fc5319a769f7**, memory size is 8 GiB, and the number of vCPUs is 4. + + ``` + # virsh dominfo openEulerVM + Id: 5 + Name: openEulerVM + UUID: ab472210-db8c-4018-9b3e-fc5319a769f7 + OS Type: hvm + State: running + CPU(s): 4 + CPU time: 6.8s + Max memory: 8388608 KiB + Used memory: 8388608 KiB + Persistent: no + Autostart: disable + Managed save: no + Security model: none + Security DOI: 0 + ``` + + +- Run the **virsh domstate** command to query the VM status. The query result shows that VM **openEulerVM** is running. + + ``` + # virsh domstate openEulerVM + running + ``` + +- Run **virsh schedinfo** to query the VM scheduling information. The query result shows that the CPU reservation share of the VM is 1024. + + ``` + # virsh schedinfo openEulerVM + Scheduler : posix + cpu_shares : 1024 + vcpu_period : 100000 + vcpu_quota : -1 + emulator_period: 100000 + emulator_quota : -1 + global_period : 100000 + global_quota : -1 + iothread_period: 100000 + iothread_quota : -1 + ``` + +- Run the **virsh vcpucount** command to query the number of vCPUs. The query result shows that the VM has four CPUs. + + ``` + # virsh vcpucount openEulerVM + maximum live 4 + current live 4 + ``` + +- Run the **virsh domblklist** command to query the VM disk information. The query result shows that the VM has two disks. sda is a virtual disk in qcow2 format, and sdb is a cdrom device. + + ``` + # virsh domblklist openEulerVM + Target Source + --------------------------------------------------------------------- + sda /home/openeuler/vm/openEuler_aarch64.qcow2 + sdb /home/openeuler/vm/openEuler-20.03-LTS-aarch64-dvd.iso + ``` + +- Run the **virsh domiflist** command to query the VM NIC information. The query result shows that the VM has one NIC, the backend is vnet0, which is on the br0 bridge of the host. The MAC address is 00:05:fe:d4:f1:cc. + + ``` + # virsh domiflist openEulerVM + Interface Type Source Model MAC + ------------------------------------------------------- + vnet0 bridge br0 virtio 00:05:fe:d4:f1:cc + ``` + +- Run the **virsh iothreadinfo** command to query the VM I/O thread information. The query result shows that the VM has five I/O threads, which are scheduled on physical CPUs 7-10. + + ``` + # virsh iothreadinfo openEulerVM + IOThread ID CPU Affinity + --------------------------------------------------- + 3 7-10 + 4 7-10 + 5 7-10 + 1 7-10 + 2 7-10 + ``` + + diff --git a/content/en/docs/Virtualization/raw-device-mapping.md b/content/en/docs/Virtualization/raw-device-mapping.md new file mode 100644 index 000000000..edfcc0955 --- /dev/null +++ b/content/en/docs/Virtualization/raw-device-mapping.md @@ -0,0 +1,54 @@ +# Raw Device Mapping + +## Overview + +When configuring VM storage devices, you can use configuration files to configure virtual disks for VMs, or connect block devices \(such as physical LUNs and LVs\) to VMs for use to improve storage performance. The latter configuration method is called raw device mapping \(RDM\). Through RDM, a virtual disk is presented as a small computer system interface \(SCSI\) device to the VM and supports most SCSI commands. + +RDM can be classified into virtual RDM and physical RDM based on backend implementation features. Compared with virtual RDM, physical RDM provides better performance and more SCSI commands. However, for physical RDM, the entire SCSI disk needs to be mounted to a VM for use. If partitions or logical volumes are used for configuration, the VM cannot identify the disk. + +## Configuration Example + +VM configuration files need to be modified for RDM. The following is a configuration example. + +- Virtual RDM + + The following is an example of mounting the SCSI disk **/dev/sdc** on the host to the VM as a virtual raw device: + + ``` + + + ... + + + + + +
+ + ... + + + ``` + + +- Physical RDM + + The following is an example of mounting the SCSI disk **/dev/sdc** on the host to the VM as a physical raw device: + + ``` + + + ... + + + + + +
+ + ... + + + ``` + + diff --git a/content/en/docs/Virtualization/security-best-practices.md b/content/en/docs/Virtualization/security-best-practices.md new file mode 100644 index 000000000..2e69bdb4e --- /dev/null +++ b/content/en/docs/Virtualization/security-best-practices.md @@ -0,0 +1,2 @@ +# Security Best Practices + diff --git a/content/en/docs/Virtualization/sr-iov-passthrough.md b/content/en/docs/Virtualization/sr-iov-passthrough.md new file mode 100644 index 000000000..c5878f86e --- /dev/null +++ b/content/en/docs/Virtualization/sr-iov-passthrough.md @@ -0,0 +1,171 @@ +# SR-IOV Passthrough + +## Overview + +Single Root I/O Virtualization \(SR-IOV\) is a hardware-based virtualization solution. With the SR-IOV technology, a physical function \(PF\) can provide multiple virtual functions \(VFs\), and each VF can be directly assigned to a VM. This greatly improves hardware resource utilization and I/O performance of VMs. A typical application scenario is SR-IOV passthrough for NICs. With the SR-IOV technology, a physical NIC \(PF\) can function as multiple VF NICs, and then the VFs can be directly assigned to VMs. + +>![](public_sys-resources/icon-note.gif) **NOTE:** +>- SR-IOV requires the support of physical hardware. Before using SR-IOV, ensure that the hardware device to be directly assigned supports SR-IOV and the device driver on the host OS works in SR-IOV mode. +>- The following describes how to query the NIC model: +>In the following command output, values in the first column indicate the PCI numbers of NICs, and **19e5:1822** indicates the vendor ID and device ID of the NIC. +>``` +># lspci | grep Ether +>05:00.0 Ethernet controller: Device 19e5:1822 (rev 45) +>07:00.0 Ethernet controller: Device 19e5:1822 (rev 45) +>09:00.0 Ethernet controller: Device 19e5:1822 (rev 45) +>0b:00.0 Ethernet controller: Device 19e5:1822 (rev 45) +>81:00.0 Ethernet controller: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection (rev 01) +>81:00.1 Ethernet controller: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection (rev 01) +>``` + +## Procedure + +To configure SR-IOV passthrough for a NIC, perform the following steps: + +1. Enable the SR-IOV mode for the NIC. + 1. Ensure that VF driver support provided by the NIC supplier exists on the guest OS. Otherwise, VFs in the guest OS cannot work properly. + 2. Enable the SMMU/IOMMU support in the BIOS of the host OS. The enabling method varies depending on the servers of different vendors. For details, see the help documents of the servers. + 3. Configure the host driver to enable the SR-IOV VF mode. The following uses the Hi1822 NIC as an example to describe how to enable 16 VFs. + + ``` + echo 16 > /sys/class/net/ethX/device/sriov_numvfs + ``` + +2. Obtain the PCI BDF information of PFs and VFs. + 1. Run the following command to obtain the NIC resource list on the current board: + + ``` + # lspci | grep Eth + 03:00.0 Ethernet controller: Huawei Technologies Co., Ltd. Hi1822 Family (4*25GE) (rev 45) + 04:00.0 Ethernet controller: Huawei Technologies Co., Ltd. Hi1822 Family (4*25GE) (rev 45) + 05:00.0 Ethernet controller: Huawei Technologies Co., Ltd. Hi1822 Family (4*25GE) (rev 45) + 06:00.0 Ethernet controller: Huawei Technologies Co., Ltd. Hi1822 Family (4*25GE) (rev 45) + 7d:00.0 Ethernet controller: Huawei Technologies Co., Ltd. Device a222 (rev 20) + 7d:00.1 Ethernet controller: Huawei Technologies Co., Ltd. Device a222 (rev 20) + 7d:00.2 Ethernet controller: Huawei Technologies Co., Ltd. Device a221 (rev 20) + 7d:00.3 Ethernet controller: Huawei Technologies Co., Ltd. Device a221 (rev 20) + ``` + + 2. Run the following command to view the PCI BDF information of VFs: + + ``` + # lspci | grep "Virtual Function" + 03:00.1 Ethernet controller: Huawei Technologies Co., Ltd. Hi1822 Family Virtual Function (rev 45) + 03:00.2 Ethernet controller: Huawei Technologies Co., Ltd. Hi1822 Family Virtual Function (rev 45) + 03:00.3 Ethernet controller: Huawei Technologies Co., Ltd. Hi1822 Family Virtual Function (rev 45) + 03:00.4 Ethernet controller: Huawei Technologies Co., Ltd. Hi1822 Family Virtual Function (rev 45) + 03:00.5 Ethernet controller: Huawei Technologies Co., Ltd. Hi1822 Family Virtual Function (rev 45) + 03:00.6 Ethernet controller: Huawei Technologies Co., Ltd. Hi1822 Family Virtual Function (rev 45) + 03:00.7 Ethernet controller: Huawei Technologies Co., Ltd. Hi1822 Family Virtual Function (rev 45) + 03:01.0 Ethernet controller: Huawei Technologies Co., Ltd. Hi1822 Family Virtual Function (rev 45) + 03:01.1 Ethernet controller: Huawei Technologies Co., Ltd. Hi1822 Family Virtual Function (rev 45) + 03:01.2 Ethernet controller: Huawei Technologies Co., Ltd. Hi1822 Family Virtual Function (rev 45) + ``` + + 3. Select an available VF and write its configuration to the VM configuration file based on its BDF information. For example, the bus ID of the device **03:00.1** is **03**, its slot ID is **00**, and its function ID is **1**. + +3. Identify and manage the mapping between PFs and VFs. + 1. Identify VFs corresponding to a PF. The following uses PF 03.00.0 as an example: + + ``` + # ls -l /sys/bus/pci/devices/0000\:03\:00.0/ + ``` + + The following symbolic link information is displayed. You can obtain the VF IDs \(virtfnX\) and PCI BDF IDs based on the information. + + 2. Identify the PF corresponding to a VF. The following uses VF 03:00.1 as an example: + + ``` + # ls -l /sys/bus/pci/devices/0000\:03\:00.1/ + ``` + + The following symbolic link information is displayed. You can obtain PCI BDF IDs of the PF based on the information. + + ``` + lrwxrwxrwx 1 root root 0 Mar 28 22:44 physfn -> ../0000:03:00.0 + ``` + + 3. Obtain names of NICs corresponding to the PFs or VFs. For example: + + ``` + # ls /sys/bus/pci/devices/0000:03:00.0/net + eth0 + ``` + + 4. Set the MAC address, VLAN, and QoS information of VFs to ensure that the VFs are in the **Up** state before passthrough. The following uses VF 03:00.1 as an example. The PF is eth0 and the VF ID is **0**. + + ``` + # ip link set eth0 vf 0 mac 90:E2:BA:21:XX:XX #Sets the MAC address. + # ifconfig eth0 up + # ip link set eth0 vf 0 rate 100 #Sets the VF outbound rate, in Mbit/s. + # ip link show eth0 #Views the MAC address, VLAN ID, and QoS information to check whether the configuration is successful. + ``` + +4. Mount the SR-IOV NIC to the VM. + + When creating a VM, add the SR-IOV passthrough configuration item to the VM configuration file. + + ``` + + + +
+ + + + + + ``` + + **Table 1** SR-IOV configuration options + + + + + + + + + + + + + + + + + + + + + + + + +

Parameter

+

Description

+

Value

+

hostdev.managed

+

Two modes for libvirt to process PCI devices.

+

no: default value. The passthrough device is managed by the user.

+

yes: The passthrough device is managed by libvirt. Set this parameter to yes in the SR-IOV passthrough scenario.

+

hostdev.source.address.bus

+

Bus ID of the PCI device on the host OS.

+

≥ 1

+

hostdev.source.address.slot

+

Device ID of the PCI device on the host OS.

+

≥ 0

+

hostdev.source.address.function

+

Function ID of the PCI device on the host OS.

+

≥ 0

+
+ + >![](public_sys-resources/icon-note.gif) **NOTE:** + >Disabling the SR-IOV function: + >To disable the SR-IOV function after the VM is stopped and no VF is in use, run the following command: + >The following uses the Hi1822 NIC \(corresponding network interface name: eth0\) as an example: + >``` + >echo 0 > /sys/class/net/eth0/device/sriov_numvfs + >``` + + diff --git a/content/en/docs/Virtualization/storage-devices.md b/content/en/docs/Virtualization/storage-devices.md new file mode 100644 index 000000000..3e10f3baf --- /dev/null +++ b/content/en/docs/Virtualization/storage-devices.md @@ -0,0 +1,130 @@ +# Storage Devices + +## Overview + +This section describes how to configure virtual storage devices, including floppy disks, disks, and CD-ROMs and their storage types. + +## Elements + +The XML configuration file uses the **disk** element to configure storage devices. [Table 1](#table14200183410353) describes common **disk** attributes. [Table 2](#table4866134925114) describes common subelements and their attributes. + +**Table 1** Common attributes of the **disk** element + + + + + + + + + + + + + + + + + + +

Element

+

Attribute

+

Description

+

Attribute Value and Description

+

disk

+

type

+

Specifies the type of the backend storage medium.

+

block: block device

+

file: file device

+

dir: directory path

+

device

+

Specifies the storage medium to be presented to the VM.

+

disk: disk (default)

+

floppy: floppy disk

+

cdrom: CD-ROM

+
+ +**Table 2** Common subelements and attributes of the **disk** element + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Subelement

+

Subelement Description

+

Attribute Description

+

source

+

Specifies the backend storage medium, which corresponds to the type specified by the type attribute of the disk element.

+

file: file type. The value is the fully qualified path of the corresponding file.

+

dev: block type. The value is the fully qualified path of the corresponding host device.

+

dir: directory type. The value is the fully qualified path of the disk directory.

+

driver

+

Details about the specified backend driver

+

type: disk format type. The value can be raw or qcow2, which must be the same as that of source.

+

io: disk I/O mode. The options are native and threads.

+

cache: disk cache mode. The value can be none, writethrough, writeback, or directsync.

+

iothread: I/O thread allocated to the disk.

+

target

+

The bus and device that a disk presents to a VM.

+

dev: specifies the logical device name of a disk, for example, sd[a-p] for SCSI, SATA, and USB buses and hd[a-d] for IDE disks.

+

bus: specifies the type of a disk. Common types include scsi, usb, sata, and virtio.

+

boot

+

The disk can be used as the boot disk.

+

order: specifies the disk startup sequence.

+

readonly

+

The disk is read-only and cannot be modified by the VM. Generally, it is used together with the CD-ROM drive.

+

-

+
+ +## Configuration Example + +After the VM image is prepared according to [Preparing a VM Image](preparing-a-vm-image.md), you can use the following XML configuration file to configure the virtual disk for the VM. + +In this example, two I/O threads, one block disk device and one CD, are configured for the VM, and the first I/O thread is allocated to the block disk device for use. The backend medium of the disk device is in qcow2 format and is used as the preferred boot disk. + +``` + + ... + 2 + + + + + + + + + + + + + + + ... + + +``` + diff --git a/content/en/docs/Virtualization/storing-snapshots.md b/content/en/docs/Virtualization/storing-snapshots.md new file mode 100644 index 000000000..4a00f6988 --- /dev/null +++ b/content/en/docs/Virtualization/storing-snapshots.md @@ -0,0 +1,41 @@ +# Storing Snapshots + +## Overview + +The VM system may be damaged due to virus damage, system file deletion by mistake, or incorrect formatting. As a result, the system cannot be started. To quickly restore a damaged system, openEuler provides the storage snapshot function. openEuler can create a snapshot that records the VM status at specific time points without informing users \(usually within a few seconds\). The snapshot can be used to restore the VM to the status when the snapshots were taken. For example, a damaged system can be quickly restored with the help of snapshots, which improves system reliability. + +>![](public_sys-resources/icon-note.gif) **NOTE:** +>Currently, storage snapshots can be QCOW2 and RAW images only. Block devices are not supported. + +## Procedure + +To create VM storage snapshots, perform the following steps: + +1. Log in to the host and run the **virsh domblklist** command to query the disk used by the VM. + + ``` + # virsh domblklist openEulerVM + Target Source + --------------------------------------------- + vda /mnt/openEuler-image.qcow2 + ``` + + +1. Run the following command to create the VM disk snapshot **openEuler-snapshot1.qcow2**: + + ``` + # virsh snapshot-create-as --domain openEulerVM --disk-only --diskspec vda,snapshot=external,file=/mnt/openEuler-snapshot1.qcow2 --atomic + Domain snapshot 1582605802 created + ``` + + +1. Run the following command to query disk snapshots: + + ``` + # virsh snapshot-list openEulerVM + Name Creation Time State + --------------------------------------------------------- + 1582605802 2020-02-25 12:43:22 +0800 disk-snapshot + ``` + + diff --git a/content/en/docs/Virtualization/svirt-protection.md b/content/en/docs/Virtualization/svirt-protection.md new file mode 100644 index 000000000..1667bd795 --- /dev/null +++ b/content/en/docs/Virtualization/svirt-protection.md @@ -0,0 +1,61 @@ +# sVirt Protection + +## Overview + +In a virtualization environment that uses the discretionary access control \(DAC\) policy only, malicious VMs running on hosts may attack the hypervisor or other VMs. To improve security in virtualization scenarios, openEuler uses sVirt for protection. sVirt is a security protection technology based on SELinux. It is applicable to KVM virtualization scenarios. A VM is a common process on the host OS. In the hypervisor, the sVirt mechanism labels QEMU processes corresponding to VMs with SELinux labels. In addition to types which are used to label virtualization processes and files, different categories are used to label different VMs. Each VM can access only file devices of the same category. This prevents VMs from accessing files and devices on unauthorized hosts or other VMs, thereby preventing VM escape and improving host and VM security. + +## Enabling sVirt Protection + +1. Enable SELinux on the host. + 1. Log in to the host. + 2. Enable the SELinux function on the host. + 1. Modify the system startup parameter file **grub.cfg** to set **selinux** to **1**. + + ``` + selinux=1 + ``` + + 2. Modify **/etc/selinux/config** to set the **SELINUX** to **enforcing**. + + ``` + SELINUX=enforcing + ``` + + 3. Restart the host. + + ``` + # reboot + ``` + + + +1. Create a VM where the sVirt function is enabled. + 1. Add the following information to the VM configuration file: + + ``` + + ``` + + Or check whether the following configuration exists in the file: + + ``` + + ``` + + 2. Create a VM. + + ``` + # virsh define openEulerVM.xml + ``` + +2. Check whether sVirt is enabled. + + Run the following command to check whether sVirt protection has been enabled for the QEMU process of the running VM. If **svirt\_t:s0:c** exists, sVirt protection has been enabled. + + ``` + # ps -eZ|grep qemu |grep "svirt_t:s0:c" + system_u:system_r:svirt_t:s0:c200,c947 11359 ? 00:03:59 qemu-kvm + system_u:system_r:svirt_t:s0:c427,c670 13790 ? 19:02:07 qemu-kvm + ``` + + diff --git a/content/en/docs/Virtualization/system-resource-management.md b/content/en/docs/Virtualization/system-resource-management.md new file mode 100644 index 000000000..deb50c9ad --- /dev/null +++ b/content/en/docs/Virtualization/system-resource-management.md @@ -0,0 +1,9 @@ +# System Resource Management + +The **libvirt** command manages VM system resources, such as vCPU and virtual memory resources. + +Before you start: + +- Ensure that the libvirtd daemon is running on the host. +- Run the **virsh list --all** command to check that the VM has been defined. + diff --git a/content/en/docs/Virtualization/terminology-acronyms-and-abbreviations.md b/content/en/docs/Virtualization/terminology-acronyms-and-abbreviations.md new file mode 100644 index 000000000..5f203bea4 --- /dev/null +++ b/content/en/docs/Virtualization/terminology-acronyms-and-abbreviations.md @@ -0,0 +1,139 @@ +# Terminology & Acronyms and Abbreviations + +For the terminology & acronyms and abbreviation used in this document, see [Table 1](#table201236162279) and [Table 2](#table1423422319271). + +**Table 1** Terminology + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Term

+

Description

+

AArch64

+

AArch64 is an execution state of the ARMv8 architecture. AArch64 is not only an extension of the 32-bit ARM architecture, but also a brand new architecture in ARMv8 that uses the brand new A64 instruction set.

+

Domain

+

A collection of configurable resources, including memory, vCPUs, network devices, and disk devices. Run the VM in the domain. A domain is allocated with virtual resources and can be independently started, stopped, and restarted.

+

Libvirt

+

A set of tools used to manage virtualization platforms, including KVM, QEMU, Xen, and other virtualization platforms.

+

Guest OS

+

The OS running on the VM.

+

Host OS

+

The OS of the virtual physical machine.

+

Hypervisor

+

Virtual machine monitor (VMM), is an intermediate software layer that runs between a basic physical server and an OS. It allows multiple OSs and applications to share hardware.

+

VM

+

A complete virtual computer system that is constructed by using the virtualization technology and simulating the functions of a complete computer hardware system through software.

+
+ +**Table 2** Acronyms and abbreviations + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Acronyms and abbreviations

+

Full spelling

+

Full name

+

Description

+

NUMA

+

Non-Uniform Memory Access Architecture

+

Non Uniform Memory Access Architecture

+

NUMA is a memory architecture designed for multi-processor computers. Under NUMA, a processor accesses its own local memory faster than accessing non-local memory (the memory is located on another processor, or the memory shared between processors).

+

KVM

+

Kernel-based Virtual Machine

+

Kernel-based VM

+

KVM is a kernel-based VM. It is a kernel module of Linux and makes Linux a hypervisor.

+

OVS

+

Open vSwitch

+

Open vSwitch

+

OVS is a high-quality multi-layer vSwitch that uses the open-source Apache 2.0 license protocol.

+

QEMU

+

Quick Emulator

+

Quick Emulator

+

QEMU is a general-purpose, open-source emulator that implements hardware virtualization.

+

SMP

+

Symmetric Multi-Processor

+

Symmetric Multi-Processor

+

SMP is a multi-processor computer hardware architecture. Currently, most processor systems use a symmetric multi-processor architecture. The architecture system has multiple processors, each processor shares the memory subsystem and bus structure.

+

UEFI

+

Unified Extensible Firmware Interface

+

Unified Extensible Firmware Interface

+

A standard that describes new interfaces in detail. This interface is used by the OS to automatically load the prestart operation environment to an OS.

+

VM

+

Virtual Machine

+

VM

+

A complete virtual computer system that is constructed by using the virtualization technology and simulating the functions of a complete computer hardware system through software.

+

VMM

+

Virtual Machine Monitor

+

VM Monitor

+

An intermediate software layer that runs between a basic physical server and an OS. It allows multiple OSs and applications to share hardware.

+
+ diff --git a/content/en/docs/Virtualization/terms-of-use.md b/content/en/docs/Virtualization/terms-of-use.md new file mode 100644 index 000000000..d0ed075dd --- /dev/null +++ b/content/en/docs/Virtualization/terms-of-use.md @@ -0,0 +1,14 @@ +# Terms of Use + +**Copyright © 2020Huawei Technologies Co., Ltd.** + +Your replication, use, modification, and distribution of this document are governed by the Creative Commons License Attribution-ShareAlike 4.0 International Public License \(CC BY-SA 4.0\). You can visit [https://creativecommons.org/licenses/by-sa/4.0/](https://creativecommons.org/licenses/by-sa/4.0/) to view a summary of \(and not a substitute for\) CC BY-SA 4.0. For the complete CC BY-SA 4.0, visit [https://creativecommons.org/licenses/by-sa/4.0/legalcode](https://creativecommons.org/licenses/by-sa/4.0/legalcode). + +**Trademarks and Permissions** + +openEuler is a trademark or registered trademark of Huawei Technologies Co., Ltd. All other trademarks and trade names mentioned in this document are the property of their respective holders. + +**Disclaimer** + +This document is used only as a guide. Unless otherwise specified by applicable laws or agreed by both parties in written form, all statements, information, and recommendations in this document are provided "AS IS" without warranties, guarantees or representations of any kind, including but not limited to non-infringement, timeliness, and specific purposes. + diff --git a/content/en/docs/Virtualization/user-and-administrator-guide.md b/content/en/docs/Virtualization/user-and-administrator-guide.md new file mode 100644 index 000000000..04f31063b --- /dev/null +++ b/content/en/docs/Virtualization/user-and-administrator-guide.md @@ -0,0 +1,5 @@ +# User and Administrator Guide + +This chapter describes how to create VMs on the virtualization platform, manage VM life cycles, and query information. + + diff --git a/content/en/docs/Virtualization/vcpu-and-virtual-memory.md b/content/en/docs/Virtualization/vcpu-and-virtual-memory.md new file mode 100644 index 000000000..be7cbfa49 --- /dev/null +++ b/content/en/docs/Virtualization/vcpu-and-virtual-memory.md @@ -0,0 +1,38 @@ +# vCPU and Virtual Memory + +## Overview + +This section describes how to configure the vCPU and virtual memory. + +## Elements + +- **vcpu**: The number of virtual processors. +- **memory**: The size of the virtual memory. + + **unit**: The memory unit. The value can be KiB \(210 bytes\), MiB \(220 bytes\), GiB \(230 bytes\), or TiB \(240 bytes\). + +- **cpu**: The mode of the virtual processor. + + **mode**: The mode of the vCPU. The **host-passthrough** indicates that the architecture and features of the virtual CPU are the same as those of the host. + + Sub-element **topology**: A sub-element of the element cpu, used to describe the topology structure of a vCPU mode. + + - The attributes **socket**, **cores**, and **threads** of the sub-element topology describe the number of CPU sockets of a VM, the number of processor cores included in each CPU socket, and the number of hyperthreads included in each processor core, respectively. The attribute value is a positive integer, and a product of the three values is equal to the number of of vCPUs. + + +## Configuration Example + +For example, if the number of vCPUs is 4, the processing mode is host-passthrough, the virtual memory is 8 GiB, the four CPUs are distributed in two CPU sockets, and hyperthreading is not supported, the configuration is as follows: + +``` + + ... + 4 + 8 + + + +... + +``` + diff --git a/content/en/docs/Virtualization/verifying-the-installation.md b/content/en/docs/Virtualization/verifying-the-installation.md new file mode 100644 index 000000000..56be0a5f2 --- /dev/null +++ b/content/en/docs/Virtualization/verifying-the-installation.md @@ -0,0 +1,93 @@ +# Verifying the Installation + +1. Check whether the kernel supports KVM virtualization, that is, check whether the **/dev/kvm** and **/sys/module/kvm** files exist. The command and output are as follows: + + ``` + # ls /dev/kvm + /dev/kvm + ``` + + ``` + # ls /sys/module/kvm + parameters uevent + ``` + + If the preceding files exist, the kernel supports KVM virtualization. If the preceding files do not exist, KVM virtualization is not enabled during kernel compilation. In this case, you need to use the Linux kernel that supports KVM virtualization. + +2. Check whether QEMU is successfully installed. If the installation is successful, the QEMU software package information is displayed. The command and output are as follows: + + ``` + # rpm -qi qemu + Name : qemu + Epoch : 2 + Version : 4.0.1 + Release : 10 + Architecture: aarch64 + Install Date: Wed 24 Jul 2019 04:04:47 PM CST + Group : Unspecified + Size : 16869484 + License : GPLv2 and BSD and MIT and CC-BY + Signature : (none) + Source RPM : qemu-4.0.0-1.src.rpm + Build Date : Wed 24 Jul 2019 04:03:52 PM CST + Build Host : localhost + Relocations : (not relocatable) + URL : http://www.qemu.org + Summary : QEMU is a generic and open source machine emulator and virtualizer + Description : + QEMU is a generic and open source processor emulator which achieves a good + emulation speed by using dynamic translation. QEMU has two operating modes: + + * Full system emulation. In this mode, QEMU emulates a full system (for + example a PC), including a processor and various peripherials. It can be + used to launch different Operating Systems without rebooting the PC or + to debug system code. + * User mode emulation. In this mode, QEMU can launch Linux processes compiled + for one CPU on another CPU. + + As QEMU requires no host kernel patches to run, it is safe and easy to use. + ``` + +3. Check whether libvirt is successfully installed. If the installation is successful, the libvirt software package information is displayed. The command and output are as follows: + + ``` + # rpm -qi libvirt + Name : libvirt + Version : 5.5.0 + Release : 1 + Architecture: aarch64 + Install Date: Tue 30 Jul 2019 04:56:21 PM CST + Group : Unspecified + Size : 0 + License : LGPLv2+ + Signature : (none) + Source RPM : libvirt-5.5.0-1.src.rpm + Build Date : Mon 29 Jul 2019 08:14:57 PM CST + Build Host : 71e8c1ce149f + Relocations : (not relocatable) + URL : https://libvirt.org/ + Summary : Library providing a simple virtualization API + Description : + Libvirt is a C toolkit to interact with the virtualization capabilities + of recent versions of Linux (and other OSes). The main package includes + the libvirtd server exporting the virtualization support. + ``` + +4. Check whether the libvirt service is started successfully. If the service is in the **Active** state, the service is started successfully. You can use the virsh command line tool provided by the libvirt. The command and output are as follows: + + ``` + # systemctl status libvirtd + ● libvirtd.service - Virtualization daemon + Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled; vendor preset: enabled) + Active: active (running) since Tue 2019-08-06 09:36:01 CST; 5h 12min ago + Docs: man:libvirtd(8) + https://libvirt.org + Main PID: 40754 (libvirtd) + Tasks: 20 (limit: 32768) + Memory: 198.6M + CGroup: /system.slice/libvirtd.service + ─40754 /usr/sbin/libvirtd + + ``` + + diff --git a/content/en/docs/Virtualization/virtual-device-configuration.md b/content/en/docs/Virtualization/virtual-device-configuration.md new file mode 100644 index 000000000..8073c98fe --- /dev/null +++ b/content/en/docs/Virtualization/virtual-device-configuration.md @@ -0,0 +1,4 @@ +# Virtual Device Configuration + +The VM XML configuration file uses the **devices** elements to configure virtual devices, including storage devices, network devices, buses, and mouse devices. This section describes how to configure common virtual devices. + diff --git a/content/en/docs/Virtualization/virtualization.md b/content/en/docs/Virtualization/virtualization.md new file mode 100644 index 000000000..00c50b1da --- /dev/null +++ b/content/en/docs/Virtualization/virtualization.md @@ -0,0 +1 @@ +This document describes virtualization, installation method and usage of openEuler-based virtualization, and guidance for users and administrators to install and use virtualization. diff --git a/content/en/docs/Virtualization/vm-configuration.md b/content/en/docs/Virtualization/vm-configuration.md new file mode 100644 index 000000000..11b27cbc6 --- /dev/null +++ b/content/en/docs/Virtualization/vm-configuration.md @@ -0,0 +1,2 @@ +# VM Configuration + diff --git a/content/en/docs/Virtualization/vm-description.md b/content/en/docs/Virtualization/vm-description.md new file mode 100644 index 000000000..4c55384bd --- /dev/null +++ b/content/en/docs/Virtualization/vm-description.md @@ -0,0 +1,28 @@ +# VM Description + +## Overview + +This section describes how to configure the VM **domain** root element and VM name. + +## Elements + +- **domain**: Root element of a VM XML configuration file, which is used to configure the type of the hypervisor that runs the VM. + + **type**: Type of a domain in virtualization. In the openEuler virtualization, the attribute value is **kvm**. + +- **name**: VM name. + + The VM name is a unique character string on the same host. The VM name can contain only digits, letters, underscores \(\_\), hyphens \(-\), and colons \(:\), but cannot contain only digits. The VM name can contain a maximum of 64 characters. + + +## Configuration Example + +For example, if the VM name is **openEuler**, the configuration is as follows: + +``` + + openEuler + ... + +``` + diff --git a/content/en/docs/Virtualization/vm-life-cycle.md b/content/en/docs/Virtualization/vm-life-cycle.md new file mode 100644 index 000000000..1db189045 --- /dev/null +++ b/content/en/docs/Virtualization/vm-life-cycle.md @@ -0,0 +1,2 @@ +# VM Life Cycle + diff --git a/content/en/docs/Virtualization/vm-live-migration.md b/content/en/docs/Virtualization/vm-live-migration.md new file mode 100644 index 000000000..99ea2e3ad --- /dev/null +++ b/content/en/docs/Virtualization/vm-live-migration.md @@ -0,0 +1,2 @@ +# VM Live Migration + diff --git a/content/en/docs/Virtualization/xml-configuration-file-example.md b/content/en/docs/Virtualization/xml-configuration-file-example.md new file mode 100644 index 000000000..3fee83e2e --- /dev/null +++ b/content/en/docs/Virtualization/xml-configuration-file-example.md @@ -0,0 +1,140 @@ +# XML Configuration File Example + +## Overview + +This section provides XML configuration files of a basic AArch64 VM and a x86\_64 VM as two examples for reference. + +## Example 1 + +An XML configuration file of AArch64 VM, which contains basic elements. The following is a configuration example: + +``` + + openEulerVM + 8 + 4 + + hvm + /usr/share/edk2/aarch64/QEMU_EFI-pflash.raw + /var/lib/libvirt/qemu/nvram/openEulerVM.fd + + + + + + + + + 1 + + destroy + restart + restart + + /usr/libexec/qemu-kvm + + + + + + + + + + + + + + + + + + + + + + + + + + +``` + +## Example 2 + +An XML configuration file of x86\_64 VM, which contains basic elements and bus elements. The following is a configuration example: + +``` + + openEulerVM + 8388608 + 8388608 + 4 + 1 + + hvm + + + + + + + + + destroy + restart + restart + + /usr/libexec/qemu-kvm + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + + + + +

%Mo)7MJ8EAQVeZ&Gyj<4q$StQj4h0tzT&Y7 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 y2j<&0-=&x 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 Q%tr*C3B-$j#AOTr7k~)UivR!s -- Gitee From de49f51d5ce3543ba188e375c84097157ea95e00 Mon Sep 17 00:00:00 2001 From: amyMayun Date: Thu, 2 Apr 2020 21:23:57 +0800 Subject: [PATCH 03/12] update xml configure of virtualization user guide --- ...07\344\273\266\347\244\272\344\276\213.md" | 61 ++++++++++--------- 1 file changed, 31 insertions(+), 30 deletions(-) diff --git "a/content/zh/docs/Virtualization/XML\351\205\215\347\275\256\346\226\207\344\273\266\347\244\272\344\276\213.md" "b/content/zh/docs/Virtualization/XML\351\205\215\347\275\256\346\226\207\344\273\266\347\244\272\344\276\213.md" index 2eec5fd7f..d5c8cf830 100644 --- "a/content/zh/docs/Virtualization/XML\351\205\215\347\275\256\346\226\207\344\273\266\347\244\272\344\276\213.md" +++ "b/content/zh/docs/Virtualization/XML\351\205\215\347\275\256\346\226\207\344\273\266\347\244\272\344\276\213.md" @@ -2,7 +2,7 @@ ## 概述 -本节给出两个基本的AArch64虚拟机和一个x86\_64虚拟机的XML配置文件示例,供用户参考。 +本节给出一个基本的AArch64虚拟机和一个x86\_64虚拟机的XML配置文件示例,供用户参考。 ## 示例一 @@ -14,13 +14,13 @@ 8 4 - hvm - /usr/share/edk2/aarch64/QEMU_EFI-pflash.raw - /var/lib/libvirt/qemu/nvram/openEulerVM.fd + hvm + /usr/share/edk2/aarch64/QEMU_EFI-pflash.raw + /var/lib/libvirt/qemu/nvram/openEulerVM.fd - - + + @@ -31,33 +31,33 @@ restart restart - /usr/libexec/qemu-kvm - - - - - - - - - - - - - - - - - - + /usr/libexec/qemu-kvm + + + + + + + + + + + + + + + + + + - - - - + + + + ``` @@ -136,4 +136,5 @@ -``` \ No newline at end of file +``` + -- Gitee From 33ef130217d114e9b69dd4287f621ceb2485cb28 Mon Sep 17 00:00:00 2001 From: amyMayun Date: Thu, 2 Apr 2020 21:30:39 +0800 Subject: [PATCH 04/12] add english version docs for openEuler 20.03 LTS --- content/en/docs/A-Tune/A-Tune.md | 1 + content/en/docs/A-Tune/a-tune-deployment.md | 6 + content/en/docs/A-Tune/a-tune-installation.md | 6 + .../docs/A-Tune/acronyms-and-abbreviations.md | 24 + .../en/docs/A-Tune/activating-a-profile.md | 2 + content/en/docs/A-Tune/analysis.md | 45 + content/en/docs/A-Tune/appendixes.md | 7 + .../en/docs/A-Tune/application-scenarios.md | 7 + content/en/docs/A-Tune/architecture.md | 10 + .../automatic-parameter-optimization.md | 7 + content/en/docs/A-Tune/check.md | 32 + content/en/docs/A-Tune/collection.md | 70 + content/en/docs/A-Tune/define.md | 49 + .../docs/A-Tune/en-us_bookmap_0213174665.md | 60 + .../en/docs/A-Tune/environment-preparation.md | 4 + content/en/docs/A-Tune/faqs.md | 55 + .../A-Tune/figures/en-us_image_0213178479.png | Bin 0 -> 1164 bytes .../A-Tune/figures/en-us_image_0213178480.png | Bin 0 -> 837 bytes .../A-Tune/figures/en-us_image_0214540398.png | Bin 0 -> 29933 bytes .../A-Tune/figures/en-us_image_0227497000.png | Bin 0 -> 353890 bytes .../A-Tune/figures/en-us_image_0227497343.png | Bin 0 -> 87725 bytes .../A-Tune/figures/en-us_image_0231122163.png | Bin 0 -> 25394 bytes .../en/docs/A-Tune/getting-to-know-a-tune.md | 3 + content/en/docs/A-Tune/info.md | 97 + .../A-Tune/installation-and-deployment.md | 6 + content/en/docs/A-Tune/installation-modes.md | 19 + .../en/docs/A-Tune/installation-procedure.md | 53 + content/en/docs/A-Tune/introduction.md | 14 + content/en/docs/A-Tune/legal-statement.md | 16 + content/en/docs/A-Tune/list.md | 43 + content/en/docs/A-Tune/overview-0.md | 17 + content/en/docs/A-Tune/overview.md | 101 + content/en/docs/A-Tune/preface.md | 36 + content/en/docs/A-Tune/profile.md | 22 + .../public_sys-resources/icon-caution.gif | Bin 0 -> 580 bytes .../public_sys-resources/icon-danger.gif | Bin 0 -> 580 bytes .../A-Tune/public_sys-resources/icon-note.gif | Bin 0 -> 394 bytes .../public_sys-resources/icon-notice.gif | Bin 0 -> 406 bytes .../A-Tune/public_sys-resources/icon-tip.gif | Bin 0 -> 253 bytes .../public_sys-resources/icon-warning.gif | Bin 0 -> 580 bytes content/en/docs/A-Tune/querying-profiles.md | 3 + .../A-Tune/querying-system-information.md | 7 + .../en/docs/A-Tune/querying-workload-types.md | 4 + content/en/docs/A-Tune/rollback.md | 16 + .../en/docs/A-Tune/rolling-back-profiles.md | 6 + .../software-and-hardware-requirements.md | 10 + content/en/docs/A-Tune/starting-a-tune.md | 22 + .../supported-features-and-service-models.md | 146 ++ content/en/docs/A-Tune/train.md | 43 + content/en/docs/A-Tune/tuning.md | 469 +++++ content/en/docs/A-Tune/undefine.md | 18 + content/en/docs/A-Tune/update.md | 18 + content/en/docs/A-Tune/updating-a-profile.md | 7 + content/en/docs/A-Tune/updating-database.md | 6 + content/en/docs/A-Tune/upgrade.md | 25 + content/en/docs/A-Tune/user-defined-model.md | 11 + ...oad-type-analysis-and-auto-optimization.md | 5 + .../en/docs/Container/about-this-document.md | 51 + .../adding-a-pod-to-the-cni-network-list.md | 20 + content/en/docs/Container/apis-19.md | 16 + content/en/docs/Container/apis-32.md | 401 ++++ content/en/docs/Container/apis.md | 1660 +++++++++++++++++ content/en/docs/Container/appendix-23.md | 2 + content/en/docs/Container/appendix-30.md | 1 + content/en/docs/Container/appendix.md | 1 + .../Container/application-scenarios-28.md | 4 + .../docs/Container/application-scenarios.md | 5 + content/en/docs/Container/attach-41.md | 19 + content/en/docs/Container/attach.md | 64 + .../Container/attaching-to-a-container.md | 61 + content/en/docs/Container/audit-component.md | 34 + .../basic-installation-configuration.md | 4 + content/en/docs/Container/build.md | 211 +++ .../capabilities-security-configuration.md | 5 + content/en/docs/Container/check-rules.md | 32 + .../checking-the-container-health-status.md | 3 + .../cni-network-configuration-description.md | 7 + content/en/docs/Container/cni-parameters.md | 511 +++++ .../Container/command-line-interface-list.md | 88 + .../docs/Container/command-line-parameters.md | 197 ++ .../en/docs/Container/command-reference.md | 2 + content/en/docs/Container/commit.md | 29 + content/en/docs/Container/common-cnis.md | 70 + .../Container/configurable-cgroup-path.md | 96 + .../docs/Container/configuration-methods.md | 17 + .../docs/Container/configuration-toml-31.md | 81 + .../en/docs/Container/configuration-toml.md | 28 + ...-health-check-during-container-creation.md | 111 ++ ...uring-networking-for-a-secure-container.md | 343 ++++ ...guring-resources-for-a-secure-container.md | 5 + .../configuring-the-docker-engine.md | 34 + ...iguring-the-ulimit-value-in-a-container.md | 149 ++ ...thentication-and-enabling-remote-access.md | 147 ++ content/en/docs/Container/constraints-2.md | 42 + content/en/docs/Container/constraints.md | 47 + content/en/docs/Container/container-engine.md | 309 +++ .../docs/Container/container-management-36.md | 2 + .../docs/Container/container-management-40.md | 230 +++ .../en/docs/Container/container-management.md | 4 + .../container-resource-management.md | 5 + content/en/docs/Container/container.md | 51 + content/en/docs/Container/containerstats.md | 44 + content/en/docs/Container/containerstatus.md | 54 + ...ing-data-between-a-container-and-a-host.md | 74 + content/en/docs/Container/cp.md | 24 + content/en/docs/Container/create.md | 388 ++++ content/en/docs/Container/createcontainer.md | 79 + .../docs/Container/creating-a-container-37.md | 288 +++ .../en/docs/Container/creating-a-container.md | 308 +++ .../en/docs/Container/creating-an-image.md | 37 + .../creating-containers-using-hook-spec.md | 177 ++ content/en/docs/Container/cri.md | 2 + .../Container/daemon-multi-port-binding.md | 40 + .../Container/daemon-network-configuration.md | 6 + .../daemon-parameter-configuration.md | 13 + .../daemon-running-directory-configuration.md | 12 + .../en/docs/Container/daemon-start-time.md | 15 + .../Container/daemon-umask-configuration.md | 11 + .../Container/deleting-a-secure-container.md | 14 + .../en/docs/Container/deleting-images-39.md | 6 + .../en/docs/Container/deleting-images-6.md | 23 + content/en/docs/Container/deleting-images.md | 23 + .../Container/deployment-configuration-27.md | 2 + .../Container/deployment-configuration.md | 2 + content/en/docs/Container/deployment-mode.md | 454 +++++ content/en/docs/Container/description-18.md | 47 + content/en/docs/Container/description.md | 15 + .../en/docs/Container/device-management.md | 137 ++ ...emapper-storage-driver-configuration-35.md | 46 + ...vicemapper-storage-driver-configuration.md | 173 ++ content/en/docs/Container/diff.md | 19 + ...esource-usage-statistics-of-a-container.md | 57 + ...dify-private-directory-of-docker-daemon.md | 4 + content/en/docs/Container/docker-container.md | 5 + .../docs/Container/docker-image-management.md | 5 + .../dynamically-loading-the-kernel-module.md | 53 + ...ontainer-resources-(syscontainer-tools).md | 11 + .../Container/embedded-image-management.md | 2 + .../Container/en-us_bookmap_0183409509.md | 313 ++++ .../environment-variable-persisting.md | 48 + content/en/docs/Container/events.md | 27 + content/en/docs/Container/exec-42.md | 28 + content/en/docs/Container/exec.md | 73 + content/en/docs/Container/execsync.md | 68 + ...cuting-a-command-in-a-running-container.md | 141 ++ content/en/docs/Container/export.md | 20 + .../failed-to-restart-a-container.md | 17 + .../failed-to-restart-the-docker-service.md | 4 + .../figures/en-us_image_0183048952.png | Bin 0 -> 26503 bytes .../figures/en-us_image_0221924926.png | Bin 0 -> 1164 bytes .../figures/en-us_image_0221924927.png | Bin 0 -> 837 bytes ...re-container-and-peripheral-components.png | Bin 0 -> 99099 bytes ...\345\231\250\346\241\206\346\236\2661.png" | Bin 0 -> 129644 bytes .../en/docs/Container/firewalld-component.md | 7 + .../forcibly-stopping-a-container.md | 50 + content/en/docs/Container/history.md | 25 + .../en/docs/Container/image-management-38.md | 2 + .../en/docs/Container/image-management-43.md | 6 + content/en/docs/Container/image-management.md | 2 + content/en/docs/Container/image-service.md | 5 + content/en/docs/Container/imagefsinfo.md | 36 + content/en/docs/Container/images.md | 26 + content/en/docs/Container/imagestatus.md | 59 + ...bly-killing-docker-background-processes.md | 4 + .../Container/impact-of-system-power-off.md | 17 + content/en/docs/Container/import.md | 22 + content/en/docs/Container/info.md | 39 + content/en/docs/Container/inspect.md | 54 + .../en/docs/Container/inspecting-images-5.md | 23 + .../en/docs/Container/inspecting-images.md | 23 + .../installation-and-deployment-25.md | 2 + .../installation-and-deployment-34.md | 1 + .../Container/installation-and-deployment.md | 2 + ...allation-configurations-and-precautions.md | 4 + .../docs/Container/installation-guideline.md | 28 + .../docs/Container/installation-methods-26.md | 18 + .../en/docs/Container/installation-methods.md | 20 + .../interconnection-with-the-cni-network.md | 2 + content/en/docs/Container/introduction.md | 18 + .../en/docs/Container/iptables-component.md | 17 + .../en/docs/Container/isulad-configuration.md | 34 + .../docs/Container/isulad-container-engine.md | 2 + .../en/docs/Container/journald-component.md | 4 + .../Container/limiting-block-i-o-resources.md | 65 + .../docs/Container/limiting-cpu-resources.md | 146 ++ .../limiting-file-descriptor-resources.md | 15 + .../Container/limiting-memory-resources.md | 96 + content/en/docs/Container/listcontainers.md | 44 + .../en/docs/Container/listcontainerstats.md | 44 + content/en/docs/Container/listimages.md | 51 + content/en/docs/Container/listing-images-4.md | 24 + content/en/docs/Container/listing-images.md | 24 + content/en/docs/Container/listpodsandbox.md | 44 + content/en/docs/Container/load.md | 20 + content/en/docs/Container/loading-images-3.md | 23 + content/en/docs/Container/loading-images.md | 23 + .../Container/logging-in-to-a-registry.md | 24 + .../Container/logging-out-of-a-registry.md | 23 + content/en/docs/Container/login.md | 20 + content/en/docs/Container/logout.md | 14 + content/en/docs/Container/logs.md | 48 + ...ing-the-lifecycle-of-a-secure-container.md | 4 + .../Container/many-to-many-user-namespaces.md | 78 + .../Container/maximum-number-of-handles.md | 56 + .../docs/Container/modification-operations.md | 51 + .../Container/monitoring-secure-containers.md | 144 ++ content/en/docs/Container/nic-management.md | 105 ++ .../en/docs/Container/nics-may-be-residual.md | 4 + .../Container/obtaining-container-logs.md | 62 + ...t-messages-from-the-server-in-real-time.md | 51 + .../overlay2-storage-driver-configuration.md | 122 ++ content/en/docs/Container/overview-0.md | 4 + content/en/docs/Container/overview-21.md | 4 + content/en/docs/Container/overview-24.md | 26 + content/en/docs/Container/overview-33.md | 4 + content/en/docs/Container/overview.md | 11 + content/en/docs/Container/pause-unpause.md | 47 + .../en/docs/Container/pausing-a-container.md | 47 + content/en/docs/Container/podsandboxstatus.md | 54 + content/en/docs/Container/port.md | 25 + ...large-number-of-containers-are-deployed.md | 18 + content/en/docs/Container/precautions.md | 4 + .../en/docs/Container/privileged-container.md | 2 + .../proc-file-system-isolation-(lxcfs).md | 134 ++ content/en/docs/Container/ps.md | 37 + .../public_sys-resources/icon-caution.gif | Bin 0 -> 580 bytes .../public_sys-resources/icon-danger.gif | Bin 0 -> 580 bytes .../public_sys-resources/icon-note.gif | Bin 0 -> 394 bytes .../public_sys-resources/icon-notice.gif | Bin 0 -> 406 bytes .../public_sys-resources/icon-tip.gif | Bin 0 -> 253 bytes .../public_sys-resources/icon-warning.gif | Bin 0 -> 580 bytes content/en/docs/Container/pull.md | 36 + content/en/docs/Container/pullimage.md | 58 + .../pulling-images-from-a-registry.md | 24 + content/en/docs/Container/push.md | 26 + .../querying-container-information.md | 8 + ...ng-information-about-a-single-container.md | 183 ++ ...erying-information-about-all-containers.md | 80 + .../en/docs/Container/querying-information.md | 2 + .../querying-system-level-information.md | 37 + .../Container/querying-the-service-version.md | 51 + .../reboot-or-shutdown-in-a-container.md | 79 + content/en/docs/Container/removecontainer.md | 32 + content/en/docs/Container/removeimage.md | 36 + content/en/docs/Container/removepodsandbox.md | 48 + .../en/docs/Container/removing-a-container.md | 59 + ...emoving-a-pod-from-the-cni-network-list.md | 8 + content/en/docs/Container/rename.md | 22 + .../en/docs/Container/renaming-a-container.md | 44 + content/en/docs/Container/restart.md | 19 + .../docs/Container/restarting-a-container.md | 67 + ...ng-cpu-resources-of-a-running-container.md | 84 + ...ng-i-o-resources-of-a-running-container.md | 51 + ...the-memory-usage-of-a-running-container.md | 72 + ...e-number-of-file-handles-in-a-container.md | 68 + ...eads-that-can-be-created-in-a-container.md | 49 + ...the-rootfs-storage-space-of-a-container.md | 169 ++ .../en/docs/Container/resuming-a-container.md | 45 + content/en/docs/Container/rm.md | 29 + content/en/docs/Container/rmi.md | 18 + content/en/docs/Container/route-management.md | 115 ++ content/en/docs/Container/run.md | 22 + .../en/docs/Container/running-a-container.md | 382 ++++ .../running-a-new-command-in-the-container.md | 12 + content/en/docs/Container/runpodsandbox.md | 54 + content/en/docs/Container/runtime-service.md | 6 + content/en/docs/Container/save.md | 18 + content/en/docs/Container/scenarios-12.md | 8 + content/en/docs/Container/scenarios-15.md | 4 + content/en/docs/Container/scenarios-7.md | 4 + content/en/docs/Container/scenarios-9.md | 13 + content/en/docs/Container/scenarios.md | 4 + content/en/docs/Container/search.md | 38 + .../seccomp-security-configuration.md | 4 + content/en/docs/Container/secure-container.md | 5 + .../docs/Container/security-and-isolation.md | 4 + .../security-configuration-seccomp.md | 8 + .../en/docs/Container/security-features.md | 5 + .../selinux-security-configuration.md | 4 + .../Container/semaphores-may-be-residual.md | 48 + .../docs/Container/shared-memory-channels.md | 56 + .../en/docs/Container/sharing-resources-29.md | 6 + .../en/docs/Container/sharing-resources.md | 73 + ...specifying-rootfs-to-create-a-container.md | 46 + content/en/docs/Container/start.md | 22 + content/en/docs/Container/startcontainer.md | 44 + .../en/docs/Container/starting-a-container.md | 49 + .../Container/starting-a-secure-container.md | 57 + content/en/docs/Container/statistics.md | 2 + content/en/docs/Container/stats.md | 26 + content/en/docs/Container/status.md | 53 + content/en/docs/Container/stop.md | 16 + content/en/docs/Container/stopcontainer.md | 37 + .../en/docs/Container/stopping-a-container.md | 73 + .../Container/stopping-a-secure-container.md | 13 + .../stopping-and-deleting-a-container.md | 74 + content/en/docs/Container/stoppodsandbox.md | 44 + .../en/docs/Container/storage-description.md | 79 + .../Container/storage-driver-configuration.md | 6 + .../en/docs/Container/supporting-oci-hooks.md | 2 + content/en/docs/Container/system-container.md | 2 + content/en/docs/Container/tag.md | 16 + content/en/docs/Container/terms-of-use.md | 18 + content/en/docs/Container/top.md | 20 + .../docs/Container/two-way-authentication.md | 93 + content/en/docs/Container/uninstallation.md | 24 + content/en/docs/Container/update.md | 95 + .../Container/updatecontainerresources.md | 42 + .../en/docs/Container/updateruntimeconfig.md | 36 + content/en/docs/Container/upgrade-methods.md | 21 + content/en/docs/Container/usage-guide-11.md | 118 ++ content/en/docs/Container/usage-guide-14.md | 8 + content/en/docs/Container/usage-guide-17.md | 44 + content/en/docs/Container/usage-guide-22.md | 5 + content/en/docs/Container/usage-guide.md | 8 + .../en/docs/Container/usage-restrictions-1.md | 219 +++ .../docs/Container/usage-restrictions-10.md | 4 + .../docs/Container/usage-restrictions-13.md | 24 + .../docs/Container/usage-restrictions-16.md | 14 + .../docs/Container/usage-restrictions-20.md | 16 + .../en/docs/Container/usage-restrictions-8.md | 8 + .../en/docs/Container/usage-restrictions.md | 7 + .../docs/Container/user-permission-control.md | 122 ++ .../using-systemd-to-start-a-container.md | 88 + content/en/docs/Container/version.md | 36 + content/en/docs/Container/viewing-images.md | 8 + ...wing-process-information-in-a-container.md | 52 + .../Container/volume-mounting-management.md | 120 ++ content/en/docs/Container/wait.md | 25 + .../waiting-for-a-container-to-exit.md | 50 + .../writable-namespace-kernel-parameters.md | 90 + .../en/docs/SecHarden/account-passwords.md | 4 + ...ribute-to-globally-writable-directories.md | 21 + content/en/docs/SecHarden/appendix.md | 7 + .../authentication-and-authorization.md | 3 + .../docs/SecHarden/deleting-unowned-files.md | 38 + .../disabling-interactive-startup.md | 10 + ...itable-permission-on-unauthorized-files.md | 29 + .../SecHarden/en-us_bookmap_0192073180.md | 57 + .../figures/en-us_image_0221925211.png | Bin 0 -> 1164 bytes .../figures/en-us_image_0221925212.png | Bin 0 -> 837 bytes content/en/docs/SecHarden/file-permissions.md | 5 + ...art-by-holding-down-ctrl-alt-and-delete.md | 21 + .../hardening-items-taking-effect.md | 8 + ...ening-the-security-of-kernel-parameters.md | 225 +++ .../SecHarden/hardening-the-ssh-service.md | 473 +++++ .../SecHarden/hardening-the-su-command.md | 14 + .../en/docs/SecHarden/kernel-parameters.md | 3 + ...g-an-account-after-three-login-failures.md | 53 + .../docs/SecHarden/os-hardening-overview.md | 6 + .../permissions-on-files-and-directories.md | 18 + content/en/docs/SecHarden/preface.md | 36 + .../public_sys-resources/icon-caution.gif | Bin 0 -> 580 bytes .../public_sys-resources/icon-danger.gif | Bin 0 -> 580 bytes .../public_sys-resources/icon-note.gif | Bin 0 -> 394 bytes .../public_sys-resources/icon-notice.gif | Bin 0 -> 406 bytes .../public_sys-resources/icon-tip.gif | Bin 0 -> 253 bytes .../public_sys-resources/icon-warning.gif | Bin 0 -> 580 bytes .../removing-a-symbolic-link-to-dev-null.md | 33 + ...stricting-permissions-on-the-at-command.md | 27 + ...ricting-permissions-on-the-cron-command.md | 27 + ...stricting-permissions-on-the-su-command.md | 33 + ...ricting-permissions-on-the-sudo-command.md | 14 + content/en/docs/SecHarden/secHarden.md | 1 + .../SecHarden/security-hardening-guide.md | 6 + .../SecHarden/security-hardening-impacts.md | 94 + .../SecHarden/security-hardening-procedure.md | 119 ++ .../SecHarden/security-hardening-purpose.md | 6 + .../SecHarden/security-hardening-solution.md | 20 + .../SecHarden/security-hardening-tools.md | 5 + .../docs/SecHarden/selinux-configuration.md | 67 + ...ing-a-warning-for-remote-network-access.md | 14 + ...ng-an-automatic-exit-interval-for-shell.md | 14 + .../SecHarden/setting-password-complexity.md | 119 ++ .../setting-password-encryption-algorithms.md | 33 + ...e-default-umask-value-for-users-to-0077.md | 30 + .../setting-the-grub2-encryption-password.md | 42 + .../setting-the-password-validity-period.md | 56 + ...e-permissions-on-and-ownership-of-files.md | 25 + .../setting-the-secure-single-user-mode.md | 10 + .../setting-the-umask-value-for-a-daemon.md | 13 + .../SecHarden/shielding-system-accounts.md | 17 + content/en/docs/SecHarden/system-services.md | 5 + content/en/docs/SecHarden/terms-of-use.md | 18 + content/en/docs/SecHarden/umask-values.md | 6 + content/en/menu/index.md | 424 +++++ 386 files changed, 19412 insertions(+) create mode 100644 content/en/docs/A-Tune/A-Tune.md create mode 100644 content/en/docs/A-Tune/a-tune-deployment.md create mode 100644 content/en/docs/A-Tune/a-tune-installation.md create mode 100644 content/en/docs/A-Tune/acronyms-and-abbreviations.md create mode 100644 content/en/docs/A-Tune/activating-a-profile.md create mode 100644 content/en/docs/A-Tune/analysis.md create mode 100644 content/en/docs/A-Tune/appendixes.md create mode 100644 content/en/docs/A-Tune/application-scenarios.md create mode 100644 content/en/docs/A-Tune/architecture.md create mode 100644 content/en/docs/A-Tune/automatic-parameter-optimization.md create mode 100644 content/en/docs/A-Tune/check.md create mode 100644 content/en/docs/A-Tune/collection.md create mode 100644 content/en/docs/A-Tune/define.md create mode 100644 content/en/docs/A-Tune/en-us_bookmap_0213174665.md create mode 100644 content/en/docs/A-Tune/environment-preparation.md create mode 100644 content/en/docs/A-Tune/faqs.md create mode 100644 content/en/docs/A-Tune/figures/en-us_image_0213178479.png create mode 100644 content/en/docs/A-Tune/figures/en-us_image_0213178480.png create mode 100644 content/en/docs/A-Tune/figures/en-us_image_0214540398.png create mode 100644 content/en/docs/A-Tune/figures/en-us_image_0227497000.png create mode 100644 content/en/docs/A-Tune/figures/en-us_image_0227497343.png create mode 100644 content/en/docs/A-Tune/figures/en-us_image_0231122163.png create mode 100644 content/en/docs/A-Tune/getting-to-know-a-tune.md create mode 100644 content/en/docs/A-Tune/info.md create mode 100644 content/en/docs/A-Tune/installation-and-deployment.md create mode 100644 content/en/docs/A-Tune/installation-modes.md create mode 100644 content/en/docs/A-Tune/installation-procedure.md create mode 100644 content/en/docs/A-Tune/introduction.md create mode 100644 content/en/docs/A-Tune/legal-statement.md create mode 100644 content/en/docs/A-Tune/list.md create mode 100644 content/en/docs/A-Tune/overview-0.md create mode 100644 content/en/docs/A-Tune/overview.md create mode 100644 content/en/docs/A-Tune/preface.md create mode 100644 content/en/docs/A-Tune/profile.md create mode 100644 content/en/docs/A-Tune/public_sys-resources/icon-caution.gif create mode 100644 content/en/docs/A-Tune/public_sys-resources/icon-danger.gif create mode 100644 content/en/docs/A-Tune/public_sys-resources/icon-note.gif create mode 100644 content/en/docs/A-Tune/public_sys-resources/icon-notice.gif create mode 100644 content/en/docs/A-Tune/public_sys-resources/icon-tip.gif create mode 100644 content/en/docs/A-Tune/public_sys-resources/icon-warning.gif create mode 100644 content/en/docs/A-Tune/querying-profiles.md create mode 100644 content/en/docs/A-Tune/querying-system-information.md create mode 100644 content/en/docs/A-Tune/querying-workload-types.md create mode 100644 content/en/docs/A-Tune/rollback.md create mode 100644 content/en/docs/A-Tune/rolling-back-profiles.md create mode 100644 content/en/docs/A-Tune/software-and-hardware-requirements.md create mode 100644 content/en/docs/A-Tune/starting-a-tune.md create mode 100644 content/en/docs/A-Tune/supported-features-and-service-models.md create mode 100644 content/en/docs/A-Tune/train.md create mode 100644 content/en/docs/A-Tune/tuning.md create mode 100644 content/en/docs/A-Tune/undefine.md create mode 100644 content/en/docs/A-Tune/update.md create mode 100644 content/en/docs/A-Tune/updating-a-profile.md create mode 100644 content/en/docs/A-Tune/updating-database.md create mode 100644 content/en/docs/A-Tune/upgrade.md create mode 100644 content/en/docs/A-Tune/user-defined-model.md create mode 100644 content/en/docs/A-Tune/workload-type-analysis-and-auto-optimization.md create mode 100644 content/en/docs/Container/about-this-document.md create mode 100644 content/en/docs/Container/adding-a-pod-to-the-cni-network-list.md create mode 100644 content/en/docs/Container/apis-19.md create mode 100644 content/en/docs/Container/apis-32.md create mode 100644 content/en/docs/Container/apis.md create mode 100644 content/en/docs/Container/appendix-23.md create mode 100644 content/en/docs/Container/appendix-30.md create mode 100644 content/en/docs/Container/appendix.md create mode 100644 content/en/docs/Container/application-scenarios-28.md create mode 100644 content/en/docs/Container/application-scenarios.md create mode 100644 content/en/docs/Container/attach-41.md create mode 100644 content/en/docs/Container/attach.md create mode 100644 content/en/docs/Container/attaching-to-a-container.md create mode 100644 content/en/docs/Container/audit-component.md create mode 100644 content/en/docs/Container/basic-installation-configuration.md create mode 100644 content/en/docs/Container/build.md create mode 100644 content/en/docs/Container/capabilities-security-configuration.md create mode 100644 content/en/docs/Container/check-rules.md create mode 100644 content/en/docs/Container/checking-the-container-health-status.md create mode 100644 content/en/docs/Container/cni-network-configuration-description.md create mode 100644 content/en/docs/Container/cni-parameters.md create mode 100644 content/en/docs/Container/command-line-interface-list.md create mode 100644 content/en/docs/Container/command-line-parameters.md create mode 100644 content/en/docs/Container/command-reference.md create mode 100644 content/en/docs/Container/commit.md create mode 100644 content/en/docs/Container/common-cnis.md create mode 100644 content/en/docs/Container/configurable-cgroup-path.md create mode 100644 content/en/docs/Container/configuration-methods.md create mode 100644 content/en/docs/Container/configuration-toml-31.md create mode 100644 content/en/docs/Container/configuration-toml.md create mode 100644 content/en/docs/Container/configuring-health-check-during-container-creation.md create mode 100644 content/en/docs/Container/configuring-networking-for-a-secure-container.md create mode 100644 content/en/docs/Container/configuring-resources-for-a-secure-container.md create mode 100644 content/en/docs/Container/configuring-the-docker-engine.md create mode 100644 content/en/docs/Container/configuring-the-ulimit-value-in-a-container.md create mode 100644 content/en/docs/Container/configuring-tls-authentication-and-enabling-remote-access.md create mode 100644 content/en/docs/Container/constraints-2.md create mode 100644 content/en/docs/Container/constraints.md create mode 100644 content/en/docs/Container/container-engine.md create mode 100644 content/en/docs/Container/container-management-36.md create mode 100644 content/en/docs/Container/container-management-40.md create mode 100644 content/en/docs/Container/container-management.md create mode 100644 content/en/docs/Container/container-resource-management.md create mode 100644 content/en/docs/Container/container.md create mode 100644 content/en/docs/Container/containerstats.md create mode 100644 content/en/docs/Container/containerstatus.md create mode 100644 content/en/docs/Container/copying-data-between-a-container-and-a-host.md create mode 100644 content/en/docs/Container/cp.md create mode 100644 content/en/docs/Container/create.md create mode 100644 content/en/docs/Container/createcontainer.md create mode 100644 content/en/docs/Container/creating-a-container-37.md create mode 100644 content/en/docs/Container/creating-a-container.md create mode 100644 content/en/docs/Container/creating-an-image.md create mode 100644 content/en/docs/Container/creating-containers-using-hook-spec.md create mode 100644 content/en/docs/Container/cri.md create mode 100644 content/en/docs/Container/daemon-multi-port-binding.md create mode 100644 content/en/docs/Container/daemon-network-configuration.md create mode 100644 content/en/docs/Container/daemon-parameter-configuration.md create mode 100644 content/en/docs/Container/daemon-running-directory-configuration.md create mode 100644 content/en/docs/Container/daemon-start-time.md create mode 100644 content/en/docs/Container/daemon-umask-configuration.md create mode 100644 content/en/docs/Container/deleting-a-secure-container.md create mode 100644 content/en/docs/Container/deleting-images-39.md create mode 100644 content/en/docs/Container/deleting-images-6.md create mode 100644 content/en/docs/Container/deleting-images.md create mode 100644 content/en/docs/Container/deployment-configuration-27.md create mode 100644 content/en/docs/Container/deployment-configuration.md create mode 100644 content/en/docs/Container/deployment-mode.md create mode 100644 content/en/docs/Container/description-18.md create mode 100644 content/en/docs/Container/description.md create mode 100644 content/en/docs/Container/device-management.md create mode 100644 content/en/docs/Container/devicemapper-storage-driver-configuration-35.md create mode 100644 content/en/docs/Container/devicemapper-storage-driver-configuration.md create mode 100644 content/en/docs/Container/diff.md create mode 100644 content/en/docs/Container/displaying-resource-usage-statistics-of-a-container.md create mode 100644 content/en/docs/Container/do-not-modify-private-directory-of-docker-daemon.md create mode 100644 content/en/docs/Container/docker-container.md create mode 100644 content/en/docs/Container/docker-image-management.md create mode 100644 content/en/docs/Container/dynamically-loading-the-kernel-module.md create mode 100644 content/en/docs/Container/dynamically-managing-container-resources-(syscontainer-tools).md create mode 100644 content/en/docs/Container/embedded-image-management.md create mode 100644 content/en/docs/Container/en-us_bookmap_0183409509.md create mode 100644 content/en/docs/Container/environment-variable-persisting.md create mode 100644 content/en/docs/Container/events.md create mode 100644 content/en/docs/Container/exec-42.md create mode 100644 content/en/docs/Container/exec.md create mode 100644 content/en/docs/Container/execsync.md create mode 100644 content/en/docs/Container/executing-a-command-in-a-running-container.md create mode 100644 content/en/docs/Container/export.md create mode 100644 content/en/docs/Container/failed-to-restart-a-container.md create mode 100644 content/en/docs/Container/failed-to-restart-the-docker-service.md create mode 100644 content/en/docs/Container/figures/en-us_image_0183048952.png create mode 100644 content/en/docs/Container/figures/en-us_image_0221924926.png create mode 100644 content/en/docs/Container/figures/en-us_image_0221924927.png create mode 100644 content/en/docs/Container/figures/relationship-between-the-secure-container-and-peripheral-components.png create mode 100644 "content/en/docs/Container/figures/\345\256\211\345\205\250\345\256\271\345\231\250\346\241\206\346\236\2661.png" create mode 100644 content/en/docs/Container/firewalld-component.md create mode 100644 content/en/docs/Container/forcibly-stopping-a-container.md create mode 100644 content/en/docs/Container/history.md create mode 100644 content/en/docs/Container/image-management-38.md create mode 100644 content/en/docs/Container/image-management-43.md create mode 100644 content/en/docs/Container/image-management.md create mode 100644 content/en/docs/Container/image-service.md create mode 100644 content/en/docs/Container/imagefsinfo.md create mode 100644 content/en/docs/Container/images.md create mode 100644 content/en/docs/Container/imagestatus.md create mode 100644 content/en/docs/Container/impact-of-forcibly-killing-docker-background-processes.md create mode 100644 content/en/docs/Container/impact-of-system-power-off.md create mode 100644 content/en/docs/Container/import.md create mode 100644 content/en/docs/Container/info.md create mode 100644 content/en/docs/Container/inspect.md create mode 100644 content/en/docs/Container/inspecting-images-5.md create mode 100644 content/en/docs/Container/inspecting-images.md create mode 100644 content/en/docs/Container/installation-and-deployment-25.md create mode 100644 content/en/docs/Container/installation-and-deployment-34.md create mode 100644 content/en/docs/Container/installation-and-deployment.md create mode 100644 content/en/docs/Container/installation-configurations-and-precautions.md create mode 100644 content/en/docs/Container/installation-guideline.md create mode 100644 content/en/docs/Container/installation-methods-26.md create mode 100644 content/en/docs/Container/installation-methods.md create mode 100644 content/en/docs/Container/interconnection-with-the-cni-network.md create mode 100644 content/en/docs/Container/introduction.md create mode 100644 content/en/docs/Container/iptables-component.md create mode 100644 content/en/docs/Container/isulad-configuration.md create mode 100644 content/en/docs/Container/isulad-container-engine.md create mode 100644 content/en/docs/Container/journald-component.md create mode 100644 content/en/docs/Container/limiting-block-i-o-resources.md create mode 100644 content/en/docs/Container/limiting-cpu-resources.md create mode 100644 content/en/docs/Container/limiting-file-descriptor-resources.md create mode 100644 content/en/docs/Container/limiting-memory-resources.md create mode 100644 content/en/docs/Container/listcontainers.md create mode 100644 content/en/docs/Container/listcontainerstats.md create mode 100644 content/en/docs/Container/listimages.md create mode 100644 content/en/docs/Container/listing-images-4.md create mode 100644 content/en/docs/Container/listing-images.md create mode 100644 content/en/docs/Container/listpodsandbox.md create mode 100644 content/en/docs/Container/load.md create mode 100644 content/en/docs/Container/loading-images-3.md create mode 100644 content/en/docs/Container/loading-images.md create mode 100644 content/en/docs/Container/logging-in-to-a-registry.md create mode 100644 content/en/docs/Container/logging-out-of-a-registry.md create mode 100644 content/en/docs/Container/login.md create mode 100644 content/en/docs/Container/logout.md create mode 100644 content/en/docs/Container/logs.md create mode 100644 content/en/docs/Container/managing-the-lifecycle-of-a-secure-container.md create mode 100644 content/en/docs/Container/many-to-many-user-namespaces.md create mode 100644 content/en/docs/Container/maximum-number-of-handles.md create mode 100644 content/en/docs/Container/modification-operations.md create mode 100644 content/en/docs/Container/monitoring-secure-containers.md create mode 100644 content/en/docs/Container/nic-management.md create mode 100644 content/en/docs/Container/nics-may-be-residual.md create mode 100644 content/en/docs/Container/obtaining-container-logs.md create mode 100644 content/en/docs/Container/obtaining-event-messages-from-the-server-in-real-time.md create mode 100644 content/en/docs/Container/overlay2-storage-driver-configuration.md create mode 100644 content/en/docs/Container/overview-0.md create mode 100644 content/en/docs/Container/overview-21.md create mode 100644 content/en/docs/Container/overview-24.md create mode 100644 content/en/docs/Container/overview-33.md create mode 100644 content/en/docs/Container/overview.md create mode 100644 content/en/docs/Container/pause-unpause.md create mode 100644 content/en/docs/Container/pausing-a-container.md create mode 100644 content/en/docs/Container/podsandboxstatus.md create mode 100644 content/en/docs/Container/port.md create mode 100644 content/en/docs/Container/precautions-for-common-users-in-the-scenario-where-a-large-number-of-containers-are-deployed.md create mode 100644 content/en/docs/Container/precautions.md create mode 100644 content/en/docs/Container/privileged-container.md create mode 100644 content/en/docs/Container/proc-file-system-isolation-(lxcfs).md create mode 100644 content/en/docs/Container/ps.md create mode 100644 content/en/docs/Container/public_sys-resources/icon-caution.gif create mode 100644 content/en/docs/Container/public_sys-resources/icon-danger.gif create mode 100644 content/en/docs/Container/public_sys-resources/icon-note.gif create mode 100644 content/en/docs/Container/public_sys-resources/icon-notice.gif create mode 100644 content/en/docs/Container/public_sys-resources/icon-tip.gif create mode 100644 content/en/docs/Container/public_sys-resources/icon-warning.gif create mode 100644 content/en/docs/Container/pull.md create mode 100644 content/en/docs/Container/pullimage.md create mode 100644 content/en/docs/Container/pulling-images-from-a-registry.md create mode 100644 content/en/docs/Container/push.md create mode 100644 content/en/docs/Container/querying-container-information.md create mode 100644 content/en/docs/Container/querying-information-about-a-single-container.md create mode 100644 content/en/docs/Container/querying-information-about-all-containers.md create mode 100644 content/en/docs/Container/querying-information.md create mode 100644 content/en/docs/Container/querying-system-level-information.md create mode 100644 content/en/docs/Container/querying-the-service-version.md create mode 100644 content/en/docs/Container/reboot-or-shutdown-in-a-container.md create mode 100644 content/en/docs/Container/removecontainer.md create mode 100644 content/en/docs/Container/removeimage.md create mode 100644 content/en/docs/Container/removepodsandbox.md create mode 100644 content/en/docs/Container/removing-a-container.md create mode 100644 content/en/docs/Container/removing-a-pod-from-the-cni-network-list.md create mode 100644 content/en/docs/Container/rename.md create mode 100644 content/en/docs/Container/renaming-a-container.md create mode 100644 content/en/docs/Container/restart.md create mode 100644 content/en/docs/Container/restarting-a-container.md create mode 100644 content/en/docs/Container/restricting-cpu-resources-of-a-running-container.md create mode 100644 content/en/docs/Container/restricting-i-o-resources-of-a-running-container.md create mode 100644 content/en/docs/Container/restricting-the-memory-usage-of-a-running-container.md create mode 100644 content/en/docs/Container/restricting-the-number-of-file-handles-in-a-container.md create mode 100644 content/en/docs/Container/restricting-the-number-of-processes-or-threads-that-can-be-created-in-a-container.md create mode 100644 content/en/docs/Container/restricting-the-rootfs-storage-space-of-a-container.md create mode 100644 content/en/docs/Container/resuming-a-container.md create mode 100644 content/en/docs/Container/rm.md create mode 100644 content/en/docs/Container/rmi.md create mode 100644 content/en/docs/Container/route-management.md create mode 100644 content/en/docs/Container/run.md create mode 100644 content/en/docs/Container/running-a-container.md create mode 100644 content/en/docs/Container/running-a-new-command-in-the-container.md create mode 100644 content/en/docs/Container/runpodsandbox.md create mode 100644 content/en/docs/Container/runtime-service.md create mode 100644 content/en/docs/Container/save.md create mode 100644 content/en/docs/Container/scenarios-12.md create mode 100644 content/en/docs/Container/scenarios-15.md create mode 100644 content/en/docs/Container/scenarios-7.md create mode 100644 content/en/docs/Container/scenarios-9.md create mode 100644 content/en/docs/Container/scenarios.md create mode 100644 content/en/docs/Container/search.md create mode 100644 content/en/docs/Container/seccomp-security-configuration.md create mode 100644 content/en/docs/Container/secure-container.md create mode 100644 content/en/docs/Container/security-and-isolation.md create mode 100644 content/en/docs/Container/security-configuration-seccomp.md create mode 100644 content/en/docs/Container/security-features.md create mode 100644 content/en/docs/Container/selinux-security-configuration.md create mode 100644 content/en/docs/Container/semaphores-may-be-residual.md create mode 100644 content/en/docs/Container/shared-memory-channels.md create mode 100644 content/en/docs/Container/sharing-resources-29.md create mode 100644 content/en/docs/Container/sharing-resources.md create mode 100644 content/en/docs/Container/specifying-rootfs-to-create-a-container.md create mode 100644 content/en/docs/Container/start.md create mode 100644 content/en/docs/Container/startcontainer.md create mode 100644 content/en/docs/Container/starting-a-container.md create mode 100644 content/en/docs/Container/starting-a-secure-container.md create mode 100644 content/en/docs/Container/statistics.md create mode 100644 content/en/docs/Container/stats.md create mode 100644 content/en/docs/Container/status.md create mode 100644 content/en/docs/Container/stop.md create mode 100644 content/en/docs/Container/stopcontainer.md create mode 100644 content/en/docs/Container/stopping-a-container.md create mode 100644 content/en/docs/Container/stopping-a-secure-container.md create mode 100644 content/en/docs/Container/stopping-and-deleting-a-container.md create mode 100644 content/en/docs/Container/stoppodsandbox.md create mode 100644 content/en/docs/Container/storage-description.md create mode 100644 content/en/docs/Container/storage-driver-configuration.md create mode 100644 content/en/docs/Container/supporting-oci-hooks.md create mode 100644 content/en/docs/Container/system-container.md create mode 100644 content/en/docs/Container/tag.md create mode 100644 content/en/docs/Container/terms-of-use.md create mode 100644 content/en/docs/Container/top.md create mode 100644 content/en/docs/Container/two-way-authentication.md create mode 100644 content/en/docs/Container/uninstallation.md create mode 100644 content/en/docs/Container/update.md create mode 100644 content/en/docs/Container/updatecontainerresources.md create mode 100644 content/en/docs/Container/updateruntimeconfig.md create mode 100644 content/en/docs/Container/upgrade-methods.md create mode 100644 content/en/docs/Container/usage-guide-11.md create mode 100644 content/en/docs/Container/usage-guide-14.md create mode 100644 content/en/docs/Container/usage-guide-17.md create mode 100644 content/en/docs/Container/usage-guide-22.md create mode 100644 content/en/docs/Container/usage-guide.md create mode 100644 content/en/docs/Container/usage-restrictions-1.md create mode 100644 content/en/docs/Container/usage-restrictions-10.md create mode 100644 content/en/docs/Container/usage-restrictions-13.md create mode 100644 content/en/docs/Container/usage-restrictions-16.md create mode 100644 content/en/docs/Container/usage-restrictions-20.md create mode 100644 content/en/docs/Container/usage-restrictions-8.md create mode 100644 content/en/docs/Container/usage-restrictions.md create mode 100644 content/en/docs/Container/user-permission-control.md create mode 100644 content/en/docs/Container/using-systemd-to-start-a-container.md create mode 100644 content/en/docs/Container/version.md create mode 100644 content/en/docs/Container/viewing-images.md create mode 100644 content/en/docs/Container/viewing-process-information-in-a-container.md create mode 100644 content/en/docs/Container/volume-mounting-management.md create mode 100644 content/en/docs/Container/wait.md create mode 100644 content/en/docs/Container/waiting-for-a-container-to-exit.md create mode 100644 content/en/docs/Container/writable-namespace-kernel-parameters.md create mode 100644 content/en/docs/SecHarden/account-passwords.md create mode 100644 content/en/docs/SecHarden/adding-a-sticky-bit-attribute-to-globally-writable-directories.md create mode 100644 content/en/docs/SecHarden/appendix.md create mode 100644 content/en/docs/SecHarden/authentication-and-authorization.md create mode 100644 content/en/docs/SecHarden/deleting-unowned-files.md create mode 100644 content/en/docs/SecHarden/disabling-interactive-startup.md create mode 100644 content/en/docs/SecHarden/disabling-the-globally-writable-permission-on-unauthorized-files.md create mode 100644 content/en/docs/SecHarden/en-us_bookmap_0192073180.md create mode 100644 content/en/docs/SecHarden/figures/en-us_image_0221925211.png create mode 100644 content/en/docs/SecHarden/figures/en-us_image_0221925212.png create mode 100644 content/en/docs/SecHarden/file-permissions.md create mode 100644 content/en/docs/SecHarden/forestalling-unauthorized-system-restart-by-holding-down-ctrl-alt-and-delete.md create mode 100644 content/en/docs/SecHarden/hardening-items-taking-effect.md create mode 100644 content/en/docs/SecHarden/hardening-the-security-of-kernel-parameters.md create mode 100644 content/en/docs/SecHarden/hardening-the-ssh-service.md create mode 100644 content/en/docs/SecHarden/hardening-the-su-command.md create mode 100644 content/en/docs/SecHarden/kernel-parameters.md create mode 100644 content/en/docs/SecHarden/locking-an-account-after-three-login-failures.md create mode 100644 content/en/docs/SecHarden/os-hardening-overview.md create mode 100644 content/en/docs/SecHarden/permissions-on-files-and-directories.md create mode 100644 content/en/docs/SecHarden/preface.md create mode 100644 content/en/docs/SecHarden/public_sys-resources/icon-caution.gif create mode 100644 content/en/docs/SecHarden/public_sys-resources/icon-danger.gif create mode 100644 content/en/docs/SecHarden/public_sys-resources/icon-note.gif create mode 100644 content/en/docs/SecHarden/public_sys-resources/icon-notice.gif create mode 100644 content/en/docs/SecHarden/public_sys-resources/icon-tip.gif create mode 100644 content/en/docs/SecHarden/public_sys-resources/icon-warning.gif create mode 100644 content/en/docs/SecHarden/removing-a-symbolic-link-to-dev-null.md create mode 100644 content/en/docs/SecHarden/restricting-permissions-on-the-at-command.md create mode 100644 content/en/docs/SecHarden/restricting-permissions-on-the-cron-command.md create mode 100644 content/en/docs/SecHarden/restricting-permissions-on-the-su-command.md create mode 100644 content/en/docs/SecHarden/restricting-permissions-on-the-sudo-command.md create mode 100644 content/en/docs/SecHarden/secHarden.md create mode 100644 content/en/docs/SecHarden/security-hardening-guide.md create mode 100644 content/en/docs/SecHarden/security-hardening-impacts.md create mode 100644 content/en/docs/SecHarden/security-hardening-procedure.md create mode 100644 content/en/docs/SecHarden/security-hardening-purpose.md create mode 100644 content/en/docs/SecHarden/security-hardening-solution.md create mode 100644 content/en/docs/SecHarden/security-hardening-tools.md create mode 100644 content/en/docs/SecHarden/selinux-configuration.md create mode 100644 content/en/docs/SecHarden/setting-a-warning-for-remote-network-access.md create mode 100644 content/en/docs/SecHarden/setting-an-automatic-exit-interval-for-shell.md create mode 100644 content/en/docs/SecHarden/setting-password-complexity.md create mode 100644 content/en/docs/SecHarden/setting-password-encryption-algorithms.md create mode 100644 content/en/docs/SecHarden/setting-the-default-umask-value-for-users-to-0077.md create mode 100644 content/en/docs/SecHarden/setting-the-grub2-encryption-password.md create mode 100644 content/en/docs/SecHarden/setting-the-password-validity-period.md create mode 100644 content/en/docs/SecHarden/setting-the-permissions-on-and-ownership-of-files.md create mode 100644 content/en/docs/SecHarden/setting-the-secure-single-user-mode.md create mode 100644 content/en/docs/SecHarden/setting-the-umask-value-for-a-daemon.md create mode 100644 content/en/docs/SecHarden/shielding-system-accounts.md create mode 100644 content/en/docs/SecHarden/system-services.md create mode 100644 content/en/docs/SecHarden/terms-of-use.md create mode 100644 content/en/docs/SecHarden/umask-values.md diff --git a/content/en/docs/A-Tune/A-Tune.md b/content/en/docs/A-Tune/A-Tune.md new file mode 100644 index 000000000..dd4339cbe --- /dev/null +++ b/content/en/docs/A-Tune/A-Tune.md @@ -0,0 +1 @@ +This document describes how to install and use A-Tune, which is a performance self-optimization software for openEuler. \ No newline at end of file diff --git a/content/en/docs/A-Tune/a-tune-deployment.md b/content/en/docs/A-Tune/a-tune-deployment.md new file mode 100644 index 000000000..6d0d41192 --- /dev/null +++ b/content/en/docs/A-Tune/a-tune-deployment.md @@ -0,0 +1,6 @@ +# A-Tune Deployment + +This chapter describes how to deploy A-Tune. + + + diff --git a/content/en/docs/A-Tune/a-tune-installation.md b/content/en/docs/A-Tune/a-tune-installation.md new file mode 100644 index 000000000..d5f925797 --- /dev/null +++ b/content/en/docs/A-Tune/a-tune-installation.md @@ -0,0 +1,6 @@ +# A-Tune Installation + +This chapter describes the installation modes and methods of the A-Tune. + + + diff --git a/content/en/docs/A-Tune/acronyms-and-abbreviations.md b/content/en/docs/A-Tune/acronyms-and-abbreviations.md new file mode 100644 index 000000000..58101719b --- /dev/null +++ b/content/en/docs/A-Tune/acronyms-and-abbreviations.md @@ -0,0 +1,24 @@ +# Acronyms and Abbreviations + +**Table 1** Terminology + + + + + + + + + + + + + +

Term

+

Description

+

workload_type

+

Workload type, which is used to identify a type of service with the same characteristics.

+

profile

+

Set of optimization items and optimal parameter configuration.

+
+ diff --git a/content/en/docs/A-Tune/activating-a-profile.md b/content/en/docs/A-Tune/activating-a-profile.md new file mode 100644 index 000000000..5226e3cdb --- /dev/null +++ b/content/en/docs/A-Tune/activating-a-profile.md @@ -0,0 +1,2 @@ +# Activating a Profile + diff --git a/content/en/docs/A-Tune/analysis.md b/content/en/docs/A-Tune/analysis.md new file mode 100644 index 000000000..aaa46816a --- /dev/null +++ b/content/en/docs/A-Tune/analysis.md @@ -0,0 +1,45 @@ +# analysis + +## Function + +Collect real-time statistics from the system to identify and automatically optimize workload types. + +## Format + +**atune-adm analysis** \[OPTIONS\] + +## Parameter Description + +- OPTIONS + + + + + + + + + + +

Parameter

+

Description

+

--model, -m

+

Model generated by user-defined training

+
+ + +## Example + +- Use the default model for classification and identification. + + ``` + # atune-adm analysis + ``` + +- Use the user-defined training model for recognition. + + ``` + # atune-adm analysis --model /usr/libexec/atuned/analysis/models/new-model.m + ``` + + diff --git a/content/en/docs/A-Tune/appendixes.md b/content/en/docs/A-Tune/appendixes.md new file mode 100644 index 000000000..5d1d7dd33 --- /dev/null +++ b/content/en/docs/A-Tune/appendixes.md @@ -0,0 +1,7 @@ +# Appendixes + +   + + + + diff --git a/content/en/docs/A-Tune/application-scenarios.md b/content/en/docs/A-Tune/application-scenarios.md new file mode 100644 index 000000000..1d3aba816 --- /dev/null +++ b/content/en/docs/A-Tune/application-scenarios.md @@ -0,0 +1,7 @@ +# Application Scenarios + +You can use functions provided by A-Tune through the CLI client atune-adm. This chapter describes the functions and usage of the A-Tune client. + + + + diff --git a/content/en/docs/A-Tune/architecture.md b/content/en/docs/A-Tune/architecture.md new file mode 100644 index 000000000..478dd9e44 --- /dev/null +++ b/content/en/docs/A-Tune/architecture.md @@ -0,0 +1,10 @@ +# Architecture + +The following figure shows the A-Tune core technical architecture, which consists of intelligent decision-making, system profile, and interaction system. + +- Intelligent decision-making layer: consists of the awareness and decision-making subsystems, which implements intelligent awareness of applications and system optimization decision-making, respectively. +- System profile layer: consists of the labeling and learning subsystems. The labeling subsystem is used to cluster service models, and the learning subsystem is used to learn and classify service models. +- Interaction system layer: monitors and configures various system resources and executes optimization policies. + +![](figures/en-us_image_0227497343.png) + diff --git a/content/en/docs/A-Tune/automatic-parameter-optimization.md b/content/en/docs/A-Tune/automatic-parameter-optimization.md new file mode 100644 index 000000000..01046e1fc --- /dev/null +++ b/content/en/docs/A-Tune/automatic-parameter-optimization.md @@ -0,0 +1,7 @@ +# Automatic Parameter Optimization + +A-Tune provides the automatic search capability for optimal configurations, eliminating the need for repeated manual parameter adjustment and performance evaluation. This greatly improves the search efficiency of optimal configurations. + + + + diff --git a/content/en/docs/A-Tune/check.md b/content/en/docs/A-Tune/check.md new file mode 100644 index 000000000..ac2e17c14 --- /dev/null +++ b/content/en/docs/A-Tune/check.md @@ -0,0 +1,32 @@ +# check + +## Function + +Check the CPU, BIOS, OS, and NIC information. + +## Format + +**atune-adm check** + +## Example + +``` +# atune-adm check + cpu information: + cpu:0 version: Kunpeng 920-6426 speed: 2600000000 HZ cores: 64 + cpu:1 version: Kunpeng 920-6426 speed: 2600000000 HZ cores: 64 + system information: + DMIBIOSVersion: 0.59 + OSRelease: 4.19.36-vhulk1906.3.0.h356.eulerosv2r8.aarch64 + network information: + name: eth0 product: HNS GE/10GE/25GE RDMA Network Controller + name: eth1 product: HNS GE/10GE/25GE Network Controller + name: eth2 product: HNS GE/10GE/25GE RDMA Network Controller + name: eth3 product: HNS GE/10GE/25GE Network Controller + name: eth4 product: HNS GE/10GE/25GE RDMA Network Controller + name: eth5 product: HNS GE/10GE/25GE Network Controller + name: eth6 product: HNS GE/10GE/25GE RDMA Network Controller + name: eth7 product: HNS GE/10GE/25GE Network Controller + name: docker0 product: +``` + diff --git a/content/en/docs/A-Tune/collection.md b/content/en/docs/A-Tune/collection.md new file mode 100644 index 000000000..7c15aec49 --- /dev/null +++ b/content/en/docs/A-Tune/collection.md @@ -0,0 +1,70 @@ +# collection + +## Function + +Collect the global resource usage and OS status information during service running, and save the collected information to a CSV output file as the input dataset for model training. + +>![](public_sys-resources/icon-note.gif) **NOTE:** +>- This command depends on the sampling tools such as perf, mpstat, vmstat, iostat, and sar. +>- Currently, only the Kunpeng 920 CPU is supported. You can run the **dmidecode -t processor** command to check the CPU model. + +## Format + +**atune-adm collection** + +## Parameter Description + +- OPTIONS + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Parameter

+

Description

+

--filename, -f

+

Name of the generated CSV file used for training: name-timestamp.csv

+

--output_path, -o

+

Path for storing the generated CSV file. The absolute path is required.

+

--disk, -b

+

Disk used during service running, for example, /dev/sda.

+

--network, -n

+

Network port used during service running, for example, eth0.

+

--workload_type, -t

+

Workload type, which is used as a label for training.

+

--duration, -d

+

Data collection time during service running, in seconds. The default collection time is 1200 seconds.

+

--interval, -i

+

Interval for collecting data, in seconds. The default interval is 5 seconds.

+
+ + +## Example + +``` +# atune-adm collection --filename name --interval 5 --duration 1200 --output_path /home/data --disk sda --network eth0 --workload_type test_type +``` + diff --git a/content/en/docs/A-Tune/define.md b/content/en/docs/A-Tune/define.md new file mode 100644 index 000000000..1a17162eb --- /dev/null +++ b/content/en/docs/A-Tune/define.md @@ -0,0 +1,49 @@ +# define + +## Function + +Add a user-defined workload type and the corresponding profile optimization item. + +## Format + +**atune-adm define** + +## Example + +Add a workload type. Set workload type to **test\_type**, profile name to **test\_name**, and configuration file of an optimization item to **example.conf**. + +``` +# atune-adm define test_type test_name ./example.conf +``` + +The **example.conf** file can be written as follows \(the following optimization items are optional and are for reference only\). You can also run the **atune-adm info** command to view how the existing profile is written. + +``` +[main] +# list its parent profile +[tip] +# the recommended optimization, which should be performed manunaly +[check] +# check the environment +[affinity.irq] +# to change the affinity of irqs +[affinity.task] +# to change the affinity of tasks +[bios] +# to change the bios config +[bootloader.grub2] +# to change the grub2 config +[kernel_config] +# to change the kernel config +[script] +# the script extention of cpi +[sysctl] +# to change the /proc/sys/* config +[sysfs] +# to change the /sys/* config +[systemctl] +# to change the system service config +[ulimit] +# to change the resources limit of user +``` + diff --git a/content/en/docs/A-Tune/en-us_bookmap_0213174665.md b/content/en/docs/A-Tune/en-us_bookmap_0213174665.md new file mode 100644 index 000000000..dac0babe0 --- /dev/null +++ b/content/en/docs/A-Tune/en-us_bookmap_0213174665.md @@ -0,0 +1,60 @@ + # A-Tune User Guide +- [A-Tune User Guide]({{< relref "./docs/A-Tune/A-Tune.md" >}}) + - [Legal Statement]({{< relref "./docs/A-Tune/legal-statement" >}}) + - [Preface]({{< relref "./docs/A-Tune/preface" >}}) + - [Getting to Know A-Tune]({{< relref "./docs/A-Tune/getting-to-know-a-tune" >}}) + - [Introduction]({{< relref "./docs/A-Tune/introduction" >}}) + - [Architecture]({{< relref "./docs/A-Tune/architecture" >}}) + - [Supported Features and Service Models]({{< relref "./docs/A-Tune/supported-features-and-service-models" >}}) + + - [Installation and Deployment]({{< relref "./docs/A-Tune/installation-and-deployment" >}}) + - [Software and Hardware Requirements]({{< relref "./docs/A-Tune/software-and-hardware-requirements" >}}) + - [Environment Preparation]({{< relref "./docs/A-Tune/environment-preparation" >}}) + - [A-Tune Installation]({{< relref "./docs/A-Tune/a-tune-installation" >}}) + - [Installation Modes]({{< relref "./docs/A-Tune/installation-modes" >}}) + - [Installation Procedure]({{< relref "./docs/A-Tune/installation-procedure" >}}) + + - [A-Tune Deployment]({{< relref "./docs/A-Tune/a-tune-deployment" >}}) + - [Overview]({{< relref "./docs/A-Tune/overview" >}}) + + - [Starting A-Tune]({{< relref "./docs/A-Tune/starting-a-tune" >}}) + + - [Application Scenarios]({{< relref "./docs/A-Tune/application-scenarios" >}}) + - [Overview]({{< relref "./docs/A-Tune/overview-0" >}}) + - [Querying Workload Types]({{< relref "./docs/A-Tune/querying-workload-types" >}}) + - [list]({{< relref "./docs/A-Tune/list" >}}) + + - [Workload Type Analysis and Auto Optimization]({{< relref "./docs/A-Tune/workload-type-analysis-and-auto-optimization" >}}) + - [analysis]({{< relref "./docs/A-Tune/analysis" >}}) + + - [User-defined Model]({{< relref "./docs/A-Tune/user-defined-model" >}}) + - [define]({{< relref "./docs/A-Tune/define" >}}) + - [collection]({{< relref "./docs/A-Tune/collection" >}}) + - [train]({{< relref "./docs/A-Tune/train" >}}) + - [undefine]({{< relref "./docs/A-Tune/undefine" >}}) + + - [Querying Profiles]({{< relref "./docs/A-Tune/querying-profiles" >}}) + - [info]({{< relref "./docs/A-Tune/info" >}}) + + - [Updating a Profile]({{< relref "./docs/A-Tune/updating-a-profile" >}}) + - [update]({{< relref "./docs/A-Tune/update" >}}) + + - [Activating a Profile]({{< relref "./docs/A-Tune/activating-a-profile" >}}) + - [profile]({{< relref "./docs/A-Tune/profile" >}}) + + - [Rolling Back Profiles]({{< relref "./docs/A-Tune/rolling-back-profiles" >}}) + - [rollback]({{< relref "./docs/A-Tune/rollback" >}}) + + - [Updating Database]({{< relref "./docs/A-Tune/updating-database" >}}) + - [upgrade]({{< relref "./docs/A-Tune/upgrade" >}}) + + - [Querying System Information]({{< relref "./docs/A-Tune/querying-system-information" >}}) + - [check]({{< relref "./docs/A-Tune/check" >}}) + + - [Automatic Parameter Optimization]({{< relref "./docs/A-Tune/automatic-parameter-optimization" >}}) + - [Tuning]({{< relref "./docs/A-Tune/tuning" >}}) + + + - [FAQs]({{< relref "./docs/A-Tune/faqs" >}}) + - [Appendixes]({{< relref "./docs/A-Tune/appendixes" >}}) + - [Acronyms and Abbreviations]({{< relref "./docs/A-Tune/acronyms-and-abbreviations" >}}) \ No newline at end of file diff --git a/content/en/docs/A-Tune/environment-preparation.md b/content/en/docs/A-Tune/environment-preparation.md new file mode 100644 index 000000000..dd8cfb1ed --- /dev/null +++ b/content/en/docs/A-Tune/environment-preparation.md @@ -0,0 +1,4 @@ +# Environment Preparation + +For details about installing an openEuler OS, see _openEuler 20.03 LTS Installation Guide_. + diff --git a/content/en/docs/A-Tune/faqs.md b/content/en/docs/A-Tune/faqs.md new file mode 100644 index 000000000..4b7c3eb1b --- /dev/null +++ b/content/en/docs/A-Tune/faqs.md @@ -0,0 +1,55 @@ +# FAQs + +Q1: An error occurs when the **train **command is used to train a model, and the message "training data failed" is displayed. + +Cause: Only one type of data is collected by using the **collection **command. + +Solution: Collect data of at least two data types for training. + +Q2: The atune-adm cannot connect to the atuned service. + +Possible cause: + +1. Check whether the atuned service is started and check the atuned listening address. + + ``` + # systemctl status atuned + # netstat -nap | atuned + ``` + +2. The firewall blocks the atuned listening port. +3. The HTTP proxy is configured in the system. As a result, the connection fails. + +Solution: + +1. If the atuned service is not started, run the following command to start the service: + + ``` + # systemctl start atuned + ``` + +2. Run the following command on the atuned and atune-adm servers to allow the listening port to receive network packets. In the command, **60001** is the listening port number of the atuned server. + + ``` + # iptables -I INPUT -p tcp --dport 60001 -j ACCEPT + # iptables -I INPUT -p tcp --sport 60001 -j ACCEPT + ``` + + +1. Run the following command to delete the HTTP proxy or disable the HTTP proxy for the listening IP address without affecting services: + + ``` + # no_proxy=$no_proxy, Listening IP address + ``` + + +Q3: The atuned service cannot be started, and the message "Job for atuned.service failed because a timeout was exceeded." is displayed. + +Cause: The hosts file does not contain the localhost information. + +Solution: Add localhost to the line starting with **127.0.0.1** in the **/etc/hosts** file. + +``` +127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 +``` + diff --git a/content/en/docs/A-Tune/figures/en-us_image_0213178479.png b/content/en/docs/A-Tune/figures/en-us_image_0213178479.png new file mode 100644 index 0000000000000000000000000000000000000000..62ef0decdf6f1e591059904001d712a54f727e68 GIT binary patch literal 1164 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�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 literal 0 HcmV?d00001 diff --git a/content/en/docs/A-Tune/figures/en-us_image_0227497000.png b/content/en/docs/A-Tune/figures/en-us_image_0227497000.png new file mode 100644 index 0000000000000000000000000000000000000000..3df66e5f25177cba7fe65cfb859fab860bfb7b46 GIT binary patch literal 353890 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