lxcfs的k8s部署方式,实现容器资源隔离视图
目录
本文通过lxcfs的k8s部署方式,实现容器资源隔离视图;并通过k8s参数设置了容器的shm大小
说明
实现容器资源隔离视图,即为容器分配cpu和内存大小,在容器内部看到的是容器资源配额,而不是宿主机全部计算资源
采用lxcfs实现容器资源隔离,并通过k8s容器化方式部署完成
lxcfs-webhook项目
https://github.com/bingerambo/lxcfs-admission-webhook
本项目针对lxscfs的k8s部署问题重新做了修改:
- custom-lxcfs-image: 重新制作了镜像
- deployment: 修改了部署lxcfs配置yaml
- lxcfs.go: 对应lxcfs配置,修改了webhook代码
lxcfs部署准备文件
- 2个镜像文件分别是lxcfs和webhook,可根据我的lxcfs项目进行制作
- 2个so文件是lxcfs程序需用,部署时安装
- Deployment文件夹下是部署配置脚本
配置
修改配置如下
红色标记为要修改处,根据实际情况修改
lxcfs-daemonset.yaml
deployment.yaml
部署
部署命令
/tmp/为要修改处,根据实际情况修改
|
|
业务测试
namespace: test-lxcfs为要修改处,根据实际情况修改
|
|
共享内存
对于k8s1.20+版本支持共享内存容器视图
通过设置kubelet的feature-gates参数实现
|
|
容器资源隔离视图
经过lxcfs部署安装和共享内存配置后,发现容器资源
- cpu
- mem
- shm
都实现了资源视图隔离