Тайна предупреждения об устаревании: только задания и cronjob вызывают предупреждение для созданного вручную токена

Тайна предупреждения об устаревании: только задания и cronjob вызывают предупреждение для созданного вручную токена

Я обновил кластер Kubernetes с версии 1.26.x до 1.27.x.

И теперь каждый раз, когда я пытаюсь создать объект CronJobили Jobтип - я получаю следующее предупреждение:

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/0241da314e0e69817d66313b45a69c19d1ce7327/pkg/serviceaccount/legacy.go#L152

Отсюда кажется, что отсутствия секрета в .secrets должно быть достаточно, но это не так.

Я дополнительно перезапустил все, чтобы убедиться, что нигде ничего не кэшируется.

И каким-то образом это относится только к заданиям/заданиям cron: создание потерянных модулей, развертываний, служб, ингрессов работает нормально; но создание заданий и заданий cron вызывает предупреждение.

Что еще я упускаю?

решение1

Видимо, kubectlвиноват кэш.

Таким образом, очистка ~/.kube/cacheрешила проблему.

Связанный контент