K8s中Role(ClusterRole)资源类型rules字段详解
在Kubernetes(K8s)中,Role资源类型的rules字段用于定义哪些操作(verbs)可以在哪些资源(resources)上执行。Role是一种命名空间级别的资源,它允许你对命名空间内的资源进行细粒度的访问控制。
resources:
resources字段指定了角色可以访问的资源类型。这些资源类型可以是Kubernetes API中定义的任何资源,例如Pods、Services、Deployments、ConfigMaps等。你可以在resources字段中列出多个资源类型,以允许角色访问这些类型的资源。verbs:
verbs字段定义了角色可以对资源执行的操作。这些操作可以是标准的HTTP方法,如get、list、watch、create、update、patch、delete等。通过在verbs字段中列出这些操作,你可以控制角色对资源的具体行为。
rules字段是一个数组,每个元素都是一个规则对象,规则对象中定义了可以执行的操作和适用的资源。下面是一个Role资源定义的示例,其中包含了rules字段:
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  name: pod-reader
  namespace: default
rules:
- apiGroups: [""]  # 空字符串表示核心API群组
  resources: ["pods"]  # 资源类型是pods
  verbs: ["get", "list", "watch"]  # 允许的操作是get、list和watch
在这个例子中,我们创建了一个名为pod-reader的Role,它允许用户读取(get、list、watch)命名空间default中的Pods资源。
apiGroups字段指定了资源所属的API群组。空字符串("")表示核心API群组,即没有特定群组的资源,如Pods、Services等。对于属于特定群组的资源,你需要在这里指定相应的群组名称。resources字段是一个字符串数组,列出了该规则适用的资源类型。在这个例子中,我们指定了pods资源类型。verbs字段是一个字符串数组,列出了允许在资源上执行的操作。在这个例子中,我们允许get、list和watch操作。
除了这些基本字段外,Role规则还可以包含其他字段,如resourceNames,用于指定规则适用的具体资源对象的名称。
请注意,Role和ClusterRole之间的主要区别在于它们的作用范围:Role仅适用于特定的命名空间,而ClusterRole适用于整个集群。在创建Role或ClusterRole时,你需要根据你的需求选择合适的作用范围。
最后,为了将角色绑定到用户、组或服务账户,你还需要创建RoleBinding(对于命名空间级别的角色)或ClusterRoleBinding(对于集群级别的角色)。这些绑定将角色与主体相关联,从而实现访问控制。
K8s中Role(ClusterRole)资源类型rules字段详解的更多相关文章
- Kubernetes K8S之通过yaml文件创建Pod与Pod常用字段详解
		
YAML语法规范:在kubernetes k8s中如何通过yaml文件创建pod,以及pod常用字段详解 YAML 语法规范 K8S 里所有的资源或者配置都可以用 yaml 或 Json 定义.YAM ...
 - Kubernetes YAML 文件全字段详解
		
Kubernetes YAML 文件全字段详解 Deployment yaml 其中主要参数都在podTemplate 中,DaemonSet StatefulSet 中的pod部分一样. apiVe ...
 - HTTP首部字段详解
		
HTTP首部字段详解 在HTTP/1.1规范中定义了47种首部字段,总共分为四大类: 通用首部字段 -- 请求报文和响应报文两方都会使用的首部 请求首部字段 -- 从客户端向服务器端发送请求报文时使用 ...
 - IIS日志字段详解
		
IIS日志字段详解 抓住8月的尾巴,弥补下这个月的空白,事情太多,忘了写博客这回事了. IIS日志字段设置 网站运营时 ...
 - SQL Server中通用数据库角色权限的处理详解
		
SQL Server中通用数据库角色权限的处理详解 前言 安全性是所有数据库管理系统的一个重要特征.理解安全性问题是理解数据库管理系统安全性机制的前提. 最近和同事在做数据库权限清理的事情,主要是删除 ...
 - Kubernetes K8S之固定节点nodeName和nodeSelector调度详解
		
