【问题标题】:Role-based access control authentication to Back Up and Restore a Kubernetes Cluster Heptio Ark用于备份和恢复 Kubernetes 集群 Heptio Ark 的基于角色的访问控制身份验证
【发布时间】:2020-03-18 04:38:54
【问题描述】:

当我为集群备份安装 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

【问题讨论】:

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


    【解决方案1】:

    kubernetes 没有 USER 对象。您需要使用证书来获得 api server 的身份验证和授权。

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

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

    【讨论】:

      【解决方案2】:

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

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

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

      1. Use RBAC Authorization

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

      有关 Roles 和 ClusterRoles 以及 RoleBindings 和 ClusterRoleBindings 的详细信息,请参阅 API Overview

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

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

      1. 如果您需要一些有关使用 Velero(Heptio 方舟)备份和恢复的指南,除了常规的 GitHubofficial documentation 之外,您可能还想查看 this blog

      希望对你有帮助。

      【讨论】:

        猜你喜欢
        • 2020-02-06
        • 2016-01-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-22
        • 2019-10-10
        • 2017-08-03
        相关资源
        最近更新 更多