繁体   English   中英

如何使用 Kubernetes 版本 1.24 为服务帐户创建密钥

[英]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.

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