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 分配相应的权限。

相关推荐
誰能久伴不乏7 小时前
保姆级 Docker 入门教程
docker·容器·eureka
分布式存储与RustFS7 小时前
模型 checkpoint 放对象存储:分片上传、断点续传与残留清理
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
分布式存储与RustFS11 小时前
用RustFS给Harbor当S3存储后端
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
vipxieliang11 小时前
Docker vs Podman vs containerd:容器运行时全景
docker·容器
vipxieliang11 小时前
数据持久化方案:卷、挂载、权限与备份恢复
docker·容器
vipxieliang12 小时前
容器原理揭秘:namespace、cgroup 与镜像分层
docker·容器
wzq11_66613 小时前
Kubernetes集群——基础篇(基础知识与搭建步骤一遍过!!!)
java·容器·kubernetes
分布式存储与RustFS13 小时前
DPU卸载纠删码与加密:解决AI对象存储的CPU瓶颈
云原生·开源·对象存储·分布式存储·s3·rustfs·性能基准
kuroomi13 小时前
非云原生应用监控
云原生
java_logo15 小时前
Docker 部署 dockurr/windows:轻松搭建浏览器可控 Windows 虚拟机
运维·windows·docker·容器·虚拟机·kvm·轩辕镜像