服务帐户的 API 凭证通常挂载在 pod 中,如下所示:
/var/run/secrets/kubernetes.io/serviceaccount/token
此令牌允许 Pod 中的容器化进程与 API 服务器进行通信。
Pod 服务帐户的用途是什么(serviceAccountName
), if automountServiceAccountToken
被设定为false
?
一点理论:
让我们从创建 pod 时发生的情况开始。
创建pod时,如果不指定service account,则
自动分配默认服务帐户
名称空间
参考 https://v1-24.docs.kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#use-the-default-service-account-to-access-the-api-server.
因此,所有 Pod 无论如何都会链接到服务帐户(默认或在中指定)spec
).
然后始终为每个服务帐户生成 API 访问令牌。
automountServiceAccountToken
flag 定义此令牌在创建后是否会自动挂载到 pod。
有两个选项可以设置此标志:
-
在特定的服务帐户中
apiVersion: v1
kind: ServiceAccount
metadata:
name: build-robot
automountServiceAccountToken: false
...
-
在特定的 Pod 中
apiVersion: v1
kind: Pod
metadata:
name: my-pod
spec:
serviceAccountName: build-robot
automountServiceAccountToken: false
...
Answer:
pod 的服务帐户 (serviceAccountName) 的用途是什么,如果
automountServiceAccountToken 设置为 false?
这可能会有所不同,具体取决于 Pod 创建中涉及的进程。很好的例子是GitHub问题中的评论 https://github.com/kubernetes/kubernetes/issues/16779#issuecomment-159656641(这个标志最终来自哪里):
有一些用例仍然创建令牌(与外部一起使用)
系统)或仍然将服务帐户与 Pod 关联(以供使用
具有图像拉取秘密),但能够选择退出 API 令牌
自动挂载(对于特定的 Pod,或者对于特定的服务
帐户)很有用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)