Mistério do aviso de descontinuação: apenas jobs e cronjob acionam um aviso para um token criado manualmente

Mistério do aviso de descontinuação: apenas jobs e cronjob acionam um aviso para um token criado manualmente

Atualizei um cluster Kubernetes de 1.26.x para 1.27.x

E agora, toda vez que tento criar um objeto CronJobou Jobtipo, 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:

  1. Criou um novo segredo com uma kubernetes.io/service-account.namereferência de anotação
  2. Removido o <sa-name>-token-xxxxsegredo padrão
  3. Verificado que sa.<sa-name>.secretsestá 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, kubectla culpa é do cache.

Portanto, a limpeza ~/.kube/cacheresolveu o problema.

informação relacionada