当我尝试使用非根 fsgroup 创建一个 pod 时(这里是 2000(
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"}
任何人都可以帮我如何在集群中设置集群角色绑定。
如果问题确实是由于 RBAC 权限引起的,则可以尝试使用群集角色创建群集角色绑定,如此处所述。
创建容器时,您必须在kubectl
客户端中使用该令牌和配置,而不是该帖子的最后一步(使用身份验证令牌登录到仪表板(。
有关使用上下文、集群和用户的更多信息,请访问此处
在设置 Kube-API 时需要禁用入场插件 SecurityContextDeny
在主节点上
ps -ef | grep kube-apiserver
并选中启用插件
--enable-admission-plugins=LimitRanger,NamespaceExists,NamespaceLifecycle,ResourceQuota,ServiceAccount,DefaultStorageClass,MutatingAdmissionWebhook,DenyEscalatingExec
参考: 安全上下文拒绝
cd /etc/kubernetes
cp apiserver.conf apiserver.conf.bak
vim apiserver.conf
找到SecurityContextDeny
关键字并将其删除。
:wq
systemctl restart kube-apiserver
然后修复了它