弃用警告之谜:只有作业和 cronjob 会触发手动创建的令牌的警告

弃用警告之谜:只有作业和 cronjob 会触发手动创建的令牌的警告

我已将 kubernetes 集群从 1.26.x 升级到 1.27.x

现在,每次我尝试创建对象CronJobJob类型时,我都会收到以下警告消息:

Warning: Use tokens from the TokenRequest API or manually created secret-based tokens instead of auto-generated secret-based tokens.

我拥有的:一个服务帐户

我做了什么:

  1. kubernetes.io/service-account.name使用注释引用创建了一个新的机密
  2. 删除了默认<sa-name>-token-xxxx机密
  3. 检查了一下,sa.<sa-name>.secrets现在为空

但我仍然收到警告。

我检查了源代码:https://github.com/kubernetes/kubernetes/blob/024​​1da314e0e69817d66313b45a69c19d1ce7327/pkg/serviceaccount/legacy.go#L152

从那里看起来好像 .secrets 中没有秘密就足够了,但事实并非如此。

另外,我还重新启动了所有程序,以确保没有任何东西被缓存在某处。

并且不知何故,它只特定于作业/cronjobs:创建孤立的 pod、部署、服务、入口工作正常;但创建作业和 cronjobs 会触发警告。

我还遗漏了什么?

答案1

显然,kubectl这是缓存造成的。

因此清除后~/.kube/cache问题就解决了。

相关内容