在Linux服务器OpenShift 4.x环境中,每个运行的容器将被限制为默认的最大PID值1024,如果需要在一个容器中运行具有1024个以上进程的应用程序,则需要OpenShift容器平台集群操作员进行调整默认的最大PID值。
pids_limit是容器中允许的最大进程数,可以通过在OpenShift节点中运行以下命令来查看它: $ sudo crio-status config | grep pid pids_limit = 1024
在OpenShift中,不建议直接通过编辑crio.conf文件来更改值: $ grep pids_limit /etc/crio/crio.conf pids_limit = 1024
建议根据所使用的OCP版本采取正确的方法,我正在运行OpenShift 4.4,在此版本中,引入了ContainerRuntimeConfig自定义资源。创建ContainerRuntimeConfig自定义资源以配置cri-o pidsLimit: cat <<EOF > custom-pidslimit.yaml apiVersion: machineconfiguration.openshift.io/v1 kind: ContainerRuntimeConfig metadata: name: custom-pidslimit spec: machineConfigPoolSelector: matchLabels: custom-crio: custom-pidslimit containerRuntimeConfig: pidsLimit: 4096 EOF
您可以在应用之前更新配置文件: vim custom-pidslimit.yaml
应用配置: $ oc create -f custom-pidslimit.yaml containerruntimeconfig.machineconfiguration.openshift.io/custom-pidslimit created
验证资源已创建: $ oc get ctrcfg NAME AGE custom-pidslimit 44s 参考:使用oc命令显示OpenShift节点的日志(Logs)。
创建自定义资源后,我们需要将pidslimit更改推广到集群中的所有工作节点。让我们在machineConfigPool配置中的标签下添加custom-crio: custom-pidslimit: $ oc edit machineconfigpool worker apiVersion: machineconfiguration.openshift.io/v1 kind: MachineConfigPool metadata: creationTimestamp: "2021-02-15T08:29:58Z" generation: 7 labels: custom-crio: custom-pidslimit #添加此行
检查以确保创建了新的99-worker-XXX-containerruntime并创建了新的渲染的worker: $ oc get machineconfigs | grep containerruntime 99-worker-261cdd8d-c387-4f61-b1ce-b9ab2d025f09-containerruntime 601c2285f497bf7c73d84737b9977a0e697cb86a 2.2.0 93s
现在,应该通过新的渲染工作计算机配置将更改推广到工作池中的每个节点。您可以通过检查最新的render-worker machine-config是否已成功部署到池中来进行验证: $ oc get mcp
重启工作节点后,您可以登录并确认当前设置: $ oc debug node/<workernode> sh-4.4# chroot /host sh-4.4# grep pids_limit /etc/crio/crio.conf
最后,希望本文对您在OpenShift 4.x集群中更改pids_limit的默认值有所帮助。
相关主题 |