LAB-01:权限控制RBAC
LAB-01:权限控制RBAC
LAB 需求
创建一个名为 deployment-clusterrole 的 clusterrole,并且对该 clusterrole 只绑定对 Deployment,Daemonset,Statefulset 的创建权限。
在指定 namespace 为 app-team1 下,创建一个名为 cicd-token 的 serviceaccount,并且将上一步创建 clusterrole 和该 serviceaccount 绑定。
LAB 预配
# 创建 namespace 资源,名称为 app-team1
user1@k8s-master:~/cka/1$ cat ns-app-team1.yml
apiVersion: v1
kind: Namespace
metadata:
name: app-team1
# 部署 namespace 资源
user1@k8s-master:~/cka/1$ kubectl apply -f ns-app-team1.yml
namespace/app-team1 created
# 查看 namespace 资源
user1@k8s-master:~/cka/1$ kubectl get ns app-team1
NAME STATUS AGE
app-team1 Active 21h
LAB 答案
# 切换 content
$ kubectl config use-context k8s
# 创建 clusterrole
$ kubectl create clusterrole deployment-clusterrole --verb=create --resource=deployments,daemonsets,statefulsets
# 创建 serviceaccount
$ kubectl -n app-team1 create serviceaccount cicd-token
# 创建 rolebinding
$ kubectl -n app-team1 create rolebinding cicd-token-binding --clusterrole=deployment-clusterrole --serviceaccount=app-team1:cicd-token
LAB 验证
# 查看 clusterrole。
user1@k8s-master:~$ kubectl get clusterrole deployment-clusterrole
NAME CREATED AT
deployment-clusterrole 2022-05-02T04:47:58Z
# 查看 serviceaccount
user1@k8s-master:~$ kubectl get sa -n app-team1 cicd-token
NAME SECRETS AGE
cicd-token 1 5h7m
# 查看 rolebinding
user1@k8s-master:~$ kubectl get rolebindings.rbac.authorization.k8s.io -n app-team1 cicd-token-binding
NAME ROLE AGE
cicd-token-binding ClusterRole/deployment-clusterrole 5h6m
参考资料
-
https://kubernetes.io/zh/docs/reference/access-authn-authz/rbac/
-
https://kubernetes.io/zh/docs/reference/access-authn-authz/rbac/#kubectl-create-clusterrole
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2020-06-14 RHEL6.5 和 RHCL7.0 忘记root 密码