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>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果节点不允许不安全 sysctl,则 pod 会被调度,但不会部署:
oc get pod
$ oc get pod
Copy 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 14s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow