由于最新的CKA考试改版,不允许存储书签,本博客致力怎么一步步从官网把答案找到,如何修改把题做对,下面开始我们的 CKA之旅
题目为:
Context:
为部署流水线创建一个新的ClusterRole并将其绑定到范围为特定的 namespace 的特定ServiceAccount。
Task
创建一个名为deployment-clusterrole的clusterrole,该clusterrole只允许对Deployment、Daemonset、Statefulset具有create权限,在现有的 namespace app-team1中创建一个名为cicd-token的新 ServiceAccount。
限于 namespace app-team1中,将新的ClusterRole deployment-clusterrole绑定到新的 ServiceAccount cicd-token。
注意,如果题目要求先切换K8S环境,需执行K8S切换环境
分析做题步骤
1、打开官网(真实考试需要在官网的搜索界面搜索关键词 RBAC即可 )
https://kubernetes.io/zh-cn/docs/reference/access-authn-authz/rbac/
2、我们先创建一个名为deployment-clusterrole的clusterrole,该clusterrole只允许对Deployment、Daemonset、Statefulset具有create权限
在官网找到如下内容
修改相关内容,红色分别对应上面的信息,注意大小写
kubectl create clusterrole deployment-clusterrole --verb=create --resource=deployment,daemonset,statefulset
3、接下来在 namespace app-team1中创建一个名为cicd-token的新 ServiceAccount
继续往下拉官网,找到如下内容
修改相关执行语句如下:需修改红色部分
kubectl create serviceaccount cicd-token -n app-team1
4、最后操作在namespace app-team1中,将新的ClusterRole deployment-clusterrole绑定到新的 ServiceAccount cicd-token。
上拉官网,找到如下内容,注意是rolebinding而不是clusterrolebinding
修改相关执行语句如下:需修改红色部分,黄色部分题目中没提及,自己起一个就行,如果题目中提及,需要修改为题目要求的名字
kubectl create rolebinding myappnamespace-my-binding --clusterrole=deployment-clusterrole --serviceaccount=app-team1:cicd-token --namespace=app-team1
5、排查是否做对,红色部分为上面用户定义的rolebinding名称及所在的namespace名称
kubectl describe rolebinding myappnamespace-my-binding -n app-team1
执行如下语句