模拟题目:
设置配置环境:
[candidate@node-1] $ kubectl config use-context k8s
Task
在名为 honeybee-deployment 的 Deployment 和 namespace gorilla 中的一个 Pod 正在记录错误
- 查看日志以识别错误消息 找出错误,包括 User "system:serviceaccount:gorilla:default "can not list resource "serviceaccounts "[…] in the namespace "gorilla"
- 更新 Deployment honeybee-deployment 以解决 Pod 日志中的错误。 您可以在 /ckad/prompt-escargot/honeybee-deployment.yaml 中找到 honeybee-deployment 的 清单文件
参考:
https://kubernetes.io/zh-cn/docs/reference/access-authn-authz/rbac/
解答:
切换环境
kubectl config use-context k8s
查看错误日志
kubectl -n gorilla get pod
kubectl -n gorilla logs honeybee-deployment-bdfd994c-chbbl
考试时,无论是不能 list pods ,还是不能 list deployments ,或者不能 list serviceaccounts ,做法都一样。
查看deployment 的sa
kubectl -n gorilla describe deployments.apps honeybee-deployment
查看gorilla下的role,rolebinding,sa 详细信息
kubectl -n gorilla describe role,rolebinding,sa
可以看到, gorilla-role 具有 get list 权限, 对应的sa为 gorilla-sa,所以修改sa为 gorilla-sa
kubectl -n gorilla set serviceaccount deployments honeybee-deployment gorilla-sa
查看deployment 是否修改了sa
kubectl -n gorilla describe deployments.apps honeybee-deployment
检查并查看pod日志
kubectl -n gorilla get pod
kubectl -n gorilla logs honeybee-deployment-d8b9685f9-bhh6s