diff --git "a/docs/zh/docs/Container/\351\231\204\345\275\225-2.md" b/docs/zh/docs/Container/appendix_2.md similarity index 98% rename from "docs/zh/docs/Container/\351\231\204\345\275\225-2.md" rename to docs/zh/docs/Container/appendix_2.md index 9c70407caf4c0112444970ce6063fb22f075cc0a..ef017b6b1415e120119e6d90ee372b38f70f49c7 100644 --- "a/docs/zh/docs/Container/\351\231\204\345\275\225-2.md" +++ b/docs/zh/docs/Container/appendix_2.md @@ -1,9 +1,5 @@ # 附录 -- [附录](#附录) - - [命令行接口列表](#命令行接口列表) - - ## 命令行接口列表 此处仅列出系统容器与普通容器的差异命令,其他命令用户可以查阅iSulad容器引擎相关章节,或者执行isula XXX --help进行查询。 @@ -65,7 +61,7 @@

--env-target-file

- +

--cgroup-parent

@@ -91,4 +87,3 @@ - diff --git a/docs/zh/docs/cloud/cluster_deployment/kubernetes/_toc.yaml b/docs/zh/docs/cloud/cluster_deployment/kubernetes/_toc.yaml index ebb94a99f6b6c8f2a6f662057297db1f37a11dd9..e4ba63e6470958e7349f73ae6aa379741476677a 100644 --- a/docs/zh/docs/cloud/cluster_deployment/kubernetes/_toc.yaml +++ b/docs/zh/docs/cloud/cluster_deployment/kubernetes/_toc.yaml @@ -5,7 +5,7 @@ sections: - label: 概述 href: ./overview.md - label: 准备虚拟机 - href: ./preparing_VMs.md + href: ./preparing_vms.md - label: 手动部署集群 href: ./deploying_a_Kubernetes_cluster_manually.md sections: diff --git a/docs/zh/docs/cloud/container_engine/.markdownlint.json b/docs/zh/docs/cloud/container_form/.markdownlint.json similarity index 100% rename from docs/zh/docs/cloud/container_engine/.markdownlint.json rename to docs/zh/docs/cloud/container_form/.markdownlint.json diff --git a/docs/zh/docs/cloud/container_form/secure_container/_toc.yaml b/docs/zh/docs/cloud/container_form/secure_container/_toc.yaml new file mode 100644 index 0000000000000000000000000000000000000000..3b29f7988512e5814db3b4683fb4ba2163ca63ab --- /dev/null +++ b/docs/zh/docs/cloud/container_form/secure_container/_toc.yaml @@ -0,0 +1,20 @@ +label: 安全容器 +isManual: true +description: 安全容器结合了虚拟化技术和容器技术,具有更好的隔离性 +sections: + +- label: 概述 + href: ./overview.md +- label: 安装与配置 + href: ./installation_and_deployment_2.md +- label: 使用方法 + href: ./application_scenarios_2.md + sections: + - label: 管理安全容器的生命周期 + href: ./managing_the_lifecycle_of_a_secure_container.md + - label: 为安全容器配置资源 + href: ./configuring_resources_for_a_secure_container.md + - label: 监控安全容器 + href: ./monitoring_secure_containers.md +- label: 附录 + href: ./appendix_2.md diff --git "a/docs/zh/docs/Container/\351\231\204\345\275\225-3.md" b/docs/zh/docs/cloud/container_form/secure_container/appendix_2.md similarity index 41% rename from "docs/zh/docs/Container/\351\231\204\345\275\225-3.md" rename to docs/zh/docs/cloud/container_form/secure_container/appendix_2.md index f8d0043c04700d1d09f8ef600e0578374378186e..4fd2bf3ad64a83f21dd902cd39a5d253dbb278fa 100644 --- "a/docs/zh/docs/Container/\351\231\204\345\275\225-3.md" +++ b/docs/zh/docs/cloud/container_form/secure_container/appendix_2.md @@ -1,14 +1,12 @@ # 附录 -- [附录](#附录) - - [configuration.toml配置说明](#configuration-toml配置说明) - - [接口列表](#接口列表) ## configuration-toml配置说明 ->![](./public_sys-resources/icon-note.gif) **说明:** ->configuration.toml配置文件中各个字段的取值以kata-containers-.rpm包中的configuration.toml文件为准,不支持用户对配置文件中的字段任意取值。 +> [!NOTE]说明 +> +> configuration.toml配置文件中各个字段的取值以kata-containers-.rpm包中的configuration.toml文件为准,不支持用户对配置文件中的字段任意取值。 -``` +```conf [hypervisor.qemu] path :指定虚拟化qemu执行路径 kernel :指定guest kernel执行路径 @@ -89,30 +87,30 @@ experimental :开启实验特性,不支持用户自定义配置 **表 1** kata-runtime网络相关的命令行接口 -

