
自定义
API
服务器
|
257
这个服务账号需要一系列的权限,可以通过
RBAC
对象来添加。
8.5.2
设置
RBAC
API
服务的服务账号首先需要一些通用的权限:
命名空间生命周期
只能在现有的命名空间中创建对象,当命令空间被删除时对象也会被删除。
为了实现这一点,
API
服务器需要能对命名空间进行读取、列表和
Watch
的操作。
准入
Webhook
通过
MutatingWebhookConfigurations
和
ValidatedWebhookConfigurations
配置的准入
Webhook
会被每个
API
服务器单独调用。对于我们的自定义
API
服务器来说,实现这种准入机制需要能读取、列表和
Watch
这些资源。
我们可以创建
RBAC
集群角色来配置它们:
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: aggregated-apiserver-clusterrole
rules:
- apiGroups: [""]
resources: ["namespaces"]
verbs: ["get", "watch", "list"]
- apiGroups: ["admissionregistration.k8s.io"]
resources: ["mutatingwebhookconfigurations", "validatingwebhookconfiguratio
ns"]
verbs: ["get", "watch", ...