今天继续给大家介绍Linux运维相关知识,本文主要内容是Kubernetes Role创建和Rolebinding。

一、Kubernetes Role创建

首先,我们先来创建一个Role。我们可以通过两种方式来创建Role,一种是通过命令的方式创建,Role创建命令格式如下:

kubectl crate role 【Role名称】 --verb=【该Role所具有的权限】 --resources=【该Role所能控制的对象】

例如,执行命令:

kubectl crate role pods-reader --verb=get,list,watch --resources=pods

就可以创建一个名为pods-reader的Role,并且该Role拥有对Pod资源的查看权。
此外,我们还可以通过资源清单的方式来配置,与上文命令相同的资源清单配置如下:

apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:name: pod-reader
rules:
- apiGroups:- ""resources:- podsverbs:- get- list- watch

配置好的清单如下:

在上述清单中,我们使用了verbs来指定权限,使用resources来指定资源对象。之后,我们执行命令:

kubectl apply -f role.yaml

来执行该清单创建Role,该命令执行结果如下所示:

我们来查看当前的Role,结果如下:

二、Kubernetes Rolebinding

在Kubernetes详解(五十一)——Kubernetes用户创建一文中,我们为Kubernetes集群创建了一个pzz的用户。接下来,我们创建一个Rolebinding,将该用户绑定我们刚刚创建的Role。
Rolebinding的创建也有两种方式,一种是通过命令的方式创建,另一种是通过资源清单的方式创建。
Kubernetes集群创建Rolebinding的命令格式如下:

kubectl create rolebinding 【Rolebinding名】 --role=【Role名】 --user=【用户名】

例如,我们执行命令:

kubectl create rolebinding bind-pod-reader --role=pods-reader --user=pzz

即可创建名为bind-pod-reader的Rolebinding,将pzz用户和pods-reader权限绑定在一起。
除此之外,我们还可以使用资源清单的方式创建该Role,与上述命令作用相同的资源清单如下:

apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:name: bind-pod-reader
roleRef:apiGroup: rbac.authorization.k8s.iokind: Rolename: pod-reader
subjects:
- apiGroup: rbac.authorization.k8s.iokind: Username: pzz

在上述配置中,我们使用了RoleRef来指定Role,使用了subjects来指定User。
配置完成后的资源清单文件如下:

在资源清单文件配置完成后,我们执行命令:

kubectl apply -f rolebinding.yaml

根据我们配置的资源清单创建Rolebinding,该命令执行结果如下所示:

之后,我们查看该Rolebinding,执行命令:

kubectl describe rolebinding bind-pod-reader

该命令执行结果如下所示:

三、效果展示

最后,我们用pzz用户登录,查看是否有相应的权限,执行命令:

kubectl config use-context pzz@kubernetes

可以将当前用户切换到pzz,之后,我们尝试查看default的Pods和kube-system的Pods,结果如下所示:

从上图可以看出,我们的pzz用户已经具有了对namespace名称空间内的Pod的访问权限,但是没有对kube-system名称空间的权限,我们的Rolebinding绑定Role和用户实战成功!
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

Kubernetes详解(五十三)——Kubernetes Role创建和Rolebinding相关推荐

  1. Kubernetes详解(五十一)——Kubernetes用户创建

    今天继续给大家介绍Linux运维相关知识,本文主要内容是Kubernetes用户创建. 在上文Kubernetes详解(五十)--Kubernetes权限配置中,我们介绍了Kubernetes的con ...

  2. Kubernetes详解(三十九)——Storage Class

    今天继续给大家介绍Linux运维相关知识,本文主要内容是Storage Class相关内容. 一.Storage Class简介 在前文Kubernetes详解(三十八)--NFS对PVC和PV使用实 ...

  3. WEB前端之网页设计③----最新最全详解/如何在网页上创建表格

    WEB前端之网页设计③--最新最全详解/如何在网页上创建表格 一.表格效果图1: <table border="0px" cellspacing="1px" ...

  4. mysql如何进行压测_详解MySQL如何按表创建千万级的压测数据

    有时我们要对系统做压测,或者数据库压力测试,这时候需要对某些表插入几百万或者上千万数据,下面介绍下怎么利用MySQL循环和存储过程对特定表的创建千万行数据. 1. 准备测试表 CREATE TABLE ...

  5. Masonry自动布局详解五:比例(multipliedBy)

    Masonry自动布局详解五:比例(multipliedBy) 标签: iosmasonryautolayout自动布局约束 2015-11-30 16:30 1816人阅读 评论(0) 收藏 举报 ...

  6. PackageManagerService启动详解(五)之Android包信息体和解析器(中)

        PKMS启动详解(五)之Android包信息体和包解析器(中) Android PackageManagerService系列博客目录: PKMS启动详解系列博客概要 PKMS启动详解(一)之 ...

  7. kubernetes 详解(中)

    十三.kubernetes高级调度 1.CronJob Job可以干什么: 更简单的计划任务CronJob: CronJob用于以时间为基准周期性地执行任务,这些自动化任务和运行在Linux或UNIX ...

  8. Kubernetes详解(三十七)——PV与PVC

    今天继续给大家介绍Linux运维相关知识,本文主要内容是Kubernetes PV与PVC. 一.PV和PVC详解 当前,存储的方式和种类有很多,并且各种存储的参数也需要非常专业的技术人员才能够了解. ...

  9. 《Android群英传》读书笔记 (5) 第十一章 搭建云端服务器 + 第十二章 Android 5.X新特性详解 + 第十三章 Android实例提高...

    第十一章 搭建云端服务器 该章主要介绍了移动后端服务的概念以及Bmob的使用,比较简单,所以略过不总结. 第十三章 Android实例提高 该章主要介绍了拼图游戏和2048的小项目实例,主要是代码,所 ...

最新文章

  1. GNU make manual 翻译( 一百二十一)
  2. Linux 网络层收发包流程及 Netfilter 框架浅析
  3. linux系统的运行定义在,Linux系统运行级管理
  4. 转】Eclipse编辑Spring配置文件xml时自动提示类class包名
  5. 在Visual C++中用ADO进行数据库编程(下)
  6. 运用循环判断语句和列表的购物车程序
  7. 并发框架Disruptor
  8. maven05----maven仓库
  9. CCF201812-3 CIDR合并(100分)【位运算+文本】
  10. 如何安装和配置Tomcat(全网最详)
  11. MyBatis和Hibernate的优缺点对比。
  12. Cocos2d-js 音乐or音效
  13. 如何实现幻灯片效果/图片轮播
  14. 百分六用计算机该怎么算,24975000的百分之五是多少,用计算器怎么算?
  15. 借助工业网关如何实现罗克韦尔PLC的远程监控和维护?
  16. 如何快速一次性卸载所有python包(第三方库)呢?
  17. 基于5G森林防火无线监控解决方案
  18. 有关/mnt/asec /mnt/secure文件夹及app2sd原理
  19. python批量运行cmd_python 之多主机批量执行命令
  20. 大一小妹儿在线求解答???

热门文章

  1. HPE CEO为其超融合新品吹风
  2. java浅拷贝和深拷贝的区别_Java 浅拷贝与深拷贝的区别
  3. python计算字符串长度(中文算2个字符)
  4. 如何选择办公软件(是WPS还是Office)
  5. 抖音爆粉的方法该怎么玩
  6. css 给文字添加下划线
  7. pyqt5制作简单的视频播放器(一):界面制作
  8. 发明iPod的人,现在在造儿童智能电动汽车,功能逆天
  9. [PHP 类库] Monolog - Logging for PHP 5.3+
  10. 系统架构设计笔记(102)—— 反不正当竞争法