目录
[2. Pod 指定 ServiceAccount](#2. Pod 指定 ServiceAccount)
[免费获取并激活 CKA_v1.31_模拟系统](#免费获取并激活 CKA_v1.31_模拟系统)
[4)、创建 Pod 使用该SA](#4)、创建 Pod 使用该SA)
[5)、删除没有使用的 SA](#5)、删除没有使用的 SA)
2. Pod 指定 ServiceAccount
免费获取并激活 CKA_v1.31_模拟系统
题目
您必须在以下Cluster/Node上完成此考题:
Cluster Master node Worker node
CKS00202 master node01
.
设置配置环境:candidate@node01\]$ kubectl config use-context CKS00202 **Context** 您组织的安全策略包括: ⚫ ServiceAccount 不得自动挂载 API 凭据 ⚫ ServiceAccount 名称必须以"-sa"结尾 清单文件 /cks/sa/pod1.yaml 中指定的 Pod 由于 ServiceAccount 指定错误而无法调度。 请完成一下项目: **Task** 1. 在现有 namespace qa 中创建一个名为 backend-sa 的新 ServiceAccount, 确保此 ServiceAccount **不** 自动挂载 API 凭据。 2. 使用 /cks/sa/pod1.yaml 中的清单文件来创建一个 Pod。 3. 最后,清理 namespace qa 中任何未使用的 ServiceAccount。
开始操作:
1)、切换集群
bash
kubectl config use-context CKS00202
2)、创建SA
bash
vim sa.yaml
根据官网修改如下内容
apiVersion: v1
kind: ServiceAccount
metadata:
name: backend-sa #修改 name
namespace: qa #注意添加 namespace
automountServiceAccountToken: false #修改为 false,表示不自动挂载 secret
CKS模拟系统截图

3)、应用并查看
bash
kubectl apply -f sa.yaml
kubectl get sa -n qa
CKS模拟系统截图
4)、创建 Pod 使用该SA
bash
vim /cks/sa/pod1.yaml
修改如下内容
bash
metadata:
name: backend
namespace: qa #注意命名空间是否对
spec:
serviceAccountName: backend-sa # 则修改这一行为刚才创建的 ServiceAccount
应用并查看Pod
bash
kubectl apply -f /cks/sa/pod1.yaml
kubectl get pod -n qa
CKS模拟系统截图
5)、删除没有使用的 SA
bash
#看所有 sa,下图可以看到一共有 3 个 sa。
kubectl get sa -n qa
#查看已经在用的 sa,下图可以看到 default 和 backend-sa 都已经使用了。
kubectl get pod -n qa -o yaml | grep -i serviceAccountName
#删除不用的 sa
kubectl delete sa test01 -n qa
CKS模拟系统截图

CKA高仿真环境简单演示视频