任务

1.在现有namespace ga中创建一个名为backend-sa的新ServiceAccount,
确保此ServiceAccount不自动挂载API凭据。
2.使用/cks/sa/pod1.yaml中的清单文件来创建一个Pod。
3.最后,清理namespace ga中任何未使用的ServiceAccount。

解题

vim cks-02.yaml

1
2
3
4
5
6
apiVersion: v1
kind: ServiceAccount
metadata:
name: backend-sa
namespace: qa
automountServiceAccountToken: false #添加这一行

vim /cks/sa/pod1.yaml

1
2
3
4
5
6
7
8
9
10
11
apiVersion: v1
kind: Pod
metadata:
name: backend
namespace: qa
spec:
serviceAccountName: backend-sa #给pod配置serviceaccount
containers:
- image: nginx:alpine
imagePullPolicy: IfNotPresent
name: backend
1
2
3
4
5
kubectl apply -f /cks/sa/pod1.yaml

kubectl get sa -n qa
kubectl get pod -n qa|grep -i "serviceaccount"
kubectl -n qa delete xxx #没见到的serviceaccount

参考

https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#opt-out-of-api-credential-automounting