k8s学习-CKS真题-RoleBinding

Posted lady_killer9

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了k8s学习-CKS真题-RoleBinding相关的知识,希望对你有一定的参考价值。

目录


题目

Context 
绑定到 Pod 的 ServiceAccount 的 Role 授予过度宽松的权限。完成以下项目以减少权限集。 
Task
1.一个名为 web-pod 的现有 Pod 已在 namespace db 中运行。 编辑绑定到 Pod 的 ServiceAccount service-account-web 的现有 Role,仅允许只对 pods 类型的资源执行 get 操作。 
2.在namespace db 中创建一个名为 role-2 ,并仅允许只对 statefulsets 类型的资源执行 delete 操作的新Role。 
3.创建一个名为 role-2-binding 的新 RoleBinding,将新创建的 Role 绑定到 Pod 的
ServiceAccount。 
注意:请勿删除现有的 RoleBinding。

环境搭建

命令

kubectl create ns db
kubectl create sa service-account-web -n db
kubectl create role pods-get --verb=create,delete,get --resource=deployments,statefulsets,daemonsets,pods -n db
kubectl create rolebinding pods-get-binding --role=pods-get --serviceaccount=db:service-account-web -n db

截图

生成web-pod.yaml,修改添加serviceAccountName,之后创建。
命令

kubectl run web-pod --image=nginx --dry-run=client -n db -o yaml > web-pod.yaml
vim web-pod.yaml
kubectl create -f web-pod.yaml

截图

解题

任务一

查找service-account-web绑定的role
命令

kubectl get rolebinding -n db -o yaml | grep service-account-web -B 5

或者

kubectl get rolebinding -n db -o wide

截图

修改role权限
命令

kubectl edit role pods-get -n db

截图

任务二

命令

kubectl create role role-2 --resource=statefulsets --verb=delete -n db

截图

任务三

命令

kubectl create rolebinding role-2-binding --role=role-2 --serviceaccount=db:service-account-web -n db

截图

参考

k8s学习-CKA真题-基于角色的访问控制-RBAC
k8s学习-基于角色的权限控制RBAC(概念,模版,创建,删除等)
k8s-Rolebinding
更多k8s相关内容,请看文章:k8s学习-思维导图与学习笔记

以上是关于k8s学习-CKS真题-RoleBinding的主要内容,如果未能解决你的问题,请参考以下文章

k8s学习-CKS真题-Pod指定ServiceAccount

k8s学习-CKS真题-网络策略拒绝流量

k8s学习-CKS真题-网络策略精细化控制

Kubernetes CKS 1.20 - 真题 (11题)

Kubernetes CKS 1.20 - 真题 (第1题)

k8s学习-基于角色的权限控制RBAC(概念,模版,创建,删除等)