k8s-RBAC

article/2025/8/26 20:57:45

一、认证及sa

1.进入到证书目录

cd /etc/kubernetes/pki/

2.创建kxq用户的私钥

(umask 077; openssl genrsa -out kxq.key 2048 )

3.创建kxq用户的证书

openssl req -new -key kxq.key -out kxq.csr -subj "/CN=kxq"

4.利用ca.crt,ca.key进行签证

[root@master pki]# openssl x509 -req -in kxq.csr -CA ./ca.crt -CAkey ./ca.key -CAcreateserial -out kxq.crt -days 365
Signature ok
subject=/CN=kxq
Getting CA Private Key

5.查看证书

[root@master pki]# openssl x509 -in kxq.crt -text -noout
Certificate:Data:Version: 1 (0x0)Serial Number:b4:37:49:0b:95:9e:00:8fSignature Algorithm: sha256WithRSAEncryptionIssuer: CN=kubernetesValidityNot Before: Dec 20 10:00:38 2020 GMTNot After : Dec 20 10:00:38 2021 GMTSubject: CN=kxqSubject Public Key Info:Public Key Algorithm: rsaEncryptionPublic-Key: (2048 bit)Modulus:00:be:96:97:ca:44:07:cc:6b:82:44:f5:5c:d8:70:e3:bf:83:4b:8c:eb:91:27:42:f8:a7:b5:95:db:45:27:6b:b2:16:84:a7:6d:4f:03:6d:2f:a7:7d:05:79:fd:18:84:2d:e7:93:eb:46:90:0a:74:cc:b0:4d:78:7b:a2:30:55:94:dd:01:6d:ce:04:79:a0:4f:c1:15:77:b4:dd:dd:19:4d:7c:e3:0e:bb:4d:36:69:f9:40:14:2e:24:03:4c:85:d5:65:ad:04:4a:c4:38:45:46:40:bd:45:17:90:39:f3:49:fe:f0:1e:73:35:e7:74:b5:94:de:3c:27:50:97:94:25:f9:b4:87:c1:46:8f:c4:24:f5:24:6e:28:88:be:28:81:2a:f9:bc:14:a3:5a:a5:74:bb:63:77:4d:22:af:2c:b1:3a:7f:24:12:70:26:34:57:40:a0:18:27:10:6c:73:27:a4:30:08:8f:d9:e9:35:6f:da:70:a3:62:c8:9a:9f:56:8a:ca:cb:4f:82:74:73:d3:ae:55:83:b2:3e:e2:99:67:8c:b0:2a:ad:97:a0:46:a5:d7:d6:de:36:9b:7c:75:2d:15:f0:8e:bd:0b:d9:4c:cb:fd:d4:f4:ab:cc:cb:33:05:10:12:eb:e9:16:40:16:34:7d:f7:9c:7c:31:e9:ec:7dExponent: 65537 (0x10001)Signature Algorithm: sha256WithRSAEncryption52:76:fe:7f:69:53:af:bb:aa:d0:f5:18:d6:3f:f5:83:d1:30:56:04:8c:9c:45:6d:45:3c:33:90:44:be:a4:18:11:3a:0f:a5:63:fc:bc:20:ea:c6:51:b4:11:04:7d:ee:28:bc:30:80:11:31:21:22:a4:43:6e:e0:eb:b4:97:d6:1e:5b:d2:2f:34:99:68:e3:5d:21:36:eb:c7:fc:50:b4:69:95:9a:19:93:c8:4a:e4:d7:7b:76:a9:1d:e1:44:ce:49:94:a2:0e:d2:e6:cd:79:50:23:f3:e2:35:8a:50:71:46:2a:9c:ed:5f:40:36:98:18:ed:fb:01:f5:a5:a5:e0:bf:a0:90:fc:c9:ad:85:69:06:16:8f:40:a7:3e:02:ef:7b:09:20:39:32:4a:79:00:f2:9e:34:cb:16:24:b3:94:db:13:23:23:ca:e6:ac:94:90:b7:b2:57:ca:ed:09:a7:a0:00:d7:d1:65:e8:1a:eb:de:04:ad:f1:b2:7b:4b:ab:01:44:4e:c9:86:5e:4c:c2:b0:8d:67:c2:82:7b:b9:74:4e:f3:26:ec:5a:22:5d:60:a6:2a:b5:e1:92:27:3c:15:e4:06:38:b7:ed:19:d9:8c:d1:06:54:32:b8:e6:d1:aa:d2:69:37:29:85:a6:ed:07:93:a2:ae:21:04:ae:97:47

