繁体   English   中英

如何在 kubernetes 中创建服务帐户时禁用创建令牌秘密创建?

[英]How to disable creation of token secret creation while creating a service account in kubernetes?

当我使用以下规范在 Kubernetes 中创建服务帐户时

---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: deploy-bot

它会自动创建以下带有前缀deploy-bot-token-XXXX的秘密

$ kubectl get secret

NAME                                                      TYPE                                  DATA   AGE
default-token-lvq79                                       kubernetes.io/service-account-token   3      60m
deploy-bot-token-7gmnh                                    kubernetes.io/service-account-token   3      4m53s

有没有一种方法可以在创建服务帐户时禁用秘密令牌的自动创建?

您可以通过修改kube-controller-manager options来实现。

要传递给 controller 的标志是--controllers=-serviceaccount-token 它将禁用为服务帐户创建令牌。

spec:
  containers:
  - command:
    - kube-controller-manager
    - --controllers=-serviceaccount-token
 [...]

在部署服务帐户时进行此修改后:

apiVersion: v1
kind: ServiceAccount
metadata:
  name: deploy-bot

$ kubectl get sa
NAME         SECRETS   AGE
default      1         14m
deploy-bot   0         3s

并检查创建的秘密,您会注意到尚未创建秘密:

$ kubectl get secret
NAME                  TYPE                                  DATA   AGE
default-token-t4qnv   kubernetes.io/service-account-token   3      14m

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM