当我尝试使用非root fsgroup(此处为2000)
创建一个pod时apiVersion: v1
kind: Pod
metadata:
name: security-context-demo
spec:
securityContext:
runAsUser: 1000
fsGroup: 2000
volumes:
- name: sec-ctx-vol
emptyDir: {}
containers:
- name: sec-ctx-demo
image: gcr.io/google-samples/node-hello:1.0
volumeMounts:
- name: sec-ctx-vol
mountPath: /data/demo
securityContext:
allowPrivilegeEscalation: true
遇到错误
Error from server (Forbidden): error when creating "test.yml": pods "security-context-demo" is forbidden: pod.Spec.SecurityContext.RunAsUser is forbidden
版
root@ubuntuguest:~# kubectl version
Client Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.2", GitCommit:"81753b10df112992bf51bbc2c2f85208aad78335", GitTreeState:"clean", BuildDate:"2018-04-27T09:22:21Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.2", GitCommit:"81753b10df112992bf51bbc2c2f85208aad78335", GitTreeState:"clean", BuildDate:"2018-04-27T09:10:24Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}
任何人都可以帮助我如何在集群中设置ClusterRoleBinding。
答案 0 :(得分:0)
如果问题确实是由于RBAC权限,那么您可以尝试创建一个群集角色为explained here的ClusterRoleBinding。
而不是该帖子中的最后一步(使用身份验证令牌登录仪表板),您必须在创建pod时在kubectl
客户端中使用该令牌和配置。
有关使用上下文,群集和用户visit here
的详细信息答案 1 :(得分:0)
设置Kube-API时需要禁用准入插件SecurityContextDeny
在主节点上
ps -ef | grep kube-apiserver
并检查启用插件
--enable-admission-plugins=LimitRanger,NamespaceExists,NamespaceLifecycle,ResourceQuota,ServiceAccount,DefaultStorageClass,MutatingAdmissionWebhook,DenyEscalatingExec
答案 2 :(得分:0)
cd /etc/kubernetes
cp apiserver.conf apiserver.conf.bak
vim apiserver.conf
找到SecurityContextDeny
关键字并将其删除。
:wq
systemctl restart kube-apiserver
然后修复