以每周一个节点,记录知识点。
2024-01-08~14
升级 Kubernetes 版本后,遇到 TokenRequest API 警告
警告信息:
Warning: Use tokens from the TokenRequest API or manually created secret-based tokens instead of auto-generated secret-based tokens.
原因:
在 1.24 版本之前,Kubernetes 会自动为 ServiceAccount 生成基于 Secret 的令牌。1.27 版本之后不再为每个服务帐户自动生成服务帐户令牌。 kubectl
显示此警告是因为自动生成的令牌在升级后仍然存在。
解决:
为了区分自动生成的令牌和手动创建的令牌,Kubernetes 会检查 ServiceAccount 的 secrets 字段中的引用。如果 secrets
字段中引用了 Secret,则将其视为自动生成的旧令牌。否则,它将被视为手动创建的旧令牌。
删除ServiceAccount
中的secrets
引用即可。
apiVersion: v1
kind: ServiceAccount
metadata:
name: default
namespace: default
secrets: # 删除此行
- name: default-token-46x6t # 删除此行
参考:
- https://kubernetes.io/docs/reference/access-authn-authz/service-accounts-admin/