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

k8s基于rbac权限管理serviceAccount授权管理

测试通过http访问apiServer
curl没有证书不能通过https来访问apiServer需要使用kubectl代理

#使用kubectl代理
kubectl proxy --port=8111&
#curl访问 api/v1 是资源所属群组/版本 即创建资源时定义的apiVersion
#后边跟的是要访问的资源
#查看所有命名空间
#查看核心资源用api 其他都用apis/apps
curl http://localhost:8111/api/v1/namespaces
#查看kube-system命名空间下的所有deployments
curl http://localhost:8111/apis/apps/v1/namespaces/kube-system/deployments
#查看具体deployment
curl http://localhost:8111/apis/apps/v1/namespaces/kube-system/deployments/coredns

k8s认证授权分两类
一类是集群外访问apiServer
一类是集群内部资源的认证授权例如对pod.svc等资源
每个pod在创建时 都会有个默认的认证信息 例如:

Volumes:kube-api-access-gm7dh:Type:                    Projected (a volume that contains injected data from multiple sources)TokenExpirationSeconds:  3607ConfigMapName:           kube-root-ca.crtConfigMapOptional:       <nil>DownwardAPI:             true

k8s 默认使用serviceAccount管理权限
serviceAccount本身不对权限管理 只是创建个账号 进行认证
授权是rbac来管理

#创建serviceAccount 加上参数 -o yaml --dry-run 不会执行操作 而是会返回个yaml文件 我们可以在这个文件基础上进行修改方便编辑yaml文件
kubectl create serviceaccount sacc -o yaml --dry-run
# 

创建serviceAccount

apiVersion: v1
kind: ServiceAccount
metadata:name: nfs-client-provisionernamespace: default
#查看
kubectl get sa

对应pod

apiVersion: v1
kind: Pod
metadata:name: sa-nginx-podnamespace: default
spec:containers:- name: nginx-containersimage: docker.io/library/nginxserviceAccountName: ssa-test

查看 kubectl 配置

#查看kubectl 配置 包括连接的集群 账号等
kubectl config view

rbac授权方式

kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:name: cluster-role-test
rules:- apiGroups: [""]resources: ["persistentvolumes"]verbs: ["get", "list", "watch", "create", "delete"]- apiGroups: [""]resources: ["persistentvolumeclaims"]verbs: ["get", "list", "watch", "update"]- apiGroups: ["storage.k8s.io"]resources: ["storageclasses"]verbs: ["get", "list", "watch"]- apiGroups: [""]resources: ["events"]verbs: ["create", "update", "patch"]
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:name: cluster-role-binding-test
subjects: #sa对象绑定到角色- kind: ServiceAccountname: ssa-test #sa对象namespace: default
roleRef:kind: ClusterRolename: cluster-role-test #角色apiGroup: rbac.authorization.k8s.io

ClusterRole与Role区别 :
ClusterRole不限制namespace
Role:只能限制在一个namespace中

http://www.lryc.cn/news/152502.html

相关文章:

  • linux URL访问工具
  • CCF-CSP 29次 第五题【202303-5 施肥】
  • 前端基础4——jQuery
  • 测试人:“躺平?不可能的“, 盘点测试人在职场的优势
  • C++:初识类与this指针
  • 2023应届生java面试紧张失误之一:CAS口误说成开心锁-笑坏面试官
  • Excel_VBA程序文件的加密及解密说明
  • Flutter关于StatefulWidget中State刷新时机的一点实用理解
  • CS420 课程笔记 P2 - 内存编辑和基础的 GameHacking 尝试
  • 【sql】MongoDB 查询 高级用法
  • 监督学习的介绍
  • 【DRONECAN】(三)WSL2 及 ubuntu20.04 CAN 驱动安装
  • Databricks 入门之sql(二)常用函数
  • Simulink建模与仿真(3)-Simulink 简介
  • (超简单)将图片转换为ASCII字符图像
  • In-Context Retrieval-Augmented Language Models
  • 多种免费天气api
  • 深度学习推荐系统(五)DeepCrossing模型及其在Criteo数据集上的应用
  • 图神经网络教程之HAN-异构图模型
  • Jupyter lab 配置
  • 股票行情处理:不复权,前复权,后复权
  • ip地址、LINUX、与虚拟机
  • MySQL存储过程
  • element-ui 自定义loading加载样式
  • 04-Apache Directory Studio下载安装(LDAP连接工具)
  • vmware虚拟机(ubuntu)远程开发golang、python环境安装
  • Elasticsearch文档多个输入字段组成ID实现方法
  • 编译链接实战(15)rdynamic选项的用途
  • 前端:js实现提示框(自动消失)
  • powerpc架构的前世今生