kubernetes
  • Introduction
  • 安装
    • 组件端口
    • 二进制安装
    • Kubeadm
      • 安装单Master集群
      • 安装高可用集群(手动分发证书)
      • 安装高可用集群(自动上传证书)
      • 安装ETCD集群
      • 安装高可用集群(外部ETCD)
    • 启动参数解析
      • ETCD相关参数
  • 负载均衡
    • Service
    • Ingress
    • 安装MetalLB
    • Nginx-ingress-controller
      • 转发TCP与UDP服务
      • 启动参数
      • 自定义Nginx模板
  • 存储
    • Volume
    • PV与PVC
    • StorageClass
    • Local-PV
      • Static-Provisioner
    • 实践
      • Ceph-RBD
      • NFS
  • 有状态服务
    • Mysql实践
    • Operator
      • Etcd
      • Zookeeper
      • Mysql
  • 认证与授权
    • 认证
      • 实践
    • 授权
  • Helm
    • 安装
    • Chart
      • 依赖
    • Helm命令
    • Repository
  • 日志
  • 监控
    • Prometheus体系
      • Prometheus
        • 内置函数
        • 配置
          • 规则文件
        • PromQL
      • Exporter
        • Metrics
      • Grafana
        • 配置
      • AlertManager
        • 配置
    • 容器监控
      • Cadvisor的指标
      • k8s中部署Prom与Cadvisor
  • Istio
  • 资源预留
    • imagefs与nodefs
    • 总结
  • 集群联邦
    • 联邦DNS原理
    • 联邦DNS安装
    • 安装federation-v1
  • Other
    • ImagePullSecret
    • QOS
    • Apiserver的代理
    • 资源配额
Powered by GitBook
On this page

Was this helpful?

  1. 认证与授权

授权

授权有很多种模式,最常见的有

  • AlwaysAllow:即只要认证通过,API请求就正常返回

  • AlwaysDeny:即使认证通过,也无权限

  • RBAC

  • 等等

在这里面,最重要的就是RBAC的授权策略,本节将详细地介绍。

RBAC中有四个重要的资源对象:Role、ClusterRole、RoleBinding、ClusterRoleBinding。

Role与ClusterRole是对k8s中资源的操作权限的集合,Role是命名空间级别的,ClusterRole是集群级别的。

下面是一个Role的例子

apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  namespace: user-a
  name: pod-reader
rules:
- apiGroups: [""]   # /api/v1
  resources: ["pods"]
  verbs: ["get", "list"]

它所对应的API就是

GET /api/v1/namespaces/user-a/pods/<pod>
GET /api/v1/namespaces/user-a/pods

下面是一个RoleBinding

apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: pod-reader
  namespace: user-a
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: Role
  name: pod-reader 
subjects:
- apiGroup: rbac.authorization.k8s.io
  kind: User
  name: user-a
Previous实践NextHelm

Last updated 5 years ago

Was this helpful?