当前位置: 首页 > backend >正文

2024 CKA模拟系统制作 | Step-By-Step | 4、题目搭建-权限控制RBAC

目录

一、题目

二、题目考点分析

1. RBAC权限模型

2. 资源权限定义

3. ServiceAccount与绑定

三、考点详细讲解

1. RBAC权限模型

2. ClusterRole定义

四、实验环境搭建步骤

1. 创建Namespace

五、总结


免费获取题库配套 CKA_v1.31_模拟系统   咨询2025年最新题库和模拟系统请直接私信

一、题目

您必须在以下Cluster/Node上完成此考题:

Cluster                                       Master node                                     Worker node

  ak8s                                            master                                                node01

.

设置配置环境:

[candidate@node01]$ kubectl config use-context ak8s

.

Context

为部署流水线创建一个新的clusterrole,并将其绑定到范围为特定的namespace的特定serviceaccount

.

Task

创建一个名为deployment-clusterrole且仅允许创建以下资源类型的新clusterrole:

.

• deployment

• statefulset

• daemonset

.

在现有的 namespace app-team1中创建一个名为 cicd-token的新 serviceaccount。

限于namespace app-team1中, 将新的clusterrole deployment-clusterrole绑定到新的serviceaccount cicd-token

二、题目考点分析

1. RBAC权限模型

  • 核心考点:理解Kubernetes的基于角色的访问控制(RBAC)模型,包括:

    • ClusterRole:定义集群范围的权限规则(如操作Deployment、StatefulSet等资源)。

    • RoleBinding/ClusterRoleBinding:将权限绑定到用户、组或ServiceAccount。

    • 作用域限制:权限是否限定在特定Namespace。

  • 关键区别

类型作用范围适用场景
Role + RoleBinding单个Namespace限制权限到某个命名空间
ClusterRole + ClusterRoleBinding全集群跨命名空间的全局权限
ClusterRole + RoleBinding单个Namespace复用ClusterRole到特定命名空间
  • 本题要求
    必须使用 ClusterRole + RoleBinding 组合,实现权限仅作用于 app-team1 Namespace。

2. 资源权限定义

  • 核心考点:在ClusterRole中正确定义允许操作的资源类型及操作动词。

    • 资源类型deploymentsstatefulsetsdaemonsets(注意复数形式)。

    • API组:Deployment属于 apps/v1 API组,需显式声明。

    • 操作动词:仅允许 create 操作。

  • 易错点

    • 资源名称拼写错误(如误写为单数 deployment)。

    • 忘记指定API组(apiGroups: ["apps"])。

3. ServiceAccount与绑定

  • 核心考点

    • 在指定Namespace(app-team1)中创建ServiceAccount。

    • 通过RoleBinding将ClusterRole与ServiceAccount绑定,并限制在同一个Namespace。

  • 关键点

    • RoleBinding的 subjects 字段需指定ServiceAccount的Namespace。

    • 使用 roleRef 引用ClusterRole。

三、考点详细讲解

1. RBAC权限模型

  • RBAC核心组件

    • Subject(主体):用户、组或ServiceAccount。

    • Role/ClusterRole(角色):定义权限规则(如“允许创建Deployment”)。

    • RoleBinding/ClusterRoleBinding(绑定):将角色与主体关联。

  • 权限作用域

    • Role + RoleBinding:权限仅限单个Namespace。

    • ClusterRole + RoleBinding:ClusterRole的权限被限制到单个Namespace。

    • ClusterRole + ClusterRoleBinding:权限全局生效。

  • 本题场景

    • 需要创建 ClusterRole(因为可能后续复用该权限到其他Namespace)。

    • 通过 RoleBinding 将其限制到 app-team1 Namespace。

2. ClusterRole定义

  • YAML示例

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:name: deployment-clusterrole
rules:
- apiGroups: ["apps"]       # Deployment等资源属于apps组resources: ["deployments", "statefulsets", "daemonsets"]verbs: ["create"]         # 仅允许创建操作

关键参数解析

字段说明
apiGroups["apps"]资源所属的API组(Deployment在apps/v1)
resources复数形式的资源类型名称必须全小写,如deployments
verbs["create"]允许的操作动词

四、实验环境搭建步骤

1. 创建Namespace

kubectl create namespace app-team1

五、总结

本地我们只需创建题目要求的namespace即可,其他创建皆是题目考察内容。
通过本题,重点掌握:

  1. RBAC权限模型:区分Role/ClusterRole与Binding的作用范围。

  2. 资源与权限定义:正确指定API组、资源类型和操作动词。

  3. 最小权限原则:仅授予必要的权限(如仅允许create操作)。

实验环境搭建后,可通过验证命令确保权限配置符合预期,避免因权限泄漏导致的安全风险。

http://www.xdnf.cn/news/8742.html

相关文章:

  • 数据库MySQL进阶
  • 【C++】封装红黑树实现 mymap 和 myset
  • 实现Web网站冷启动的全面指南
  • LeetCode 3362.零数组变换 III:贪心+优先队列+差分数组——清晰题解
  • 天猫平台实时商品数据 API 接入方案与开发实践
  • 【时时三省】Python 语言----字符串,列表,元组,字典常用操作异同点
  • Interviews(访谈):业务分析师的“信息开采器”
  • LangGraph 实战指南:长期记忆管理
  • CMSIS-NN:1.简介
  • 【大模型报错解决】cublasLt ran into an error!
  • 开疆智能Profinet转Profibus网关连接DP-IO模块配置案例
  • 水利水电安全员B证职责
  • SpringBoot入门
  • 快速解决Linux 中yum镜像拉取失败问题
  • 算法题(154):合并果子
  • 鸿蒙密码生成器开发笔记
  • C++ 正则表达式简介
  • 广东省省考备考(第十九天5.24)—申论(听课后强化训练)
  • docker虚拟化、容器化
  • 轻量化开源方案——浅析PdfPatcher实际应用
  • 21 程序控制语句详解:循环控制(while、do-while、for、循环机制与原理、嵌套循环)
  • 【深度学习新浪潮】如何用Dify构建自己的AI Agent?
  • 通过设备节点获取已注册的 i2c client
  • P8943 Deception Point
  • 单片机中断系统工作原理及定时器中断应用
  • python下通过wmic设置程序的优先级~~~
  • Java程序员高效视频学习指南
  • 战略-2.1 -战略分析(PEST/五力模型/成功关键因素)
  • C++ 类型转换
  • uni-app学习笔记十--vu3 computed的运用(一)