1、权限控制RBAC
您必须在以下Cluster/Node上完成此考题:Cluster Master node Worker nodek8s master node01设置配置环境:[candidate@node01]$ kubectl config use-context k8sContext为部署流水线创建一个新的 clusterrole, 并将其绑定到范围为特定的 namespace 的特定 serviceaccountTask创建一个名为 deployment-clusterrole 且仅允许创建以下资源类型的新 clusterrole :• deployment• statefulset• daemonset在现有的 namespace app-team1 中创建一个名为 cicd-token 的新 serviceaccount 。限于 namespace app-team1 中, 将新的 clusterrole deployment-clusterrole 绑定到新的 serviceaccount cicd-token
开始操作:
# 考试时有多套集群环境,以免答题环境相互干扰。
# 所以考试时务必按照题目要求先切换到所对应的集群环境,才是正确答题的前提,非常重要
# 请务必确认现在所处节点为node01,否则无法切换集群而报错
kubectl config use-context k8s
# 创建clusterrole并赋予其对三种控制器的create权限
kubectl create clusterrole deployment-clusterrole --verb=create --resource=deployments,statefulsets,daemonsets
# 创建 服务账号serviceaccount cicd-token
kubectl -n app-team1 create serviceaccount cicd-token
# 创建 rolebinding
# 题目中写了“限于namespace app-team1中”,则创建rolebinding。没有写的话,则创建clusterrolebinding
# 根据命令格式rolebinding后面cicd-token-rolebinding为角色绑定名称,题目中没有要求可自己定
kubectl -n app-team1 create rolebinding cicd-token-rolebinding --clusterrole=deployment-clusterrole --serviceaccount=app-team1:cicd-token
CKA模拟环境操作截图:
验证结果:
#查看绑定描述
kubectl -n app-team1 describe rolebinding cicd-token-rolebinding
#验证服务账号在集群的权限
kubectl auth can-i create deployment --as system:serviceaccount:app-team1:cicd-token
#验证服务账号在集群app-team1命名空间下的权限
kubectl auth can-i create deployment -n app-team1 --as system:serviceaccount:app-team1:cicd-token
CKA模拟环境操作截图:
CKA仿真模拟环境简短视频演示