[英]How to create a secret for service account using Kubernetes version 1.24
我正在使用 Kubernetes 版本 1.24,我手动为我的服务帐户创建了一个密码,但是当我运行kubectl get serviceaccounts
时,它显示我没有该服务帐户的任何密码?
手动创建secret
时,需要手动添加到ServiceAccount
中。 您可以为此使用kubectl edit
。
如果您手动创建密钥,则必须手动将密钥添加到服务帐户。
您可以使用命令kubectl edit sa <name of sa>
编辑现有服务帐户,或者创建 YAML 并重新应用更改来配置它们。
但是,如果您正在创建ServiceAccount ,它将自动生成秘密令牌。
bash-4.2$ kubectl get sa
NAME SECRETS AGE
default 1 11d
bash-4.2$ kubectl create sa test
serviceaccount/test created
bash-4.2$ kubectl get secret
NAME TYPE DATA AGE
default-token-dvgd8 kubernetes.io/service-account-token 3 11d
test-token-k6dpd kubernetes.io/service-account-token 3 7s
bash-4.2$ kubectl get sa
NAME SECRETS AGE
default 1 11d
test 1 59s
bash-4.2$
更新
如果您使用的是 K8s 版本1.24
serviceaccount不会自动创建密钥。
您必须手动创建它。
示例:
apiVersion: v1
kind: Secret
type: kubernetes.io/service-account-token
metadata:
name: token-secret
annotations:
kubernetes.io/service-account.name: "<SA name>"
如果您只想创建令牌,可以使用: kubectl create token <Name>
阅读更多相关信息: https://itnext.io/big-change-in-k8s-1-24-about-serviceaccounts-and-their-secrets-4b909a4af4e0
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.