一、问题

/dev/shm在/etc/fstab中挂载,对应tmpfs,实际使用的是内存的空间。默认情况下,/dev/shm为物理内存大小的一半。

在Kubernetes上跑docker,发现/dev/shm太小,只有64M,想要扩容。却扩容失败
二、分析

Kubernetes不支持这操作。默认64M
三、解决方案

3.1创建容器的时候,volume给一个空目录,将medium设置为Memory,后挂载到容器的/dev/shm目录下

spec:
  volumes:
  - name: dshm
    emptyDir:
      medium: Memory
  containers:
  - image: gcr.io/project/image
    volumeMounts:
      - mountPath: /dev/shm
        name: dshm

3.2 进入容器 使用df -h 查看shm大小;或者到容器所在宿主机 df -h | grep containerid

参考https://www.cnblogs.com/diffx/p/11005799.html

Logo

开源、云原生的融合云平台

更多推荐