基于角色的访问控制身份验证以备份和还原Kubernetes群集Heptio方舟

时间:2019-11-22 06:24:59

标签: docker kubernetes google-cloud-platform cloud database-backups

当我安装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

中所述

2 个答案:

答案 0 :(得分:0)

kubernetes没有USER对象。您需要使用证书来通过api服务器进行身份验证和授权。

生成证书并使用群集ca对其进行签名。构建kubeconfig文件。分配适当的角色和角色绑定,使用kubeconfig,您应该能够使用velero执行备份和还原

或者,下载velero并使用velero install命令可以将velero部署到k8s集群中

答案 1 :(得分:0)

已经说过了,但是我觉得这需要更多的指导。

  1. 您需要创建Certificates并签名。 Here您可以找到有关在群集中管理TLS证书的有用教程。
  

Kubernetes提供了一个certificate.k8s.io API,可让您   提供由证书颁发机构(CA)签名的TLS证书   由您控制。这些CA和证书可由您的工作负载使用   建立信任。

  1. Use RBAC Authorization
  

RBAC使用rbac.authorization.k8s.io API组驱动   授权决策,允许管理员动态配置   Kubernetes API制定政策。

有关角色和ClusterRoles以及RoleBindings和ClusterRoleBindings的详细信息,请参见API Overview

  

在RBAC API中,一个角色包含代表一组规则的规则   权限。许可纯粹是相加的(没有“拒绝”   规则)。可以在具有角色的名称空间中定义角色,或者   具有ClusterRole的整个群集。

     

角色绑定将角色中定义的权限授予用户或   用户集。它包含主题列表(用户,组或服务)   帐户),以及对所授予角色的引用。权限可以   可以在具有RoleBinding的名称空间内授予,或在整个集群范围内具有   一个ClusterRoleBinding。

  1. 如果您需要一些有关使用Velero(Heptio方舟)进行备份和还原的指南,除了常规的this blogGitHub之外,您可能还希望看到official documentation

希望对您有帮助。