对应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-为 Pod 配置服务账号
本专栏:k8s学习-CKS考试必过宝典
更多k8s相关内容,请看文章:k8s学习-思维导图与学习笔记

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