命令

+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -258,200 +256,200 @@ experimental :开启实验特性,不支持用户自定义配置 **表 2** kata-ipvs命令行接口 -

命令

子命令

+

子命令

文件示例

+

文件示例

字段

+

字段

含义

+

含义

备注

+

备注

kata-network

+

kata-network

说明:
  • kata-network命令需成组使用。不经过kata-runtime kata-network添加的网络设备,无法使用kata-runtime kata-network删除或者列出。反之亦然。
  • kata-runtime kata-network通过文件或stdin传入配置参数。

add-iface

+

add-iface

说明:
  • 一个interface只能添加到1个容器中。
  • 执行结果以返回值为准(非零返回值)。

  

{

+

{

"device":"tap1",

"name":"eth1",

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

@@ -122,134 +120,134 @@ experimental :开启实验特性,不支持用户自定义配置

}

  

device

+

device

设置网卡的主机端名称

+

设置网卡的主机端名称

必选。支持字母、数字、下划线“\_”、“-” 以及“.”字符,必须以字母开头,且长度不超过15。需要确保同一个宿主机上device不能重复。

+

必选。支持字母、数字、下划线“\_”、“-” 以及“.”字符,必须以字母开头,且长度不超过15。需要确保同一个宿主机上device不能重复。

name

+

name

设置网卡的容器内名称

+

设置网卡的容器内名称

必选。支持字母、数字、下划线“\_”、“-” 以及“.”字符,必须以字母开头,且长度不超过15。需要确保同一个Sandbox内name不能重复。

+

必选。支持字母、数字、下划线“\_”、“-” 以及“.”字符,必须以字母开头,且长度不超过15。需要确保同一个Sandbox内name不能重复。

IPAddresses

+

IPAddresses

设置网卡的IP地址

+

设置网卡的IP地址

可选。

+

可选。

暂时支持一张网卡配置一个IP,如果不配置IP,则不会在容器内部配置IP。

mtu

+

mtu

设置网卡的mtu值

+

设置网卡的mtu值

必选。

+

必选。

有效范围46~9600。

hwAddr

+

hwAddr

设置网卡的mac值

+

设置网卡的mac值

必选。

+

必选。

vhostUserSocket

+

vhostUserSocket

设置dpdk轮循socket路径

+

设置dpdk轮循socket路径

可选。

+

可选。

路径最大长度128字节,命名规则支持数字、字母、“-”。必须以字母开头。

del-iface

+

del-iface

{

+

{

"name":"eth1"

}

+

删除容器内的一个网卡

+

删除容器内的一个网卡

说明:

删除网卡时,仅根据网卡容器内名称(name字段)来删除。即便填写其他字段,kata也不会使用。

+
说明:

删除网卡时,仅根据网卡容器内名称(name字段)来删除。即便填写其他字段,kata也不会使用。

list-ifaces

+

list-ifaces

+

+

查询容器内的网卡列表

+

查询容器内的网卡列表

+

add-route

+

add-route

{

+

{

"dest":"172.17.10.10/24",

"gateway":"",

"device":"eth1"

}

dest

+

dest

设置路由对应的网段

+

设置路由对应的网段

格式为<ip>/<mask>,<ip>必选。

+

格式为<ip>/<mask>,<ip>必选。

分三种情况:

1. 配置<ip>/<mask>;

2. 只配置<ip>,则默认掩码为32;

3. 配置"dest":"default",默认无dest,需传入gateway。

gateway

+

gateway

设置路由的下一跳网关

+

设置路由的下一跳网关

设置"dest":"default"时,gateway必选;其他情况可选。

+

设置"dest":"default"时,gateway必选;其他情况可选。

device

+

device

设置路由对应的网卡名称

+

设置路由对应的网卡名称

必选。

+

必选。

最长支持15字符。

del-route

+

del-route

{

+

{

"dest":"172.17.10.10/24"

}

+

删除容器的路由规则

+

删除容器的路由规则

dest为必选,device/gateway均为可选。

+

dest为必选,device/gateway均为可选。

说明:

kata根据不同字段进行模糊匹配,删除对应的路由规则。

list-routes

+

list-routes

+

+

查询容器内的路由列表

+

查询容器内的路由列表

+

命令

+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

命令

子命令

+

子命令

字段

+

字段

参数

+

参数

子参数

+

子参数

含义

+

含义

备注

+

备注

kata-ipvs

+

kata-ipvs

ipvsadm

+

ipvsadm

--parameters

+

--parameters

-A, --add-service

+

-A, --add-service

-t, --tcp-service

+

-t, --tcp-service

-u, --udp-service

虚拟服务类型

+

虚拟服务类型

必选项。--tcp-service、--udp-service,两个参数只能选择其一。格式为“ip:port”,port取值[1,65535]。

+

必选项。--tcp-service、--udp-service,两个参数只能选择其一。格式为“ip:port”,port取值[1,65535]。

举例:

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

-s, --scheduler

+

-s, --scheduler

负载均衡调度算法

+

负载均衡调度算法

必选项。取值范围:rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq。

+

必选项。取值范围:rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq。

-p, --persistent

+

-p, --persistent

持续服务时间

+

持续服务时间

必选项。取值范围[1, 2678400],单位s。

+

必选项。取值范围[1, 2678400],单位s。

-E, --edit-service

+

-E, --edit-service

-t, --tcp-service

+

-t, --tcp-service

-u, --udp-service

虚拟服务类型

+

虚拟服务类型

必选项。--tcp-service、--udp-service,两个参数只能选择其一。格式为“ip:port”,port取值[1,65535]。

+

必选项。--tcp-service、--udp-service,两个参数只能选择其一。格式为“ip:port”,port取值[1,65535]。

-s, --scheduler

+

-s, --scheduler

负载均衡调度算法

+

负载均衡调度算法

必选项。取值范围:rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq

+

必选项。取值范围:rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq

-p, --persistent

+

-p, --persistent

持续服务时间

+

持续服务时间

必选项。取值范围[1, 2678400],单位s。

+

必选项。取值范围[1, 2678400],单位s。

-D, --delete-service

+

-D, --delete-service

-t, --tcp-service

+

-t, --tcp-service

-u, --udp-service

虚拟服务类型

+

虚拟服务类型

必选项。--tcp-service、--udp-service,两个参数只能选择其一。格式为“ip:port”,port取值[1,65535]。

+

必选项。--tcp-service、--udp-service,两个参数只能选择其一。格式为“ip:port”,port取值[1,65535]。

-a, --add-server

+

-a, --add-server

-t, --tcp-service

+

-t, --tcp-service

-u, --udp-service

虚拟服务类型

+

虚拟服务类型

必选项。--tcp-service、--udp-service,两个参数只能选择其一。格式为“ip:port”,port取值[1,65535]。

+

必选项。--tcp-service、--udp-service,两个参数只能选择其一。格式为“ip:port”,port取值[1,65535]。

举例:

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

+

-r, --real-server

真实服务器地址

+

真实服务器地址

必选项。格式为“ip:port”,port取值[1,65535]。

+

必选项。格式为“ip:port”,port取值[1,65535]。

-w, --weight

+

-w, --weight

权重

+

权重

可选项,取值[0,65535]。

+

可选项,取值[0,65535]。

-e, --edit-server

+

-e, --edit-server

-t, --tcp-service

+

-t, --tcp-service

-u, --udp-service

虚拟服务类型

+

虚拟服务类型

必选项。--tcp-service、--udp-service,两个参数只能选择其一。格式为“ip:port”,port取值[1,65535]。

+

必选项。--tcp-service、--udp-service,两个参数只能选择其一。格式为“ip:port”,port取值[1,65535]。

-r, --real-server

+

-r, --real-server

真实服务器地址

+

真实服务器地址

必选项。格式为“ip:port”,port取值[1,65535]。

+

必选项。格式为“ip:port”,port取值[1,65535]。

-w, --weight

+

-w, --weight

权重

+

权重

可选项,取值[0,65535]。

+

可选项,取值[0,65535]。

-d, --delete-server

+

-d, --delete-server

-t, --tcp-service

+

-t, --tcp-service

-u, --udp-service

虚拟服务类型

+

虚拟服务类型

必选项。--tcp-service、--udp-service,两个参数只能选择其一。格式为“ip:port”,port取值[1,65535]。

+

必选项。--tcp-service、--udp-service,两个参数只能选择其一。格式为“ip:port”,port取值[1,65535]。

-r, --real-server

+

-r, --real-server

真实服务器地址

+

真实服务器地址

必选项。格式为“ip:port”,port取值[1,65535]。

+

必选项。格式为“ip:port”,port取值[1,65535]。

-L, --list

+

-L, --list

-t, --tcp-service

+

-t, --tcp-service

-u, --udp-service

指定查询虚拟服务信息

+

指定查询虚拟服务信息

可选项。

+

可选项。

举例:

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

--set

+

--set

--tcp

+

--tcp

tcp超时

+

tcp超时

必选项,取值[0, 1296000]。

+

必选项,取值[0, 1296000]。

举例:

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

--tcpfin

+

--tcpfin

tcpfin超时

+

tcpfin超时

必选项,取值[0, 1296000]。

+

必选项,取值[0, 1296000]。

--udp

+

--udp

udp超时

+

udp超时

必选项,取值[0, 1296000]。

+

必选项,取值[0, 1296000]。

--restore

+

--restore

-

+

-

标准输入批量导入

+

标准输入批量导入

可指定规则文件

举例:

+

举例:

kata-runtime kata-ipvs ipvsadm --restore -  <  <规则文件路径> <container-id>
说明:

单条添加时默认使用NAT模式,批量导入时添加真实服务器需手动添加-m参数使用NAT模式。

规则文件内容示例:

@@ -462,26 +460,25 @@ experimental :开启实验特性,不支持用户自定义配置

cleanup

+

cleanup

--parameters

+

--parameters

-d, --orig-dst

+

-d, --orig-dst

ip信息

+

ip信息

必选项。

+

必选项。

举例:

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

-p, --protonum

+

-p, --protonum

协议类型

+

协议类型

必选项,取值为tcp|udp 。

+

必选项,取值为tcp|udp 。

- diff --git "a/docs/zh/docs/Container/\344\275\277\347\224\250\346\226\271\346\263\225-1.md" b/docs/zh/docs/cloud/container_form/secure_container/application_scenarios_2.md similarity index 62% rename from "docs/zh/docs/Container/\344\275\277\347\224\250\346\226\271\346\263\225-1.md" rename to docs/zh/docs/cloud/container_form/secure_container/application_scenarios_2.md index d72a36cfbb143542b48c4ae537063aa86b74aad7..8e7f74d9d9cc150a8be98731787b0b398bee8e23 100644 --- "a/docs/zh/docs/Container/\344\275\277\347\224\250\346\226\271\346\263\225-1.md" +++ b/docs/zh/docs/cloud/container_form/secure_container/application_scenarios_2.md @@ -1,6 +1,5 @@ # 使用方法 本章介绍安全容器的使用方法。 ->![](./public_sys-resources/icon-note.gif) **说明:** +>![NOTE]说明 >安全容器的使用需要root权限。 - diff --git "a/docs/zh/docs/Container/\344\270\272\345\256\211\345\205\250\345\256\271\345\231\250\351\205\215\347\275\256\350\265\204\346\272\220.md" b/docs/zh/docs/cloud/container_form/secure_container/configuring_resources_for_a_secure_container.md similarity index 90% rename from "docs/zh/docs/Container/\344\270\272\345\256\211\345\205\250\345\256\271\345\231\250\351\205\215\347\275\256\350\265\204\346\272\220.md" rename to docs/zh/docs/cloud/container_form/secure_container/configuring_resources_for_a_secure_container.md index ce85e9fe218ad510a3c5e5124ebc96b5e5037353..c822271b5a639adc13fa9491a10bf56d971b30d6 100644 --- "a/docs/zh/docs/Container/\344\270\272\345\256\211\345\205\250\345\256\271\345\231\250\351\205\215\347\275\256\350\265\204\346\272\220.md" +++ b/docs/zh/docs/cloud/container_form/secure_container/configuring_resources_for_a_secure_container.md @@ -1,21 +1,18 @@ # 为安全容器配置资源 -- [为安全容器配置资源](#为安全容器配置资源) - - [资源共享](#资源共享-27) - - [限制资源](#限制资源) - - [热插拔限制内存资源](#热插拔限制内存资源) - 安全容器运行于虚拟化隔离的轻量级虚拟机内,因此资源的配置应分为两部分:对轻量级虚拟机的资源配置,即Host资源配置;对虚拟机内容器的配置,即Guest容器资源配置。以下资源配置均分为这两部分。 -## 资源共享-27 +## 资源共享 由于安全容器运行于虚拟化隔离的轻量虚拟机内,故无法访问Host上某些namespace下的资源,因此启动时不支持--net host,--ipc host,--pid host,--uts host。 当启动一个Pod时,同一个Pod中的所有容器默认共享同一个net namespace和ipc namespace。如果同一个Pod中的容器需要共享pid namespace,则可以通过Kubernetes进行配置,Kubernetes 1.11版本该值为默认关闭。 ## 限制资源 + 对资源的限制建议在configuration.toml中进行配置。 常用的字段的有: + - default_vcpus :指定每个SB/VM的默认vCPU数量 - default_maxvcpus :指定每个SB/VM的默认最大vCPU数量 - default_root_ports :指定每个SB/VM的默认Root Ports数量 @@ -24,7 +21,9 @@ - memory_slots :指定每个SB/VM的内存插槽数量,默认为10 ## 热插拔限制内存资源 + 内存热插拔对于容器在部署时内存动态分配来说是一项关键特性。由于安全容器是运行在虚拟机当中的,所以这一项特性需要VMM和guest kernel两方面的支持。目前kata在arm64上默认使用的QEMU和guest kernel都是支持这一特性的。除了VMM和guest kernel,内存热插拔还取决于依赖着固件的ACPI。在x86上,由于ACPI可以隐式地随固件一起启动,所以可以直接用QEMU去启动一个打开了ACPI的虚拟机。不过在arm64上的话,在使用内存热插拔之前就需要手动去安装UEFI ROM。 + ```shell $ pushd $GOPATH/src/github.com/kata-containers/tests $ sudo .ci/aarch64/install_rom_aarch64.sh #仅限ubuntu diff --git a/docs/zh/docs/Container/figures/kata-arch.png b/docs/zh/docs/cloud/container_form/secure_container/figures/kata-arch.png similarity index 100% rename from docs/zh/docs/Container/figures/kata-arch.png rename to docs/zh/docs/cloud/container_form/secure_container/figures/kata-arch.png diff --git a/docs/zh/docs/Container/figures/zh_cn_image_0221924928.png b/docs/zh/docs/cloud/container_form/secure_container/figures/zh_cn_image_0221924928.png similarity index 100% rename from docs/zh/docs/Container/figures/zh_cn_image_0221924928.png rename to docs/zh/docs/cloud/container_form/secure_container/figures/zh_cn_image_0221924928.png diff --git "a/docs/zh/docs/Container/\345\256\211\350\243\205\344\270\216\351\205\215\347\275\256-2.md" b/docs/zh/docs/cloud/container_form/secure_container/installation_and_deployment_2.md similarity index 50% rename from "docs/zh/docs/Container/\345\256\211\350\243\205\344\270\216\351\205\215\347\275\256-2.md" rename to docs/zh/docs/cloud/container_form/secure_container/installation_and_deployment_2.md index 282b3e48cbca84542dd240612192a0e04653a89a..6934b46c60855536478767ab5da3fdc4cc4f0859 100644 --- "a/docs/zh/docs/Container/\345\256\211\350\243\205\344\270\216\351\205\215\347\275\256-2.md" +++ b/docs/zh/docs/cloud/container_form/secure_container/installation_and_deployment_2.md @@ -1,27 +1,20 @@ # 安装与配置 -- [安装与配置](#安装部署.md) - - [安装方法](#安装方法) - - [配置方法](#配置方法) - - ## 安装方法 ### 前提条件 - -- 安全容器的安装需要使用root权限。 -- 为了获取更好的性能体验,安全容器需要运行在裸金属服务器上,**暂不支持安全容器运行在虚拟机内**。 -- 安全容器运行依赖以下组件,请确保环境上已安装所需版本的依赖组件。以下组件来自配套的openEuler版本。如果使用iSula容器引擎,请参考iSula容器引擎的[安装与配置](./安装与配置.md)章节安装iSulad。 - - docker-engine - - qemu - +- 安全容器的安装需要使用root权限。 +- 为了获取更好的性能体验,安全容器需要运行在裸金属服务器上,**暂不支持安全容器运行在虚拟机内**。 +- 安全容器运行依赖以下组件,请确保环境上已安装所需版本的依赖组件。以下组件来自配套的openEuler版本。如果使用iSula容器引擎,请参考iSula容器引擎的[安装与配置](../../container_engine/isula_container_engine/installation_configuration.md)章节安装iSulad。 + - docker-engine + - qemu ### 安装操作 安全容器发布组件集成在同一个kata-containers-<_version_\>.rpm包中,使用rpm命令可以直接安装对应的软件,其中version为版本号。 -``` +```sh rpm -ivh kata-containers-.rpm ``` @@ -31,16 +24,16 @@ rpm -ivh kata-containers-.rpm 为了让docker-engine容器引擎支持新的容器运行时kata-runtime,需要通过以下步骤对docker-engine容器引擎进行配置: -1. 请保证环境上所有的软件包(docker-engine、kata-containers)都已经安装完毕。 -2. 停止docker-engine。 +1. 请保证环境上所有的软件包(docker-engine、kata-containers)都已经安装完毕。 +2. 停止docker-engine。 - ``` + ```sh systemctl stop docker ``` -3. 修改docker-engine的配置文件/etc/docker/daemon.json,并新增如下配置: +3. 修改docker-engine的配置文件/etc/docker/daemon.json,并新增如下配置: - ``` + ```conf { "runtimes": { "kata-runtime": { @@ -54,27 +47,26 @@ rpm -ivh kata-containers-.rpm } ``` -4. 重新启动docker-engine。 +4. 重新启动docker-engine。 - ``` + ```sh systemctl start docker ``` - ### iSula容器引擎的配置 与docker-engine容器引擎类似,为了让iSula容器引擎支持新的容器运行时kata-runtime,需要通过以下步骤对iSula容器引擎进行配置: -1. 请保证环境上所有的软件包(iSulad、kata-containers)都已经安装完毕。 -2. 停止isulad。 +1. 请保证环境上所有的软件包(iSulad、kata-containers)都已经安装完毕。 +2. 停止isulad。 - ``` + ```sh systemctl stop isulad ``` -3. 修改iSula容器引擎的配置文件/etc/isulad/daemon.json,并新增如下配置: +3. 修改iSula容器引擎的配置文件/etc/isulad/daemon.json,并新增如下配置: - ``` + ```sh { "runtimes": { "kata-runtime": { @@ -88,13 +80,12 @@ rpm -ivh kata-containers-.rpm } ``` -4. 重新启动isulad。 +4. 重新启动isulad。 - ``` + ```sh systemctl start isulad ``` - ### 安全容器全局配置文件configuration-toml 安全容器提供全局配置文件configuration.toml进行配置开关,用户也可以定制安全容器配置文件路径与配置选项。 @@ -103,23 +94,21 @@ rpm -ivh kata-containers-.rpm 常用配置文件字段如下,详细的配置文件选项参见“安全容器 > 附录 > configuration.toml配置说明”。 -1. hypervisor.qemu - - path :指定虚拟化qemu执行路径。 - - kernel :指定guest kernel执行路径。 - - initrd :指定guest initrd执行路径。 - - machin\_type :指定模拟芯片类型,其中arm为virt,x86架构为pc。 - - kernel\_params :指定guest内核运行参数。 - -2. proxy.kata - - path :指定kata-proxy运行路径。 - - enable\_debug :kata-proxy进程debug开关。 - -3. agent.kata - - enable\_blk\_mount :开启block设备guest挂载。 - - enable\_debug :kata-agent进程debug开关。 +1. hypervisor.qemu + - path :指定虚拟化qemu执行路径。 + - kernel :指定guest kernel执行路径。 + - initrd :指定guest initrd执行路径。 + - machin\_type :指定模拟芯片类型,其中arm为virt,x86架构为pc。 + - kernel\_params :指定guest内核运行参数。 -4. runtime - - enable\_cpu\_memory\_hotplug:CPU和内存热插拔开关。 - - enable\_debug:kata-runtime进程debug开关。 +2. proxy.kata + - path :指定kata-proxy运行路径。 + - enable\_debug :kata-proxy进程debug开关。 +3. agent.kata + - enable\_blk\_mount :开启block设备guest挂载。 + - enable\_debug :kata-agent进程debug开关。 +4. runtime + - enable\_cpu\_memory\_hotplug:CPU和内存热插拔开关。 + - enable\_debug:kata-runtime进程debug开关。 diff --git "a/docs/zh/docs/Container/\347\256\241\347\220\206\345\256\211\345\205\250\345\256\271\345\231\250\347\232\204\347\224\237\345\221\275\345\221\250\346\234\237.md" b/docs/zh/docs/cloud/container_form/secure_container/managing_the_lifecycle_of_a_secure_container.md similarity index 59% rename from "docs/zh/docs/Container/\347\256\241\347\220\206\345\256\211\345\205\250\345\256\271\345\231\250\347\232\204\347\224\237\345\221\275\345\221\250\346\234\237.md" rename to docs/zh/docs/cloud/container_form/secure_container/managing_the_lifecycle_of_a_secure_container.md index dce9e2e799bc6bd71df97264fe3839feca7505dc..4e9158c26468e9c830d17d88cba650d4d9886187 100644 --- "a/docs/zh/docs/Container/\347\256\241\347\220\206\345\256\211\345\205\250\345\256\271\345\231\250\347\232\204\347\224\237\345\221\275\345\221\250\346\234\237.md" +++ b/docs/zh/docs/cloud/container_form/secure_container/managing_the_lifecycle_of_a_secure_container.md @@ -1,93 +1,81 @@ # 管理安全容器的生命周期 -- [管理安全容器的生命周期](#管理安全容器的生命周期) - - [启动安全容器](#启动安全容器) - - [停止安全容器](#停止安全容器) - - [删除安全容器](#删除安全容器) - - [在容器中执行一条新的命令](#在容器中执行一条新的命令) - - ## 启动安全容器 用户可以使用docker-engine或者iSulad作为安全容器的容器引擎,两者的调用方式类似,请用户自行选择一种方式启动安全容器。 启动安全容器的操作步骤如下: -1. 确保安全容器组件已经正确安装部署。 -2. 准备容器镜像。假设容器镜像为busybox,使用docker-engine和iSula容器引擎下载容器镜像的命令分别如下: +1. 确保安全容器组件已经正确安装部署。 +2. 准备容器镜像。假设容器镜像为busybox,使用docker-engine和iSula容器引擎下载容器镜像的命令分别如下: - ``` + ```sh docker pull busybox ``` - ``` + ```sh isula pull busybox ``` -3. 启动一个安全容器。使用docker-engine和iSula容器引擎启动安全容器的命令分别如下: +3. 启动一个安全容器。使用docker-engine和iSula容器引擎启动安全容器的命令分别如下: - ``` + ```sh docker run -tid --runtime kata-runtime --network none busybox ``` - ``` + ```sh isula run -tid --runtime kata-runtime --network none busybox ``` - >![](./public_sys-resources/icon-note.gif) **说明:** + >![NOTE]说明 >安全容器网络使用仅支持CNI网络,不支持CNM网络,不支持使用-p和--expose暴露容器端口,使用安全容器时需指定参数--net=none。 -4. 启动一个Pod - 1. 启动pause容器并根据回显获取pod的sandbox-id。使用docker-engine和iSula容器引擎启动的命令分别如下: +4. 启动一个Pod + 1. 启动pause容器并根据回显获取pod的sandbox-id。使用docker-engine和iSula容器引擎启动的命令分别如下: - ``` + ```sh docker run -tid --runtime kata-runtime --network none --annotation io.kubernetes.docker.type=podsandbox ``` - ``` + ```sh isula run -tid --runtime kata-runtime --network none --annotation io.kubernetes.cri.container-type=sandbox ``` -    + 2. 创建业务容器并加入到这个pod中。使用docker-engine和iSula容器引擎创建的命令分别如下: - 1. 创建业务容器并加入到这个pod中。使用docker-engine和iSula容器引擎创建的命令分别如下: - - ``` + ```sh docker run -tid --runtime kata-runtime --network none --annotation io.kubernetes.docker.type=container --annotation io.kubernetes.sandbox.id= busybox ``` - ``` + ```sh isula run -tid --runtime kata-runtime --network none --annotation io.kubernetes.cri.container-type=container --annotation io.kubernetes.cri.sandbox-id= busybox ``` --annotation用于容器类型的标注,这里的docker-engine和isula提供该字段,上游社区的开源docker引擎则不提供。 - - ## 停止安全容器 -- 停止一个安全容器。 +- 停止一个安全容器。 - ``` + ```sh docker stop ``` -- 停止一个Pod。 +- 停止一个Pod。 Pod停止需要注意顺序,pause容器与Pod生命周期相同,因此先停止业务容器后再停止pause容器。 - ## 删除安全容器 删除前请确保容器已经停止: -``` +```sh docker rm ``` 如果需要强制删除一个正在运行的容器,可以使用**-f**强制删除: -``` +```sh docker rm -f ``` @@ -95,11 +83,11 @@ docker rm -f 由于pause容器仅作为占位容器,如果启动一个Pod时,请在业务容器内执行新的命令,pause容器并没有相应的指令;如果只启动一个容器时,则可以直接执行新增命令: -``` +```sh docker exec -ti ``` ->![](./public_sys-resources/icon-note.gif) **说明:** ->1. 如遇到docker exec -ti进入容器的同时,另一终端执行docker restart或者docker stop命令造成exec界面卡住的情况,可使用Ctrl+P+Q退出docker exec操作界面。 ->2. 如果使用-d参数则命令在后台执行,不会打印错误信息,其退出码也不能作为命令执行是否正确的判断依据。 - +>![NOTE]说明 +> +> - 如遇到docker exec -ti进入容器的同时,另一终端执行docker restart或者docker stop命令造成exec界面卡住的情况,可使用Ctrl+P+Q退出docker exec操作界面。 +> - 如果使用-d参数则命令在后台执行,不会打印错误信息,其退出码也不能作为命令执行是否正确的判断依据。 diff --git "a/docs/zh/docs/Container/\347\233\221\346\216\247\345\256\211\345\205\250\345\256\271\345\231\250.md" b/docs/zh/docs/cloud/container_form/secure_container/monitoring_secure_containers.md similarity index 94% rename from "docs/zh/docs/Container/\347\233\221\346\216\247\345\256\211\345\205\250\345\256\271\345\231\250.md" rename to docs/zh/docs/cloud/container_form/secure_container/monitoring_secure_containers.md index 7080d3611912ecfe22135272b488db02b4ff435a..4bf7b5fe482c4c5e8f15113bd7d7544bfde5640c 100644 --- "a/docs/zh/docs/Container/\347\233\221\346\216\247\345\256\211\345\205\250\345\256\271\345\231\250.md" +++ b/docs/zh/docs/cloud/container_form/secure_container/monitoring_secure_containers.md @@ -6,19 +6,20 @@ kata 2.x中移除了kata-runtime events命令,代之以kata-runtime metrics命 ## 用法 -``` +```sh kata-runtime metrics ``` + ## 前置条件 -sandbox id为长id,要查询的容器状态必须为running,否则报错:Get "http://shim/metrics":dial unix /run/vc/\/shim-monitor : connect : connection refused +sandbox id为长id,要查询的容器状态必须为running,否则报错:Get " unix /run/vc/\/shim-monitor : connect : connection refused 当使用annotation指定容器类型为运行在某个sandbox中的容器时,用kata-runtime metrics查询该容器会失败,只能去查询该容器对应的sandbox。 该命令只支持查询监控一个sandbox的状态。 - ## 示例 + ```shell $ kata-runtime metrics e2270357d23f9d3dd424011e1e70aa8defb267d813c3d451db58f35aeac97a04 @@ -50,4 +51,4 @@ kata_hypervisor_netdev{interface="lo",item="recv_packets"} 0 kata_hypervisor_netdev{interface="lo",item="sent_bytes"} 0 kata_hypervisor_netdev{interface="lo",item="sent_carrier"} 0 kata_hypervisor_netdev{interface="lo",item="sent_colls"} 0 -``` \ No newline at end of file +``` diff --git "a/docs/zh/docs/Container/\345\256\211\345\205\250\345\256\271\345\231\250.md" b/docs/zh/docs/cloud/container_form/secure_container/overview.md similarity index 96% rename from "docs/zh/docs/Container/\345\256\211\345\205\250\345\256\271\345\231\250.md" rename to docs/zh/docs/cloud/container_form/secure_container/overview.md index 0c9e08ceabb7d23835da39957bf7b8307d354f74..0d2f9ea8469bbc05c8e2dcb5992ef6e5486528a1 100644 --- "a/docs/zh/docs/Container/\345\256\211\345\205\250\345\256\271\345\231\250.md" +++ b/docs/zh/docs/cloud/container_form/secure_container/overview.md @@ -22,6 +22,5 @@ **图 2** 安全容器与周边组件的关系 ![](./figures/zh_cn_image_0221924928.png) ->![](./public_sys-resources/icon-note.gif) **说明:** +>![NOTE]说明 >安全容器的安装和使用需要使用root权限。 -