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

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操作)。

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

相关文章:

  • Netty学习专栏(三):Netty重要组件详解(Future、ByteBuf、Bootstrap)
  • FPGA高速接口 mipi lvds cameralink hdml 千兆网 sdi
  • R语言学习--Day08--bootstrap原理及误区
  • Vanna.AI:用检索增强技术革新SQL查询生成
  • WSL 下面 Buildroot + QEMU 环境记录一下
  • PCB布局设计
  • 【mediasoup】MS_DEBUG_DEV 等日志形式转PLOG输出
  • 【数据集】中国多属性建筑数据集CMAB
  • springboot中各模块间实现bean之间互相调用(service以及自定义的bean)
  • C# 曲线编写总览
  • (17) 关于工具箱 QToolBox 的一个简单的范例使用,以了解其用法
  • 快速解决Linux 中yum镜像拉取失败问题
  • 从协议壁垒到无缝协同:Profibus转Profinet网关的智造赋能逻辑
  • Oracle基础知识(四)
  • 力扣HOT100之回溯:46. 全排列
  • 大数据治理:理论、实践与未来展望(一)
  • ROS云课三分钟-破壁篇GCompris-一小部分支持Edu应用列表-2025
  • 第一课如何学习课程
  • Dify源码学习
  • csp备考Day1|string和vector
  • 好网站设计公司/上海最新疫情
  • 如何查看网站的空间商/seo关键词排名优化案例
  • 建建设网站的/山西seo和网络推广
  • 做家装家居网站/如何免费开自己的网站
  • 怎么做浏览网站的小程序/下载百度极速版
  • 成华区建设局质检站网站/北京seo优化哪家公司好