1.题目概述
- 创建名称 deployment-clusterrole 的 ClusterRole
- 该角色具备创建 Deployment、Statefulset、Daemonset 的权限
- 在命名空间 app-team1 中创建名称为 cicd-token 的 ServiceAccount
绑定 ClusterRole 到 ServiceAccount,且限定命名空间为 app-team1
2.解析
需要熟悉创建 serviceaccount、clusterrole 和 rolebinding 的方法
- 需要限定在 ns 级别,因此最好使用 rolebinding
3.参考答案
# 创建命名空间kubectl create ns app-team1# 创建clusterrolekubectl create clusterrole deployment-clusterrole \--verb=create --resource=deployment,statefulset,daemonset# 创建serviceaccountkubectl create sa cicd-token -n app-team1# 创建rolebinding,绑定账号和角色kubectl create rolebinding test-rb -n app-team1 \--clusterrole=deployment-clusterrole --serviceaccount=app-team1:cicd-token
4.验证
# 返回yes则成功,no反之kubectl -n app-team1 auth can-i create deployment \--as=system:serviceaccount:app-team1:cicd-token
