
Я обновил кластер 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.
Что у меня есть: учетная запись сервиса
Что я наделал:
- Создан новый секрет с
kubernetes.io/service-account.name
аннотационной ссылкой <sa-name>-token-xxxx
Удален секрет по умолчанию- Проверил,
sa.<sa-name>.secrets
сейчас пусто
Но я все равно получаю предупреждение.
Я проверил исходный код:https://github.com/kubernetes/kubernetes/blob/0241da314e0e69817d66313b45a69c19d1ce7327/pkg/serviceaccount/legacy.go#L152
Отсюда кажется, что отсутствия секрета в .secrets должно быть достаточно, но это не так.
Я дополнительно перезапустил все, чтобы убедиться, что нигде ничего не кэшируется.
И каким-то образом это относится только к заданиям/заданиям cron: создание потерянных модулей, развертываний, служб, ингрессов работает нормально; но создание заданий и заданий cron вызывает предупреждение.
Что еще я упускаю?
решение1
Видимо, kubectl
виноват кэш.
Таким образом, очистка ~/.kube/cache
решила проблему.