2024 CKA 题库 | 1、权限控制 RBAC

不等更新题库

文章目录

    • 1、权限控制 RBAC
      • 题目:
      • 考点:
      • 参考链接:
      • 解答:
        • 更换 context
        • 创建 ClusterRole
        • 创建 ServiceAccount
        • 创建 rolebinding
      • 检查

1、权限控制 RBAC

题目:

设置配置环境:
[candidate@node-1] $ kubectl config use-context k8s

Context
为部署流水线创建一个新的 ClusterRole 并将其绑定到范围为特定的 namespace 的特定 ServiceAccount。

Task
创建一个名为 deployment-clusterrole 且仅允许创建以下资源类型的新 ClusterRole:
Deployment
StatefulSet
DaemonSet
在现有的 namespace app-team1 中创建一个名为 cicd-token 的新 ServiceAccount。
限于 namespace app-team1 中,将新的 ClusterRole deployment-clusterrole 绑定到新的 ServiceAccount cicd-token。

考点:

RBAC 授权模型的理解。

参考链接:

没必要参考网址,使用-h 帮助更方便。
kubectl create clusterrole -h
kubectl create rolebinding -h
https://kubernetes.io/docs/reference/access-authn-authz/rbac/#command-line-utilities

解答:

更换 context
$ kubectl config use-context k8s
创建 ClusterRole
$ kubectl create clusterrole deployment-clusterrole --verb=create --resource=deployment,daemonset,statefulset
创建 ServiceAccount
$ kubectl create sa cicd-token -n app-team1
创建 rolebinding

rolebinding 后面的名字 cicd-token-rolebinding 随便起的,因为题目中没有要求,如果题目中有要求,就不能随便起了。

kubectl -n app-team1 create rolebinding cicd-token-rolebinding --clusterrole=deployment-clusterrole --serviceaccount=app-team1:cicd-token

检查

$ kubectl -n app-team1 describe rolebinding cicd-token-rolebinding

$ kubectl auth can-i create deployment --as system:serviceaccount:app-team1:cicd-token
no

$ kubectl auth can-i create deployment -n app-team1 --as system:serviceaccount:app-team1:cicd-token 
yes

你可能感兴趣的:(CKA,kubernetes,linux)