首页 > 其他分享 >K8s中Role(ClusterRole)资源类型rules字段详解

K8s中Role(ClusterRole)资源类型rules字段详解

时间:2024-03-05 13:11:38浏览次数:21  
标签:资源类型 rules 群组 字段 Role resources 资源

在Kubernetes(K8s)中,Role资源类型的rules字段用于定义哪些操作(verbs)可以在哪些资源(resources)上执行。Role是一种命名空间级别的资源,它允许你对命名空间内的资源进行细粒度的访问控制。

  1. resources
    resources字段指定了角色可以访问的资源类型。这些资源类型可以是Kubernetes API中定义的任何资源,例如Pods、Services、Deployments、ConfigMaps等。你可以在resources字段中列出多个资源类型,以允许角色访问这些类型的资源。

  2. verbs
    verbs字段定义了角色可以对资源执行的操作。这些操作可以是标准的HTTP方法,如getlistwatchcreateupdatepatchdelete等。通过在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字段是一个字符串数组,列出了允许在资源上执行的操作。在这个例子中,我们允许getlistwatch操作。

除了这些基本字段外,Role规则还可以包含其他字段,如resourceNames,用于指定规则适用的具体资源对象的名称。

请注意,Role和ClusterRole之间的主要区别在于它们的作用范围:Role仅适用于特定的命名空间,而ClusterRole适用于整个集群。在创建Role或ClusterRole时,你需要根据你的需求选择合适的作用范围。

最后,为了将角色绑定到用户、组或服务账户,你还需要创建RoleBinding(对于命名空间级别的角色)或ClusterRoleBinding(对于集群级别的角色)。这些绑定将角色与主体相关联,从而实现访问控制。

标签:资源类型,rules,群组,字段,Role,resources,资源
From: https://www.cnblogs.com/ydswin/p/18053807

相关文章

  • 19 SWERC 2022-2023 - Online Mirror (Unrated, ICPC Rules, Teams Preferred)L. Cont
    L.Controllers思路:#include<bits/stdc++.h>#defineintlonglong#definerep(i,a,b)for(inti=(a);i<=(b);++i)#definefep(i,a,b)for(inti=(a);i>=(b);--i)#define_for(i,a,b)for(inti=(a);i<(b);++i)#definepiipair&......
  • 微信小程序weui库表单提交 rules校验用法
    在开发微信小程序时候,一定会遇到表单提交问题。表单提交会遇到各种校验问题。微信小程序官方文档上面form是不带有校验功能的。如果要用需要自己手动校验。但是在weui中是有表单校验功能的,今天就来记录一下表单校验如何使用微信开放文档: https://developers.weixin.qq.com/min......
  • ansible-playbook 之 roles
     rolesroles用于层次性、结构化地组织playbook。roles能够根据层次型结构自动装载变量文件、tasks以及handlers等。要使用roles只需要在playbook中使用include指令引入即可。简单来讲,roles就是通过分别将变量、文件、任务、模板及处理器放置于单独的目录中,并可以便捷的include......
  • 《Boosting Document-Level Relation Extraction by Mining and Injecting Logical Ru
    代码原文地址摘要文档级关系抽取(DocRE)旨在从文档中抽取出所有实体对的关系。DocRE面临的一个主要难题是实体对关系之间的复杂依赖性。与大部分隐式地学习强大表示的现有方法不同,最新的LogiRE 通过学习逻辑规则来显式地建模这种依赖性。但是,LogiRE需要在训练好骨干网络之后,......
  • form里面有多个对象,对象里面的每一项都是formItem,rules应该怎么配置
    <template><el-form:model="formData":rules="formRules"ref="form"label-width="100px"><el-form-itemlabel="对象1"><el-inputv-model="formData.object1.prop1"pla......
  • ansible-role角色
    官网文档https://docs.ansible.com/ansible/latest/user_guide/playbooks_reuse_roles.html为什么要用role之前你部署的nfs、rsync、lsyncd、nginx是如何管理他们的palybook的?想必是随便放在某一个文件夹里吧而如果你部署这个备份方案的多个playbook,还使用到了一些额外......
  • Ansible - Roles
      前言Q1:什么是Roles在实际生产环境中,会编写大量的playbook文件来实现不同的功能。而且,每个playbook还可能会调用其他文件(变量文件),对于海量的、无规律的文件,管理是个问题。Ansible从1.2版本开始支持Roles,Roles是管理ansible文件的一种规范(目录结构),Roles会按照标准的规范,自......
  • Jenkins+基础系列16:番外篇--Manage and Assign Roles 角色权限控制插件
    摘自:https://blog.csdn.net/yangj507/article/details/1080832721、下载插件:Role-basedAuthorizationStrategy,安装成功后,可以重启下 2、菜单查看 3、菜单简介 4、ManageRoles设置5、AssignRoles设置 6、视图名称和job名称设置由于我们采用了表达式匹配......
  • Element Ui使用技巧——Form表单的校验规则rules详细说明
    ElementUi使用技巧——Form表单的校验规则rules详细说明:https://blog.csdn.net/weixin_46711427/article/details/117672462?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_utm_term~default-0-117672462-blog-124431947.235^v40^pc_relevant_rights_sort......
  • MetaGPT day02: MetaGPT Role源码分析
    MetaGPT源码分析思维导图MetaGPT版本为v0.4.0,如下是frommetagpt.rolesimportRole,Role类执行Role.run时的思维导图:概述其中最重要的部分是_react,里面包含了一个循环,在循环中交替执行_think和_act,也就是让llm先思考再行动。_think中决定了llm下一个执行的动作是什么,这个动作......