当我设置为 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
_ _ _ 例如:sysctl
forbiddenSysctls
allowedUnsafeSysctls
PodSecurityPolicy
apiVersion: 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
风险自负,并可能导致严重问题,例如容器行为错误、资源短缺或节点完全损坏。