Kubenates RunAsUser 是被禁止的



当我尝试使用非根 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

然后修复了它

相关内容

  • 没有找到相关文章

最新更新