前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Kubernetes-Rbac

Kubernetes-Rbac

作者头像
Yuou
发布2022-09-26 15:08:12
2160
发布2022-09-26 15:08:12
举报
文章被收录于专栏:乱七八糟技术日常
  • Kubernetes中的基于角色的访问控制

  • Role ClusterRole(角色)
    • 主体如下
    • User
    • Group
    • ServiceAccount

一般选择角色与主体进行绑定

角色

当角色可以做什么事情的时候,主体就可以做什么操作

  • Role:特定的命名空间的访问权限
  • Cluster Role: 所有命名空间的访问权限

角色绑定

  • roleBinding: 角色绑定到主体
  • ClusterRoleBinding: 集群角色绑定到主体

主体

  • user:用户
  • group:用户组
  • ServiceAccount:服务账户(一般用于Pod访问)

创建命名空间

代码语言:javascript
复制
kubectl create ns roletest

在新的空间中创建Pod

代码语言:javascript
复制
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-dep
  namespace: roletest
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.7.9
        ports:
        - containerPort: 80

创建一个角色

代码语言:javascript
复制
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  namespace: roletest
  name: Pod-role
rules:
- apiGroups: [""] 
  resources: ["pods"] # 只对pods有权限
  verbs: ["get","watch","list"] # 只拥有get watch list权限

绑定一个用户

代码语言:javascript
复制
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: read-pods
  namespace: roletest
subjects:
- kind: User
  name: alex
  apiGroup: rbac.authorization.k8s.io
roleRef:
  kind: Role
  name: Pod-role
  apiGroup: rbac.authorization.k8s.io
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 角色
  • 角色绑定
  • 主体
  • 创建命名空间
  • 在新的空间中创建Pod
  • 创建一个角色
  • 绑定一个用户
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档