k8s部署es的时候需要初始化很多linux的内核参数。 但是文件系统挂载到pod容器中就会变成read-only,难以进行操作实现需求。
所以需要给POD privileged权限,然后在容器的初始化脚本或代码中去修改sysctl参数。
创建POD/deployment/daemonset等对象时,
给容器的spec指定securityContext.privileged=true即可
设置到containers同级即可
securityContext: privileged: true
如果是docker设置特权的话比较简单,只是需要在起docker容器的时候加一个--privileged参数
docker run -it --privileged centos:latest bash
那么docker和k8s都使用privileged起的容器内部是有差别的
k8s privileged 起的容器里
mount|grep sys sysfs on /sys type sysfs (ro,nosuid,nodev,noexec,relatime,seclabel)
/sys是ro只读的
docker privileged 起的容器里
mount|grep sys sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)
/sys是rw可读可写
- 标签
- k8s
- docker
- pod
- privileged
内容版权声明:除非注明,否则皆为本站原创文章。
转载注明出处:https://sulao.cn/post/884
相关阅读
- k8s使用SA和Secret配置私有仓库镜像拉取凭证
- k8s使用flannel作为CNI网络插件
- k8s中harbor-database-0日志报Permissions should be u=rwx (0700)的处理方法
- k8s使用helm部署harbor镜像仓库并使用nodeport方式暴露
- k8s集群部署prometheus/node-exporter/dcgm-exporter
- k8s中calico匹配多种网络接口名字的方法
- ubuntu22.04使用containerd部署k8s集群
- ubuntu22.04下k8s集群kube-proxy从iptables切换到ipvs模式
- k8s级联删除(删除deployment却删除不了rs和pod)异常问题的处理办法
- docker服务无法停止的问题解决方法
评论列表