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个参数是程序的全名,以后的参数 ...
随机推荐
- 从嘉手札<2024-1-10>
冬月初零 年岁缭绕 秋月无影 倏尔迢迢 暗章难牧 纵使再怎么保有年少飞扬的内心 时光仍带去了我二十六年的光阴 出乎意料的收到了很多人的祝福 可喜的是 仍有不少人记挂着我 于我而言 无疑是莫大的荣幸和欣 ...
- Arduino语言基础(萌新)
Arduino语言基础(萌新) Arduino语言注解Arduino语言是建立在C/C++基础上的,其实也就是基础的C语言,Arduino语言只不过把AVR单片机(微控制器)相关的一些参数设置都函数化 ...
- Redis有哪些潜在的慢操作?
Redis作为内存数据库,访问速度快是最大的特点,那么,什么情况下,Redis也会变慢呢? Redis底层数据结构 Redis有5种基本数据类型:String,List,Hash,Set,ZSet 有 ...
- Windows OhmGraphite 配置
Windows OhmGraphite 配置 由于windows_exporter无法监控温度相关的指标,那么就需要使用OhmGraphite进行监控该指标. 下载 访问 https://github ...
- Ubuntu安装PHP和NGINX环境
Ubuntu安装PHP和NGINX环境 介绍 PHP-FPM PHP-FPM 是 PHP FastCGI Process Manager 的缩写,是 FastCGI 进程管理器. PHP-FPM 是基 ...
- NC207569 牛牛爱奇数
题目链接 题目 题目描述 在牛牛面前放着 \(n\) 个数,这些数字既有奇数也有偶数,只不过牛牛对奇数情有独钟,他特别想让这些数都变成奇数. 现在牛牛获得了一种能力,他可以执行一种操作:每次选中一个偶 ...
- 【Lua】xLua逻辑热更新
1 前言 Lua基础语法 中系统介绍了 Lua 的语法体系,ToLua逻辑热更新 中介绍了 ToLua 的应用,本文将进一步介绍 Unity3D 中基于 xLua 实现逻辑热更新. 逻辑热更新 ...
- 将docker镜像推送到阿里云镜像仓库
1.注册阿里云账号(支付宝扫码登录也可以) 进入控制台,找到[容器镜像服务] 2.创建命名空间 3.创建镜像仓库 4.设置授权凭证 5.登录 docker login --username=index ...
- Java I/O 教程(六) BufferedInputStream 类
Java BufferedInputStream Class Java BufferedInputStream class 用于从输入流读取数据,和BufferedOutStream一样内部使用缓冲机 ...
- win32 - wsprintf和wvsprintf
前者很常用, 经常被用来转换为字符串或者拼接字符串. 例子: #include <Windows.h> #include <stdio.h> int main() { int ...