You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kubernetes服务账户关联的Secret未被计数显示的问题咨询

Kubernetes服务账户关联的Secret未被计数显示的问题咨询

你好,我来帮你分析这个问题~

你手动定义了ServiceAccount和对应的Token Secret,执行kubectl apply后创建了资源,但查看ServiceAccount时发现Secrets计数是0,这其实是Kubernetes的默认行为导致的:

问题原因

Kubernetes里ServiceAccount的secrets计数,只会统计由集群自动为该ServiceAccount创建的Token Secret,我们手动创建的关联Secret,并不会被自动添加到ServiceAccount的secrets字段列表里,所以在get serviceaccount的摘要输出中就看不到这个计数。

验证方式

你可以查看ServiceAccount的完整配置来确认这一点,执行命令:

kubectl -n default get serviceaccount myserviceaccount -o yaml

输出里的secrets字段会是空数组,哪怕你已经创建了带有kubernetes.io/service-account.name注解的Secret。

解决办法

如果想要让这个手动创建的Secret被计入ServiceAccount的Secrets计数,你需要手动把它添加到ServiceAccount的secrets列表中,用kubectl patch命令就能快速完成:

kubectl -n default patch serviceaccount myserviceaccount -p '{"secrets": [{"name": "myserviceaccount-token"}]}'

执行完这个命令后,再重新查看ServiceAccount:

kubectl -n default get service account/myserviceaccount

就能看到Secrets计数变成1啦。

另外提个小补充:从Kubernetes 1.24版本开始,集群默认已经不会自动为ServiceAccount创建持久化的Token Secret了,官方更推荐使用TokenRequest API来获取短期有效的临时令牌,但如果你有特殊场景需要手动创建并关联的话,上面的方法完全适用。

备注:内容来源于stack exchange,提问作者Bob5421

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 14:38:14