6.设置用户账号信息添加到去认证k8s集群的信息

[root@master pki]# kubectl config set-credentials kxq --client-certificate=kxq.crt --client-key=kxq.key --embed-certs=true
User "kxq" set.

7.查看

在这里插入图片描述
8.设置上下文

[root@master pki]# kubectl config set-context kxq@kubernetes --cluster=kubernetes --user=kxq
Context "kxq@kubernetes" created.

在这里插入图片描述

9.设置当前上下文

[root@master pki]# kubectl config use-context kxq@kubernetes 
Switched to context "kxq@kubernetes".

此时kubectl get pods是访问不了任何资源的。
(集群我们没有设置,可以使用kubectl config set-cluster --help 查看如何设置)

10.设置集群

[root@master pki]# kubectl config set-cluster mycluster --kubeconfig=/tmp/test.conf --server="https://192.168.10.180:6443" --certificate-authority=/etc/kubernetes/pki/ca.crt --embed-certs=true
Cluster "mycluster" set.
[root@master pki]# cat /tmp/test.conf
apiVersion: v1
clusters:
- cluster:certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM1ekNDQWMrZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJd01USXdNVEF4TXpJMU4xb1hEVE13TVRFeU9UQXhNekkxTjFvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTjBMCldmbUJIdEc5a2lycVZ4U3U3WEtETm05QjdZcTNlSjRvaFVPZ2JFQjZZYVNYNU5ENnZXWDFLS2lWZWRoMGZTc3UKVEQyTFBSYVNqSXVlOXNpOERxWWR5aVlPVlNETFl1bzNzTnB3MmkwK1hJd0FnQVJQd215YzdGUVR3ckxxcDdPRgpsZVowejdndlQ5NHB3REhpZXJRdGVNSlZ5cXkrenRvcnA3bXZHNXEzV0Jtc3ZVRFByVytiRHlFRFozKzVlMXpZCkVXaWtQeDRwclRQb2RCaHNVWG1ZRVNQMzhsd0dTN2xNZVJabnBwck9oWlk4MGVzcXFHUyt2YndIbmpaOEhQc3kKZDlkaStJWDBrTXoyUHBWWmJVK1Q4a3FZM1F6blZ6Qm13OEtSd2czRi8wMm5raVNzU09JbEU4NGRtMzJJY1JOKwpZamp1ZWZuVnNKL3JralE4eUVFQ0F3RUFBYU5DTUVBd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0hRWURWUjBPQkJZRUZJVjhCSUN2a01QelkyYmZVdnRFdWgybHV4OFVNQTBHQ1NxR1NJYjMKRFFFQkN3VUFBNElCQVFCOFExMkxiLzcvcGRXZDNuWjEyMUFobS9QZFdHbkxLSWVqdUtxbEVVRWc5cFJEcGI5Mwppbjg4TmpIVFRnY2ZScE5zbzZjYnJmUEtCRW10Sk9XRjRFWWdDdThXb0loV0ZPWXRqckdKZUtkOGhTbS9XY2M3Cm9nN1YxKzQ0MkxsYS81Wk9SRHlmRmhTeThtRit3ZnBoQ25mTklGUW4veGY2ME1WWWJ3YkJhL3ord0J2Uis4UmgKTS91NG9hNFU5aUhDRkE4UFhOU0ZKUGdWdVFSUU5lSDNOSDhrU1FtSk9MbC95MWRmYXoxMFlQWmNsSkZFQ1pRegpobXFPMGpMR29QbVlERGtrY0E5NTdCa1NRTTRvSy9nQkdmSENpOU1UTFdHaCtRNDRyZXFTbjBOQWQvYzM3Z0g3Cm1XL0tqeDkzRlJCdnAzcUdLeklVaWFjSU5XUE9DTWdjMUNsZwotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==server: https://192.168.10.180:6443name: mycluster
contexts: null
current-context: ""
kind: Config
preferences: {}
users: null

也可以查看我的另一篇文章:k8s-Authorization鉴权

二、RBAC授权

