当我设置为 priviliged: false 时,我试图从 init 容器中删除特权模式。我正在克服错误。我在 pod securityContext 级别设置了 readOnlyRootFilesystem: false 和下面的行
securityContext:
sysctls:
- name: net.ipv4.ip_local_port_range
value: 0 65535
当我设置为 priviliged: false 时,我试图从 init 容器中删除特权模式。我正在克服错误。我在 pod securityContext 级别设置了 readOnlyRootFilesystem: false 和下面的行
securityContext:
sysctls:
- name: net.ipv4.ip_local_port_range
value: 0 65535
sysctl问题是由于安全原因,您无法在没有特权模式的情况下运行。这是意料之中的,因为 docker 限制了对/proc和的访问/sys。
为了使其工作,您需要对 init 容器使用特权模式,而不是:
securityContext。例如: securityContext:
sysctls:
- name: kernel.shm_rmid_forced
value: "0"
- name: net.core.somaxconn
value: "1024"
- name: kernel.msgmax
value: "65536"
sysctls_ sysctls_ _ _ 例如:sysctlforbiddenSysctlsallowedUnsafeSysctlsPodSecurityPolicyapiVersion: policy/v1beta1
kind: PodSecurityPolicy
metadata:
name: sysctl-psp
spec:
allowedUnsafeSysctls:
- kernel.msg*
forbiddenSysctls:
- kernel.shm_rmid_forced
请注意:
如果您
sysctls通过 a 中的allowedUnsafeSysctls字段 允许 unsafe ,则如果该节点上的 kubelet 标志也不允许PodSecurityPolicy使用这种 a ,则任何使用此类 a 的 podsysctl都将无法启动。sysctl--allowed-unsafe-sysctls
sysctls在容器本地基础上设置有限数量的docker run --sysctl.我还建议仔细阅读整个链接文档,因为建议谨慎使用 unsafesysctls风险自负,并可能导致严重问题,例如容器行为错误、资源短缺或节点完全损坏。