kubernetes 设置共享内存
kubernetes 不允许直接修改 Docker 中设置的 shim memory 默认为 64M,所以要需要曲线救国!!!
kubernetes 提供了一种 emptyDir
的方式,可以将 emptyDir.medium
字段设置为 "Memory"
挂载到 /dev/shm
,一定要设置 emptyDir.medium
参数,如果不设置,宿主机的内存有可能会被耗尽。
最好还要配置一下 Memory limits
,限制一下。
缺点
不能及时禁止用户使用内存。虽然过 1~2 分钟
Kubelet
会将Pod
挤出,但是这个时间内,其实对Node
还是有风险的。影响 Kubernetes 调度,因为
emptyDir
并不涉及 Node 的Resources
,这样会造成 Pod “偷偷”使用了 Node 的内存,但是调度器并不知晓。用户不能及时感知到内存不可用。
版权声明: 本文为 InfoQ 作者【陈迪】的原创文章。
原文链接:【http://xie.infoq.cn/article/573ce9a76205cf21ec2d74dd2】。未经作者许可,禁止转载。
评论