2024 CKS 题库 | 2、Pod指定ServiceAccount

不等更新题库

CKS 题库 2、Pod指定ServiceAccount

2024 CKS 题库 | 2、Pod指定ServiceAccount_第1张图片

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。

参考:

https://kubernetes.io/zh-cn/docs/tasks/configure-pod-container/configure-service-account/#使用默认的服务账户访问-api-服务器


解答:

切换集群

kubectl config use-context KSCH00301
创建 ServiceAccount
vi qa-sa.yaml

qa-sa.yaml

apiVersion: v1
kind: ServiceAccount
metadata:
  name: backend-sa  #修改为 对应的name
  namespace: qa     #namespace名称
automountServiceAccountToken: false  #false为不自动挂载secret

应用 并 检查

kubectl -f qa-sa.yaml create
kubectl -n qa get sa

2024 CKS 题库 | 2、Pod指定ServiceAccount_第2张图片

使用该SA创建 pod
vim /cks/sa/pod1.yaml
……
metadata:
  name: backend
  namespace: qa #注意命名空间是否对
spec:
  serviceAccountName: backend-sa # 没有则添加一行,有则修改这一行为刚才创建的ServiceAccount(考试时,默认已有这一行,需要修改。)
containers:
……

2024 CKS 题库 | 2、Pod指定ServiceAccount_第3张图片

删除未使用的 ServiceAccount

查看所有 SA

kubectl -n qa get sa

过滤已经在用的 SA

kubectl -n qa get pod -o yaml | grep -i serviceAccountName

删除不用的sa

kubectl -n qa delete sa test01

2024 CKS 题库 | 2、Pod指定ServiceAccount_第4张图片

你可能感兴趣的:(#,2024,CKS,cks,k8s,linux,运维,云原生)