You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

集群Docker容器中如何修改只读的/proc/sys/kernel/core_pattern文件?

解决容器内核心转储文件路径配置问题

方法1:通过Pod Sysctl配置修改core_pattern(推荐)

容器内/proc/sys/kernel/core_pattern属于内核参数,非root用户无法直接修改,需通过K8s Pod级别的sysctl配置调整,步骤如下:

  1. 集群层面开启unsafe sysctl权限
    需要集群管理员在kubelet配置中添加--allowed-unsafe-sysctls=kernel.core_pattern,或通过kubeadm配置文件(如kubeadm-config.yaml)设置:
    apiVersion: kubelet.config.k8s.io/v1beta1
    kind: KubeletConfiguration
    allowedUnsafeSysctls:
      - kernel.core_pattern
    
    更新配置后重启kubelet生效。
  2. 在Helm Chart中配置Pod的sysctl规则
    在Chart的values.yaml或Pod模板里,指定核心转储到已挂载的PVC路径:
    spec:
      securityContext:
        sysctls:
          - name: kernel.core_pattern
            value: "/your/mounted/pvc/path/core.%p.%u.%t"
    
    替换/your/mounted/pvc/path为实际挂载的PV路径,应用崩溃时核心文件会直接生成在该路径下,方便后续导出。

方法2:配置systemd-coredump存储路径(适配当前core_pattern)

如果集群无法开启unsafe sysctl,可利用现有systemd-coredump的规则,修改其存储路径到挂载的PVC:

  1. 创建ConfigMap存储coredump配置
    定义核心转储的存储规则:
    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: coredump-config
    data:
      custom.conf: |
        [Coredump]
        Storage=external
        ExternalStorage=/your/mounted/pvc/path
        ProcessSizeMax=infinity
        ExternalSizeMax=infinity
    
  2. 在Helm Chart中挂载ConfigMap到容器
    将ConfigMap挂载到容器的/etc/systemd/coredump.conf.d/目录(需确保容器镜像包含systemd相关路径):
    spec:
      containers:
        - name: your-app
          volumeMounts:
            - name: coredump-config
              mountPath: /etc/systemd/coredump.conf.d/custom.conf
              subPath: custom.conf
            - name: your-pvc-volume
              mountPath: /your/mounted/pvc/path
      volumes:
        - name: coredump-config
          configMap:
            name: coredump-config
        - name: your-pvc-volume
          persistentVolumeClaim:
            claimName: your-pvc-name
    
    配置完成后,systemd-coredump会将核心文件存储到指定的PVC路径中,直接在该路径下即可找到转储文件。

注意事项

  • 无论采用哪种方法,都要确保应用容器对目标存储路径拥有读写权限,可通过PVC的accessModes或容器securityContext的fsGroup配置调整。
  • 方法1需要集群管理员配合,若集群安全限制严格,优先选择方法2。

内容的提问来源于stack exchange,提问作者Naveen M

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 09:36:18