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
开始操作:
# 考试时务必先切换到每道题所对应的集群环境,正确答题的前提,非常重要
kubectl config use-context k8s# 创建clusterrole并赋予其对三种控制器的create权限
kubectl create clusterrole deployment-clusterrole --verb=create --resource=deployments,statefulsets,daemonsets# 创建 sc cicd-token
kubectl -n app-team1 create serviceaccount cicd-token# 创建 rolebinding
# 题目中写了“限于namespace app-team1中”,则创建rolebinding。没有写的话,则创建clusterrolebinding
kubectl -n app-team1 create rolebinding cicd-token-rolebinding --clusterrole=deployment-clusterrole --serviceaccount=app-team1:cicd-token
# rolebinding后面的名字cicd-token-rolebinding随便起的,因为题目中没有要求,如果题目中有要求,则按照题目要求命名
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仿真模拟环境简短视频演示