
Ich habe einen Kubernetes-Cluster von 1.26.x auf 1.27.x aktualisiert
Und jetzt erhalte ich jedes Mal, wenn ich versuche, ein Objekt CronJob
oder Job
einen Typ zu erstellen, die folgende Warnmeldung:
Warning: Use tokens from the TokenRequest API or manually created secret-based tokens instead of auto-generated secret-based tokens.
Was ich habe: ein Servicekonto
Was habe ich getan:
- Ein neues Geheimnis mit einer
kubernetes.io/service-account.name
Annotationsreferenz erstellt - Das Standardgeheimnis wurde
<sa-name>-token-xxxx
entfernt - Überprüft, dass
sa.<sa-name>.secrets
jetzt leer ist
Dennoch erhalte ich weiterhin die Warnung.
Ich habe den Quellcode überprüft:https://github.com/kubernetes/kubernetes/blob/0241da314e0e69817d66313b45a69c19d1ce7327/pkg/serviceaccount/legacy.go#L152
Von da an sieht es so aus, als ob es ausreichen sollte, kein Geheimnis in .secrets zu haben, aber das ist nicht der Fall.
Außerdem habe ich alles neu gestartet, um sicherzustellen, dass nichts irgendwo zwischengespeichert ist.
Und irgendwie ist es nur auf Jobs/Cronjobs beschränkt: Das Erstellen verwaister Pods, Bereitstellungen, Dienste und Ingresses funktioniert einwandfrei, aber das Erstellen von Jobs und Cronjobs löst die Warnung aus.
Was vermisse ich sonst noch?
Antwort1
Offenbar kubectl
ist der Cache schuld.
~/.kube/cache
Daher wurde das Problem durch das Löschen behoben.