代码编织梦想

考题概述:

创建名称 deployment-clusterrole 的 ClusterRole,该⻆⾊具备创建 Deployment、Statefulset、
Daemonset 的权限,在命名空间 app-team1 中创建名称为 cicd-token 的 ServiceAccount,绑定
ClusterRole 到 ServiceAccount,且限定命名空间为 app-team1。

考题解析:

需要熟悉创建 serviceaccount、clusterrole 和 rolebinding 的⽅法,需要限定在 ns 级别,因此最好使
⽤ rolebinding

参考⽅法

# 考试时执行,切换集群。模拟环境中练习不需要执行。真实考试环境会提示你切换
root@cka-master1:~# kubectl config use-context k8s
 
# 题目中说明已存在名称空间 “在现有的 namespace app-team1 ” 则不需要创建该名称空间。因为我们在自己的模拟环境中,则手动创建该名称空间
root@cka-master1:~# kubectl create ns app-team1
 
# 接下来正式做题
root@cka-master1:~# kubectl create clusterrole deployment-clusterrole --verb=create --resource=Deployment,StatefulSet,DaemonSet
 
root@cka-master1:~# kubectl create serviceaccount cicd-token -n app-team1 
 
# 题目中写了 “限于 namespace app team1 中”,则创建 rolebinding,没有写的话,则创建clusterrolebinding;rolebinding 后面的名字 rb-cicd-token 随便起的,因为题目中没有要求,如果题目中有要求,就不能随便起了。
root@cka-master1:~# kubectl create rolebinding rb-cicd-token --clusterrole=deployment-clusterrole --serviceaccount=app-team1:cicd-token --namespace=app-team1
 
# 检查验证
root@cka-master1:~# kubectl describe rolebindings rb-cicd-token -n app-team1 
Name:         rb-cicd-token
Labels:       <none>
Annotations:  <none>
Role:
  Kind:  ClusterRole
  Name:  deployment-clusterrole
Subjects:
  Kind            Name        Namespace
  ----            ----        ---------
  ServiceAccount  cicd-token  app-team1

什么是RoleBinding

RoleBinding通过已经定义的Role权限授予到用户、用户组,从而让用户获得在NameSpace对应的操作资源权限。
RoleBinding基本操作
通过YAML资源定义清单创建RoleBinding
kubectl apply -f pod-rolebinding.yaml
apiVersion: rbac.authorization.k8s.io/v1beta1 kind: RoleBinding metadata: name: pod-rolebinding namespace: default subjects: - kind: User name: carry apiGroup: rbac.authorization.k8s.io roleRef: kind: Role name: pod-role apiGroup: rbac.authorization.k8s.io

什么是ClusterRoleBinding

ClusterRoleBinding通过已经定义的ClusterRole权限授予到用户或用户组,从而让用户获得集群内对应的操作资源权限。
ClusterRoleBinding基本操作
通过YAML资源定义清单创建ClusterRoleBinding
kubectl apply -f pod-clusterrolebinding.yaml
apiVersion: rbac.authorization.k8s.io/v1beta1 kind: ClusterRoleBinding metadata: name: pod-clusterrolebinding subjects: - kind: Group name: super-admin apiGroup: rbac.authorization.k8s.io roleRef: kind: ClusterRole name: pod-clusterrole apiGroup: rbac.authorization.k8s.io

相关参数

RoleBinding、ClusterRoleBinding绑定的Subject对象可以是User、Group、Service Account

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_44303766/article/details/128824371

关于数据权限的设计_m0_68459853的博客-爱代码爱编程

在项目实际开发中我们不光要控制一个用户能访问哪些资源,还需要控制用户只能访问资源中的某部分数据。 控制一个用户能访问哪些资源我们有很成熟的权限管理模型即RBAC,但是控制用户只能访问某部分资源(即我们常说的数据权限)使用RBAC模型是不够的,本文我们尝试在RBAC模型的基础上融入数据权限的管理控制。 首先让我们先看下RBAC模型。 RBAC模型

【cka、cks篇】cka真题解析—rbac权限控制_傻啦猫@_@的博客-爱代码爱编程

前言 这个专栏我们进行CKA和CKS的真题讲解,题目出自CKA和CKS题库。掌握了这些题目,对于 CKA和CKS考试将会变得非常简单。根据以往的经验,甚至有原题出现,最多就是参数等的变 化。由于资料是花钱买的,所以这个专栏

【cka、cks篇】cka真题解析—rbac权限控制扩展_傻啦猫@_@的博客-爱代码爱编程

扩展 对于题目中涉及到的知识点,我进一步补充说明。 1. RBAC授权模型: RBAC是Role Based Access Control的英文缩写,意思是基于角色的访问控制。 其中涉及到了下面几个概念: 对象

cka备战04-爱代码爱编程

做之前记得切换到对应context : kubectl config use-context k8s Q1:RBAC Create a new ClusterRole named deployment-clusterrole at only allows the creation of the following resource type

花40天啃完这份微服务架构笔记,终于挺进腾讯t3,它太重要了-爱代码爱编程

都2023年了 还没用过微服务吗? 面试的时候高并发回答的总是不能让面试官满意? 一个互联网项目究竟有多少细节? 网上搜了一堆秒杀系统方案,究竟真实的线上电商该怎么做? 你缺乏这两个字 实战 消除痛点 解决面试 积累实战经验 但是这个过程,具体应该怎么做?现有的条件下到底要不要做微服务?服务拆分成什么粒度才是合适的?有哪些坑需