对应b视频:CKS题目-为Pod指定ServiceAccount
题目
1.在现有 namespace qa 中创建一个名为 backend-sa 的新 ServiceAccount, 确保此
ServiceAccount 不自动挂载 API 凭据。
2. 使用 /cks/sa/pod1.yaml 中的清单文件来创建一个 Pod,使用上面创建的ServiceAccount。
3. 最后,清理 namespace qa 中任何未使用的ServiceAccount。
解析
命令
kubectl explain sa | grep auto
截图
将这个参数设置为false可解决任务一
命令
kubectl explain po.spec | grep service
截图
可看到之前是使用serviceAccount设置,现在后面加了Name,使用此参数可解决任务二
环境搭建
命令如下:
kubectl create ns qa kubectl create sa front-sa -n qa mkdir -p /cks/sa kubectl run nginx --image=nginx --dry-run=client -o yaml > /cks/sa/pod1.yaml
这块实际操作的时候yaml敲成了yml,影响不大,就没有重新弄了。
解题
任务一
在创建sa的yaml中添加
automountServiceAccountToken: false
命令
kubectl create sa backend-sa -n qa --dry-run=client -o yaml > backend-sa.yaml vim backend-sa.yaml kubectl create -f backend-qa.yaml
结果
任务二
vim /cks/sa/pod1.yaml kubectl create -f /cks/sa/pod1.yaml -n qa
任务三
命令
kubectl get sa -n qa kubectl delete sa fraont-sa -n qa
截图
注意:default也是有使用的,而且无法删除!!!
参考
k8s学习-基于角色的权限控制RBAC(概念,模版,创建,删除等)
本专栏:k8s学习-CKS考试必过宝典
更多k8s相关内容,请看文章:k8s学习-思维导图与学习笔记