k8s中 RBAC中,clusterrole,serviceaccount , rolebinding 是什么关系谁先谁后

在Kubernetes的RBAC(Role-Based Access Control)中,ClusterRole、ServiceAccount和RoleBinding是三个关键的组件,它们之间的关系如下:

  1. ClusterRole:ClusterRole 是一种全局的权限规则,它定义了一组权限,可以在整个集群中使用。ClusterRole 中包括了哪些操作可以执行以及访问哪些资源的权限。

  2. ServiceAccount:ServiceAccount 是一个用于标识和验证运行在 Pod 内部的进程的账号。每个 Pod 可以分配一个或多个 ServiceAccount,这些 ServiceAccount可以用来与 ClusterRole 或 Role 进行绑定,从而授予 Pod 中的进程相应的权限。

  3. RoleBinding:RoleBinding 将 Role 或 ClusterRole 与一个或多个 ServiceAccount 绑定在一起,以确定哪些 ServiceAccount 具有哪些权限。RoleBinding 可以在命名空间级别(RoleBinding)或全局级别(ClusterRoleBinding)进行配置。

通常,配置 RBAC 规则的顺序如下:

  1. 创建 ClusterRole:首先,你需要创建一个 ClusterRole 来定义一组权限规则,包括操作和资源的访问权限。

  2. 创建 ServiceAccount:然后,你可以创建一个或多个 ServiceAccount,这些 ServiceAccount将被分配给运行在 Pod 内部的进程。

  3. 创建 RoleBinding 或 ClusterRoleBinding:最后,你可以创建 RoleBinding 或 ClusterRoleBinding 来将 ServiceAccount 与 ClusterRole 或 Role 绑定在一起,以授予 Pod 中的进程相应的权限。如果你在特定命名空间中定义权限规则,使用 RoleBinding;如果你需要全局权限,使用 ClusterRoleBinding。

总结来说,ClusterRole 需要在 ServiceAccount 和 RoleBinding 之前定义,以确保你有一个可供绑定的权限规则。然后,你可以创建 ServiceAccount 并将它们与 ClusterRole 或 RoleBinding 进行绑定,从而为 Pod 分配相应的权限。

相关推荐
不惑_31 分钟前
Windows 安装 Docker 和 Docker Compose 完整教程
windows·docker·容器
云霄IT2 小时前
docker使用教程之部署第一个go项目
docker·容器·golang
阿基米东2 小时前
Let‘s Encrypt 是什么?它是如何工作的?
云原生·https·云计算
故事写到这2 小时前
第一章 Ubuntu24.04环境下的K8S部署【入门保姆级】
云原生·容器·kubernetes
探索云原生2 小时前
Buildah 简明教程:让镜像构建更轻量,告别 Docker 依赖
linux·docker·云原生·go·cicd
走路带_风2 小时前
Ubuntu server 22.04 安装kubernetes
云原生·容器·kubernetes
学习3人组3 小时前
CentOS9安装Docker
docker·容器·eureka
Xyz996_4 小时前
K8S-Configmap资源
云原生·容器·kubernetes
Warren984 小时前
datagrip新建oracle连接教程
数据库·windows·云原生·oracle·容器·kubernetes·django
ascarl20105 小时前
准确--Kubernetes 修改 NodePort 端口范围操作文档
云原生·容器·kubernetes