无法在 K8s

问题描述

我正在尝试修改 kernel.core_pattern,但我无法修改它,因为它是只读的。

我试过了:

> echo 'kernel.core_pattern=/tmp/core-%e.%p.%h.%t' >> /etc/sysctl.conf

> Reload sysctl: sysctl --system
Applying /etc/sysctl.conf ... sysctl: setting key "kernel.core_pattern": Read-only file system cat /proc/sys/kernel/core_pattern 

我也无法将它添加到 pod yaml 中:

spec:
  securityContext:
    sysctls:
    - name: kernel.core_pattern
      value: "/tmp/core-%e.%p.%h.%t"

我一直收到这个:SysctlForbidden

我也创建了一个 PodSecurityPolicy:

apiVersion: policy/v1beta1
kind: PodSecurityPolicy
Metadata:
  name: sysctl-psp
spec:
  privileged: false  # Don't allow privileged pods!
  # The rest fills in some required fields.
  seLinux:
    rule: RunAsAny
  supplementalGroups:
    rule: RunAsAny
  runAsUser:
    rule: RunAsAny
  fsGroup:
    rule: RunAsAny
  allowedUnsafeSysctls:
  - kernel.*

仍然没有运气。

有什么建议吗?

解决方法

我能够在集群中的节点上编辑 kernel.core_pattern,这也反映在 pod 中。但这是一个临时解决方法,因为生成的核心文件大小为零。