我测试的是基于user用户的,更多可以访问官网:https://kubernetes.io/zh/docs/reference/access-authn-authz/rbac/
1.查看创建的方法:

kubectl create role --help

2.创建简单的role

[root@master helm]# kubectl create role pods-reader --verb=get,list --resource=pods --dry-run=client -o yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:creationTimestamp: nullname: pods-reader
rules:
- apiGroups:- ""resources:- podsverbs:- get- list

3.rolebinding

[root@master rbac]# cat read-pods-rolebinding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:name: kxq-read-pods
roleRef:apiGroup: rbac.authorization.k8s.iokind: Rolename: pods-reader
subjects:
- apiGroup: rbac.authorization.k8s.iokind: Username: testuser

4.clusterrole

[root@master rbac]# cat cluster-role-reader.yaml 
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:creationTimestamp: nullname: cluster-reader
rules:
- apiGroups:- ""resources:- podsverbs:- get- list- watch

5.clusterrolebinding

[root@master rbac]# cat clusterrolebinding.yaml 
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:creationTimestamp: nullname: kxq-read-all-pods
roleRef:apiGroup: rbac.authorization.k8s.iokind: ClusterRolename: cluster-reader
subjects:
- apiGroup: rbac.authorization.k8s.iokind: Username: kxq

http://chatgpt.dhexx.cn/article/kjjUrhQX.shtml

相关文章

【Kubernetes系列】Kubernetes管理工具Kuboard的安装使用

目录 一、Kuboard 简介二、安装方式三、安装四、升级1.停止已有 kuboard 容器2.使用新版本的镜像启动 kuboard 五、访问 一、Kuboard 简介 Kuboard 是一款专为 Kubernetes 设计的免费管理界面,提供了丰富的功能,结合已有或新建的代码仓库、镜像仓库、CI…

linux下kegg注释软件,工具篇丨GO和KEGG富集不到通路?快试试这个超赞的功能分析工具吧...

原标题:工具篇丨GO和KEGG富集不到通路?快试试这个超赞的功能分析工具吧 i生信 专注生物分析最前沿 定期解读生信文章 提供生信分析思路和套路 方便大家短平快发SCI GO和KEGG富集分析是我们在筛选出差异表达基因之后,都会去做的套路性分析。然鹅……我相信,总有那么一些“倒…

Kubernetes: Overview, Kaniko Helm

文章目录 OverviewConceptHardware1. Node2. Cluster3. Persistent Volumes Software1. Container2. Pod3. Deployment4. Ingress Kanikousing dockerusing k8s Helm Overview **kubelet: **An agent that runs on each node in the cluster. It makes sure that containers ar…

Kubernetes-Kuboard

前言 本篇是Kubernetes第十五篇,大家一定要把环境搭建起来,看是解决不了问题的,必须实战。 Kubernetes系列文章: Kubernetes介绍Kubernetes环境搭建Kubernetes-kubectl介绍Kubernetes-Pod介绍(-)Kubernetes-Pod介绍(二)-生命周期Kubernete…

Kuboard

安装 Kuboard 之前,假设: 您已经准备好了一个 Linux 服务器用于安装 Kuboard-V3,并且该机器上的 docker 版本不低于 19.03用于安装 Kuboard v3.x 的机器已经安装了 docker,并且版本不低于 docker 19.03您已经有自己的 Kubernetes…

KEGG数据库以及 KAAS 网站注释

1. KEGG 现在自己用到的KEGG数据库主要是功能注释,下面谈一下我再用KEGG 时候的经验吧。 首先在kaas上传数据做基因的注释。 我们用的是prokka注释过后的faa文件:是蛋白序列。 当然基因序列也可以。 kaas 比对网站 https://www.genome.jp/tools/kaas/ 得…

0055-【生物数据库】-如何进行RNA差异基因KEGG注释分析-kobas在线分析

1. 有参物种使用gene ID的方法 1. 差异基因文件准备 只需要用到两列 ENTREZ_GENE_IDlogFC geneNames ENTREZ_GENE_ID normalAve tumorAve logFC pValue qValue CCL23 6368 95.05964624 5.566645819 -4.066608903 2.07E-31 5.99E-29 COLEC10 10584 …

富集分析:(一)概述

