K8S认证|CKS题库+答案| 2. Pod 指定 ServiceAccount

目录

[2. Pod 指定 ServiceAccount](#2. Pod 指定 ServiceAccount)

[免费获取并激活 CKA_v1.31_模拟系统](#免费获取并激活 CKA_v1.31_模拟系统)

题目

开始操作:

1)、切换集群

2)、创建SA

3)、应用并查看

[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高仿真环境简单演示视频