k8s笔记15--配置共享内存

k8s笔记15--配置共享内存

介绍

容器启动后默认会有 64M 的共享内存挂载在/dev/shm 目录,用户可以向访问本地文件系统一样访问该共享内存,如果需要配置更大的内存,那么在docker中需要通过 shm-size 来获取,k8s 中需要通过挂载memory类型的emptyDir来实现。
本文主要介绍如何配置docker 和 k8s 环境的共享内存目录,并加以案例说明。

案例

docker 环境

默认为64M,如下图:
在这里插入图片描述
通 shm-size 配置共享内存大小:

docker run -d --name=test --shm-size=500m busybox:1.32 sleep infinity

在这里插入图片描述

k8s 环境

配置 emptyDir, medium 为 Memory

apiVersion: v1
kind: Pod
metadata:
  name: test-shm
spec:
  containers:
  - image: busybox:1.32
    name: test-container
    command: [sh, -c, "sleep infinity" ]
    volumeMounts:
    - mountPath: /dev/shm
      name: cache-volume
  volumes:
  - name: cache-volume
    emptyDir:
      medium: Memory
      sizeLimit: 500M

如下图,容器中正常申请到了500M的共享内存。
在这里插入图片描述
注意:

  1. k8s 中M 和Mi 的单位是不同的,加i 后是1024 的基数,不加则为1000的基数。
    若设置sizeLimit: 500Mi , 那么大小为500M, 如下图:
    在这里插入图片描述
  2. k8s 1.22 版本中才比较完整的支持挂载共享内存,即 1.22 及之后的的版本挂载的大小为实际 sizeLimit 的大小, 1.20版本中会出现挂载后实际大小和物理机一样(物理内存一半)的现象。

说明

docs.docker.com/engine/reference/commandline/run/
kubernetes.io/docs/concepts/storage/volumes#emptydir

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

昕光xg

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值