5.4. 使用 HCP 集群在 ROSA 上配置 PID 限制
5.4.1. 在 Red Hat OpenShift Service on AWS 集群中为机器池设置更高的进程 ID 限制
您可以通过创建或编辑更改 --pod-pids-limit
参数的 KubeletConfig
对象,为现有 Red Hat OpenShift Service on AWS (ROSA)集群中的机器池设置更高的 podPidsLimit
。
更改现有机器池上的 podPidsLimit
会触发机器池中的节点一次重启。为机器池中的工作负载进行这个更改,并避免升级或休眠集群,直到所有节点都重启为止。
前提条件
- 您有一个 Red Hat OpenShift Service on AWS 集群。
-
已安装 ROSA CLI (
rosa
)。 - 已使用 ROSA CLI 登录到您的红帽帐户。
流程
为集群创建新的
KubeletConfig
对象,用于指定新的--pod-pids-limit
:$ rosa create kubeletconfig -c <cluster_name> --name=<kubeletconfig_name> --pod-pids-limit=<value>
例如,以下命令为
my-cluster
集群创建一个set-high-pids
KubeletConfig
对象,该集群设置最大 16,384 PIDs 每个 pod:$ rosa create kubeletconfig -c my-cluster --name=set-high-pids --pod-pids-limit=16384
将新的
KubeletConfig
对象与新或现有机器池关联。对于新机器池:
$ rosa create machinepool -c <cluster_name> --kubelet-configs=<kubeletconfig_name> --name <machinepool_name>
对于现有的机器池:
$ rosa edit machinepool -c <cluster_name> --kubelet-configs=<kubeletconfig_name> --name <machinepool_name>
例如,以下命令将
set-high-pids
KubeletConfig
对象与my-cluster
集群中的high-pid-pool
机器池相关联:$ rosa edit machinepool -c my-cluster --kubelet-configs=set-high-pids --name=high-pid-pool
当新的
KubeletConfig
对象附加到现有机器池时,会触发 worker 节点的滚动重启。您可以在机器池描述中检查 rollout 的进度:$ rosa describe machinepool --cluster <cluster_name> --name <machinepool_name>
验证
确认新设置已放在机器池中的节点上:
$ rosa describe kubeletconfig --cluster=<cluster_name> --name <kubeletconfig_name>
新的 PID 限值会出现在输出中,如下例所示:
输出示例
Pod Pids Limit: 16384
5.4.2. 从机器池中删除自定义配置
您可以通过删除包含配置详情的 KubeletConfig
对象来删除机器池上的自定义配置。
前提条件
- 您有一个现有的 Red Hat OpenShift Service on AWS 集群。
- 已安装 ROSA CLI (rosa)。
- 已使用 ROSA CLI 登录到您的红帽帐户。
流程
编辑机器池并设置
--kubeletconfigs
参数,以便省略您要删除的KubeletConfig
对象。要从机器池中删除所有
KubeletConfig
对象,请为--kubeletconfigs
参数设置一个空值,例如:$ rosa edit machinepool -c <cluster_name> --kubeletconfigs="" --name <machinepool_name>
验证步骤
确认您删除的
KubeletConfig
对象在机器池描述中不可见:$ rosa describe machinepool --cluster <cluster_name> --name <machinepool_name>