Kubernetes K8S之固定节点nodeName和nodeSelector调度详解与示例 主机配置规划 服务器名称(hostname) 系统版本 配置 内网IP 外网IP(模拟) k8s-mas ...
 - HTML中javascript的<script>标签使用方法详解
		
只要一提到把JavaScript放到网页中,就不得不涉及Web的核心语言--HTML.在当初开发JavaScript的时候,Netscape要解决的一个重要问题就是如何做到让JavaScript既能与 ...
 - UIViewController中各方法调用顺序及功能详解
		
UIViewController中各方法调用顺序及功能详解 UIViewController中loadView, viewDidLoad, viewWillUnload, viewDidUnload, ...
 - 详解Android中的四大组件之一:Activity详解
		
activity的生命周期 activity的四种状态 running:正在运行,处于活动状态,用户可以点击屏幕,是将activity处于栈顶的状态. paused:暂停,处于失去焦点的时候,处于pa ...
 - opencv中  int main(int argc,char* argv[])详解
		
opencv中 int main(int argc,char* argv[])详解 argc是命令行总的参数个数 argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数 ...
 
随机推荐
- C/C++ 操作注册表与服务
			
枚举注册表启动项: 通过添加注册表启动项,可以很方便地完成自启动,常用的启动位置有CurrentVersion,BootExecute,Active Setup. #include <stdio ...
 - Centos安装Python3.8
			
最直白的centos8安装python3.8yum install -y update安装 gcc和make插件:yum install gcc gcc-c++yum -y install gcc a ...
 - 24.3 向量化异常VEH--《Windows核心编程》
			
Windows 提供了向量化异常处理(vectored excepation handing,VEH)机制.程序可以注册一个函数,每当异常发送或者一个未处理异常脱离标准SEH的控制时,这个函数就会被调 ...
 - .NET 云原生架构师训练营(模块二 基础巩固 EF Core 查询)--学习笔记
			
2.4.5 EF Core -- 查询 关联数据加载 客户端与服务端运算 跟踪与不跟踪 复杂查询运算 原生 SQL 查询 全局查询筛选器 关联数据加载 学员和助教都在项目分组中,调整模型,删除 Ass ...
 - NC16611 [NOIP2009]最优贸易
			
题目链接 题目 题目描述 C国有n个大城市和m条道路,每条道路连接这n个城市中的某两个城市.任意两个城市之间最多只有一条道路直接相连.这m条道路中有一部分为单向通行的道路,一部分为双向通行的道路,双向 ...
 - [WPF] MediaElement播放HDR视频泛黄、颜色显示不正确应该如何解决?
			
当我们在使用MediaElement控件播放HDR视频时会遇到颜色发灰.泛黄的情况,难道是因为控件做的有问题? 其实并不是程序问题,只是我们普通的应用程序工作在8bit色深的环境中,而HDR色深为10 ...
 - Python异步编程原理篇之IO多路复用模块selector
			
selector 简介 selector 是一个实现了IO复用模型的python包,实现了IO多路复用模型的 select.poll 和 epoll 等函数. 它允许程序同时监听多个文件描述符(例如套 ...
 - 使用JS快速读取TXT文件
			
1 前言 最近有个需求,需要使用JS快速读取外部大数据文件(60w条记录的表).笔者尝试过使用JS读取Excel文件,但是跑了十几分钟仍未出结果,后来笔者尝试将原数据保存为TXT文件,再从TXT文件中 ...
 - 【Unity3D】GUI控件
			
1 前言  Unity 3D 提供了 GUI.NGUI.UGUI 等图形系统,以增强玩家与游戏的交互性.GUI 在编译时不能可视化,在运行时才能可视化.GUI 代码需要在 OnGUI 函数中调用才能 ...
 - 麒麟系统开发笔记(六):安装QtCreator开发IDE中的中文输入环境Fcitx输入法
			
前言 中文输入法,QtCreator中无法输入中文也是ubuntu中一个常规问题,在麒麟系统中也此问题,要解决此问题,主要是安装和使用Fcitx输入法. 本文章最终结果是失败的,但是读者的系统未 ...