当我安装ARK服务器和Velero进行群集备份时,在那个时候它要求RBAC身份验证。进入时,身份验证过程显示错误
kubectl create clusterrolebinding cluster-admin-binding --clusterrole cluster-admin --user info.mail_id@gmail.com`
错误
Error from server (Forbidden): clusterrolebindings.rbac.authorization.k8s.io is forbidden: User "info.mail_id@gmail.com" cannot create resource "clusterrolebindings" in API group "rbac.authorization.k8s.io" at the cluster scope
如本文here
中所述答案 0 :(得分:0)
kubernetes没有USER对象。您需要使用证书来通过api服务器进行身份验证和授权。
生成证书并使用群集ca对其进行签名。构建kubeconfig文件。分配适当的角色和角色绑定,使用kubeconfig,您应该能够使用velero执行备份和还原
或者,下载velero并使用velero install命令可以将velero部署到k8s集群中
答案 1 :(得分:0)
已经说过了,但是我觉得这需要更多的指导。
Kubernetes提供了一个certificate.k8s.io API,可让您 提供由证书颁发机构(CA)签名的TLS证书 由您控制。这些CA和证书可由您的工作负载使用 建立信任。
RBAC使用rbac.authorization.k8s.io API组驱动 授权决策,允许管理员动态配置 Kubernetes API制定政策。
有关角色和ClusterRoles以及RoleBindings和ClusterRoleBindings的详细信息,请参见API Overview。
在RBAC API中,一个角色包含代表一组规则的规则 权限。许可纯粹是相加的(没有“拒绝” 规则)。可以在具有角色的名称空间中定义角色,或者 具有ClusterRole的整个群集。
角色绑定将角色中定义的权限授予用户或 用户集。它包含主题列表(用户,组或服务) 帐户),以及对所授予角色的引用。权限可以 可以在具有RoleBinding的名称空间内授予,或在整个集群范围内具有 一个ClusterRoleBinding。
希望对您有帮助。