AtlasEdge支持的容器安全配置
- 通过AtlasEdge部署容器,提供了以下安全选项默认配置。可通过修改AtlasEdge容器安全配置修改的配置项:
- 默认启用容器镜像白名单,只允许白名单中的镜像可部署。
- 默认为容器配置了CPU、NPU、内存的资源限额。
- 默认配置了容器个数限制。
- 默认为系统预留了CPU、内存资源配额。
- 修改AtlasEdge容器安全配置。产品提供配置脚本modify_pod_config_json.py供用户调用,以便对容器安全相关配置文件进行修改,配置完成后需重启AtlasEdge才生效。脚本使用示例如下:
python3 /opt/middleware/AtlasEdge/edge_work_dir/edge_core/src/modify_pod_config_json.py \ --containerCpuLimit=2.0 \ --containerNpuLimit=1.0 \ --containerMemoryLimit=2048 \ --maxContainerNumber=16 \ --systemReservedCPUQuota=1.0 \ --systemReservedMemoryQuota=1024 \ --imageSha256WhiteList=sha256:a6ebfe0f58bffcc7900bcdf894fce7bb6702da4a8ec24537b7a0a19bef198c8f,sha256:a6ebfe1f58bffcc7900bcdf894fce7bb6702da4a8ec24537b7a0a19bef198c8f
其中“/opt/middleware/AtlasEdge/edge_work_dir/edge_core/src/modify_pod_config_json.py”为配置脚本绝对路径,配置脚本为必选参数,用户请根据实际AtlasEdge安装目录进行修改。如果需要开放kubeedge原生的容器能力(如挂载卷、能力集等),请参考container_capability_tool中的工具使用方法“章节。
表1 参数说明 参数命令
取值范围
默认配置
参数解释
--imageSha256WhiteList
String
无
以字符串形式导入容器镜像sha256白名单,字符串内使用英文逗号分割容器镜像sha256值,每个容器镜像sha256值需要以sha256:为前缀,容器镜像sha256为容器引擎为镜像生成的64个字节的哈希值。单次最多导入8个容器镜像sha256白名单,总数不超过128个。
说明:详情请参考容器镜像白名单配置章节。
--containerCpuLimit
float
2.0
表示单个容器需要使用的CPU资源上限,取值为单位时间内占用CPU核心的时间片份额,取值范围[0.01,100.0]。
--containerNpuLimit
float
1.0
表示单个容器需要使用的NPU资源上限,取值为单位时间内占用NPU核心的时间片份额,取值范围[0,100.0]。
--containerMemoryLimit
int
2048
表示单个容器需要使用的内存资源上限,单位为MB,取值范围[4,65536]。
--maxContainerNumber
int
16
设备上允许配置的最大容器个数,最多不超过128个。可配置的configmap个数为最大允许容器个数的4倍。
--systemReservedCPUQuota
float
1.0
系统预留CPU资源,默认为系统预留1个CPU核心,其余CPU资源用于应用部署,取值范围[0.5,4.0]。
--systemReservedMemoryQuota
int
1024
系统预留内存资源,默认为系统预留1024MB,其余内存资源用于应用部署。取值范围[512,4096]。
AtlasEdge没有提供容器的磁盘使用限额机制,需要用户自行确保磁盘的使用量,避免耗尽主机的磁盘空间,导致系统异常。
当前版本AtlasEdge安全加固已不允许容器内根文件系统的写入和任何可写的挂载,版本平滑升级会导致历史容器中的可写主机挂载及根文件系统可写被保留,请用户注意相关风险,换用适配新版本的容器应用。