Misterio de advertencia de obsolescencia: solo los trabajos y cronjob activan una advertencia para un token creado manualmente

Misterio de advertencia de obsolescencia: solo los trabajos y cronjob activan una advertencia para un token creado manualmente

Actualicé un clúster de Kubernetes de 1.26.xa 1.27.x

Y ahora, cada vez que intento crear un objeto CronJobo Jobtipo, aparece el siguiente mensaje de advertencia:

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

Lo que tengo: una cuenta de servicio

Que he hecho:

  1. Creó un nuevo secreto con una kubernetes.io/service-account.namereferencia de anotación.
  2. Se eliminó el <sa-name>-token-xxxxsecreto predeterminado.
  3. Comprobado que sa.<sa-name>.secretsahora está vacío.

Sin embargo, sigo recibiendo la advertencia.

Revisé el código fuente:https://github.com/kubernetes/kubernetes/blob/0241da314e0e69817d66313b45a69c19d1ce7327/pkg/serviceaccount/legacy.go#L152

A partir de ahí parece que no tener un secreto en .secrets debería ser suficiente, pero no lo es.

Además, reinicié todo solo para asegurarme de que no haya nada almacenado en caché en alguna parte.

Y de alguna manera es específico solo para trabajos/cronjobs: la creación de pods, implementaciones, servicios e ingresos huérfanos funciona bien; pero la creación de trabajos y cronjobs activa la advertencia.

¿Qué más me falta?

Respuesta1

Al parecer, kubectlla culpa es del caché.

Por lo tanto, ~/.kube/cachese solucionó el problema.

información relacionada