(全文约6600字) 1. 富集分析 1.1. 富集分析概念 富集分析 富集分析,本质上是对数据的分布检验,如果分布集中在某个区域,则认为富集。 常用的分布检验方法有卡方检验、Fisher精确检验以及KS检验等方法。 生物信息…

NAR|北大/中科院计算所团队发布基因功能富集分析平台KOBAS-i

近日,国际知名期刊《核酸研究》(Nucleic Acids Research,IF:16.971)在线发表了北京大学孔雷课题组与中国科学院计算技术研究所赵屹研究员课题组合作开发的基因功能富集平台KOBAS-i (网址http://kobas.cbi.pku.edu.cn/ 或http://bioinfo.org/kobas)&#…

linux下kegg注释软件,网页工具KOBAS进行KEGG富集分析

KOBAS的介绍 KOBAS是北大生物信息中心研发的一个网页工具,用来基因/蛋白功能注释(注释模块)和功能基因集富集(富集模块)。以下是KOBAS的英文介绍: KOBAS 3.0 is a web server for gene/protein functional annotation (Annotate module) and functional …

KOBAS 3.0学习

在线通路注释,一般使用DAVID、KASS、KOBAS等工具。 Kobas : KOBAS(基于KEGG Orthology Based Annotation System)是用于基因/蛋白质功能注释(注释模块)和功能集富集(Enrichment module)的Web服…

KOBAS数据库使用指南

KOBAS(KEGG Orthology Based Annotation System),,是由北京大学魏文丽课题组开发的数据库,主要功能是用于基因/蛋白质功能注释和功能富集。随着数据量不断增加,KOBAS至今为止共经历了3次升级,除…

盒须图

盒须图会表示出数据的散布情况 1.找到中位数 2.找到小于中位数的数据中的中位数 3.找到大于中位数的数据中的中位数 得到下四分位数和上四分位数 视频链接:https://www.bilibili.com/video/av45395982?p9

Echarts -盒须图的使用说明

画盒须图需要dataTool.js !function(e,t){"object"typeof exports&&"object"typeof module?module.exportst(require("echarts")):"function"typeof define&&define.amd?define(["echarts"],t):"ob…

关于油气田完整周期的筛选与盒须图的制作

1.筛选具有完整周期的油气田: 具有完整周期的油气田包括三个标签: - discovery year-勘探时间- fid year-建产时间,(FID是投资决策的意思)- production start year-开发时间(透视表数据来自于原数据&#x…

Matplotlib 盒须图 (Box-and-whisker plot)

– Start import numpy as np import matplotlib.pyplot as plt from random import sampledata np.random.normal(0, 1, 100)# 盒须图 plt.boxplot(data, vertFalse); plt.show()– 更多参见:Matplotlib 精萃 – 声 明:转载请注明出处 – Last Update…

113Echarts - 盒须图(Boxplot Light Velocity)

效果图 源代码 <!DOCTYPE html> <html><head><meta charset"utf-8"><title>ECharts</title><!-- 引入 echarts.js --><script src"js/echarts.min.js"></script><script src"dist/extensi…

举个栗子!Tableau 技巧(84):使用盒须图查看你的数据分布

关于盒须图 英文&#xff1a;Box-plot&#xff0c;又称为箱形图、盒式图或箱线图&#xff0c;是一种用作显示一组数据分散情况资料的统计图。在各种领域经常被使用&#xff0c;较多用于品质管理。 如果你想显示一组数据的分布情况&#xff1a;例如&#xff1a;一目了然地理解数…

echart自定义图分享之自定百分比的(箱线图/盒须图)

echarts自定义图之自定百分比的(箱线图/盒须图)&#xff1a; 分享一些自己在工作中遇到的非常规图 创作原因&#xff1a;因客户需要指定样式的箱线图图&#xff08;七分位&#xff0c;存在非固定分位&#xff1a;10%&#xff0c;90%&#xff0c;并且能查看每个分位的具体值&a…

echarts-箱线图(盒须图)

搞了一套和官网不同的option&#xff0c;也能渲染出效果来&#xff0c;虽然我不知道这个箱线图有啥意义啊哈哈哈~ 需求&#xff1a;填充背景色(中间的横线我是真的无能为力了&#xff0c;有搞出来的小伙伴欢迎留言) 剩下的一些自定义轴刻度显示、tooltip的自定义就很常规了。。…