
Atualizei um cluster Kubernetes de 1.26.x para 1.27.x
E agora, toda vez que tento criar um objeto CronJob
ou Job
tipo, recebo a seguinte mensagem de aviso:
Warning: Use tokens from the TokenRequest API or manually created secret-based tokens instead of auto-generated secret-based tokens.
O que eu tenho: uma conta de serviço
O que eu fiz:
- Criou um novo segredo com uma
kubernetes.io/service-account.name
referência de anotação - Removido o
<sa-name>-token-xxxx
segredo padrão - Verificado que
sa.<sa-name>.secrets
está vazio agora
Mesmo assim, ainda recebo o aviso.
Eu verifiquei o código fonte:https://github.com/kubernetes/kubernetes/blob/0241da314e0e69817d66313b45a69c19d1ce7327/pkg/serviceaccount/legacy.go#L152
A partir daí, parece que não ter um segredo em .secrets deveria ser suficiente, mas não é.
Além disso, reiniciei tudo apenas para garantir que nada fosse armazenado em cache em algum lugar.
E de alguma forma é específico apenas para jobs/cronjobs: criar pods, implantações, serviços e ingressos órfãos funciona bem; mas criar jobs e cronjobs aciona o aviso.
O que mais estou perdendo?
Responder1
Aparentemente, kubectl
a culpa é do cache.
Portanto, a limpeza ~/.kube/cache
resolveu o problema.