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/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" index ce85e9fe218ad510a3c5e5124ebc96b5e5037353..d6bfde71fbe3db74a8bf91b118d6ee579fbfc590 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/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" @@ -1,9 +1,9 @@ # 为安全容器配置资源 - [为安全容器配置资源](#为安全容器配置资源) - - [资源共享](#资源共享-27) - - [限制资源](#限制资源) - - [热插拔限制内存资源](#热插拔限制内存资源) + - [资源共享](#资源共享-27) + - [限制资源](#限制资源) + - [热插拔限制内存资源](#热插拔限制内存资源) 安全容器运行于虚拟化隔离的轻量级虚拟机内,因此资源的配置应分为两部分:对轻量级虚拟机的资源配置,即Host资源配置;对虚拟机内容器的配置,即Guest容器资源配置。以下资源配置均分为这两部分。 @@ -14,8 +14,10 @@ 当启动一个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,9 +26,11 @@ - 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 -$ popd +pushd $GOPATH/src/github.com/kata-containers/tests +sudo .ci/aarch64/install_rom_aarch64.sh #仅限ubuntu +popd ```