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

这篇具有很好参考价值的文章主要介绍了K8s中Role(ClusterRole)资源类型rules字段详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在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(对于集群级别的角色)。这些绑定将角色与主体相关联,从而实现访问控制。文章来源地址https://www.toymoban.com/news/detail-837949.html

到了这里,关于K8s中Role(ClusterRole)资源类型rules字段详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • k8s configMap中subPath字段和items字段详解

    在Linux中,将目录A挂载到目录B,则目录B原有的文件都会被目录A下的文件覆盖。 那么在k8s中,如何将configmap挂载到容器中某个目录的文件中呢?答案是使用subPath。 subPath可以将configMap和secret作为文件挂载到容器中而不覆盖挂载目录下的文件。 话不多说,直接看一个例子。 制

    2024年02月06日
    浏览(58)
  • K8s中的RBAC(Role-Based Access Control)

    RBAC(基于角色的访问控制)是一种在Kubernetes中用于控制用户对资源的访问权限的机制。以下是RBAC的设计实现说明: 角色(Role)和角色绑定(RoleBinding):角色定义了一组权限,角色绑定将角色与用户或用户组相关联。通过角色和角色绑定,可以在集群或命名空间级别授予用

    2024年02月09日
    浏览(28)
  • Kubernetes(k8s)核心资源解析:Pod详解

    💖The Begin💖点点关注,收藏不迷路💖 Pod是Kubernetes中最小的调度单元,它可以包含一个或多个容器。Pod中的所有容器共享网络和存储卷,它们一起运行在同一个节点上。Pod提供了一种抽象层,使得容器可以作为一个逻辑单元来管理。 Pod中的容器共享IP地址、端口空间和存储

    2024年04月11日
    浏览(70)
  • k8s资源管理方法详解(陈述式、声明式)

    目录 一:陈述式资源管理方法 二: 基本信息查看 1、查看信息 2、创建  3、删除 4、service 的 type 类型 三:项目实例 1、创建    kubectl create命令 2、发布    kubectl expose命令  3、在 node 节点上操作,查看负载均衡端口  4、更新    kubectl set 5、 回滚    kubectl rollout  6、

    2024年02月13日
    浏览(32)
  • k8s资源管理命令与Namespace使用详解

    目录 一、前言 二、k8s概述 三、k8s常用操作管理命令 3.1 kubectl 命令用法

    2023年04月16日
    浏览(51)
  • k8s的service资源类型有ClusterIP、Nodeport、ExternalName、LoadBalancer、Headless(None)

    ClusterIP 是在所有节点内生成一个虚拟IP,为一组pod提供统一的接入点,当service存在时,它的IP地址和端口不会发生改变,客户端通过service的ip和端口建立连接,由service将连接路由到该服务的任意一个后端pod上,通过这种方式,客户端不需要知道每个pod的具体ip,pod可以随时移

    2024年02月11日
    浏览(35)
  • k8s的yaml文件中kind类型详解

    在Kubernetes(k8s)的YAML语法中,kind是一种重要的,它用于指定Kubernetes资源的类型。根据Kubernetes官方文档,以下是kind可能的取值: Deployment:用于定义应用程序的声明式更新。 StatefulSet:用于有状态应用程序的声明式更新和管理。 DaemonSet:用于在集群中运行一个pod的声

    2024年02月06日
    浏览(35)
  • 【K8S 】K8S配置资源管理

    1、概念 用来保存密码。token,敏感的K8S资源 这类数据可以直接存放在镜像中,但是放在Secret中可以更方便的控制,减少暴露的风险 Secret:保存加密的信息 2、Secret类型: docker-registry:存储docker仓库的认证信息,以及docker的组件认证信息(私有) generic:是Secret的默认模式,

    2024年01月17日
    浏览(45)
  • k8s helm ingress-nginx Error: template: ingress-nginx/templates/controller-role “update-status“

    k8s,使用helm包管理器安装ingress-nginx时,安装文件出错 helm 版本:Version:“v3.2.3” k8s 版本:Kubernetes v1.23.6 ingress-nginx chart version:4.9.0 app version:1.9.5 前面都按网上的教程做,没有什么大问题 最后一步执行安装命令 命令执行失败,报错 问题可能出现在对.Values.controller.extraArg

    2024年03月20日
    浏览(122)
  • k8s容器加入host解析字段

    一、通过edit或path来修改 kubectl edit deploy /xxxxx. x-n cattle-system xxxxx为你的资源对象名称 二、添加字段  三、code

    2024年02月12日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包