Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

33.6. 为 pod 设置 sysctl

sysctl 使用 pod 的 securityContext 在 pod 上设置。securityContext 适用于同一 pod 中的所有容器。

以下示例使用 pod securityContext 设置一个安全 sysctl kernel.shm_rmid_forced,以及两个不安全 sysctl net.ipv4.route.min_pmtukernel.msgmax。在规格中,安全不安全 sysctl 并无区别。

警告

为了避免让操作系统变得不稳定,只有在了解了参数的作用后才修改 sysctl 参数。

修改定义 pod 的 YAML 文件并添加 securityContext 规格,如下例所示:

apiVersion: v1
kind: Pod
metadata:
  name: sysctl-example
spec:
  securityContext:
    sysctls:
    - name: kernel.shm_rmid_forced
      value: "0"
    - name: net.ipv4.route.min_pmtu
      value: "552"
    - name: kernel.msgmax
      value: "65536"
  ...
注意

上方指定的不安全 sysctl 的 pod 将无法在管理员未明确启用两个不安全 sysctl 的节点上启动。与节点级 sysctl 一样,使用污点和容限功能或节点上的标签将这些 pod 调度到正确的节点上。