23.6.3. 为系统进程保留资源
调度程序 确保根据 pod 请求,节点上所有 pod 有足够的资源。它验证节点上容器请求总和不能超过节点容量。它包括由节点启动的所有容器,但不包括容器,或在集群知识之外启动的容器。
建议您保留节点容量的某些部分,以便集群在节点上运行所需的系统守护进程(sshd、docker 等等)。特别是,建议您为内存等不可压缩的资源保留资源。
如果要显式为非 pod 进程保留资源,可以通过两种方式来:
- 首选方法是通过指定可用于调度的资源来分配节点资源。如需了解更多详细信息 ,请参阅分配 节点资源。
另外,您可以创建一个不执行任何操作的 resource-reserver pod,但保留容量是否被集群调度到节点上。例如:
例 23.1. resource-reserver Pod 定义
您可以将定义保存到文件中,如 resource-reserver.yaml,然后将该文件放到节点配置目录中,例如 /etc/origin/node/ 或
--config=<dir&
gt; 位置。另外,通过在适当的节点 配置映射中 指定 目录,将节点
服务器配置为从节点
配置目录读取定义:kubeletArguments: config: - "/etc/origin/node" 1
- 1
- 如果指定了
--config=<dir>
,请在此处使用<dir>
。
使用 resource-reserver.yaml 文件,启动节点服务器也会启动 sleep-forever 容器。调度程序考虑节点的剩余容量,调整相应地放置集群 pod 的位置。
要删除 resource-reserver pod,您可以从节点配置目录中删除或移动 resource-reserver.yaml 文件。