This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.6.9.2. 为 pod 设置 sysctl
您可以使用 pod 的 securityContext 在 pod 上设置 sysctl。securityContext 适用于同一 pod 中的所有容器。
默认允许安全 sysctl。带有不安全 sysctl 的 pod 无法在任何节点上启动,除非集群管理员在某个节点上明确启用了不安全 sysctl。与节点级 sysctl 一样,使用污点和容限功能或节点上的标签将这些 pod 调度到正确的节点。
以下示例使用 pod securityContext 设置安全 sysctl kernel.shm_rmid_forced,以及两个不安全 sysctl net.core.somaxconn 和 kernel.msgmax。在规格中,安全和不安全 sysctl 并无区别。
为了避免让操作系统变得不稳定,只有在了解了参数的作用后才修改 sysctl 参数。
流程
使用安全和不安全 sysctl:
修改定义 pod 的 YAML 文件并添加
securityContext规格,如下例所示:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建 pod:
oc apply -f <file-name>.yaml
$ oc apply -f <file-name>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果节点不允许不安全 sysctl,则 pod 会被调度,但不会部署:
oc get pod
$ oc get podCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME READY STATUS RESTARTS AGE hello-pod 0/1 SysctlForbidden 0 14s
NAME READY STATUS RESTARTS AGE hello-pod 0/1 SysctlForbidden 0 14sCopy to Clipboard Copied! Toggle word wrap Toggle overflow