Восстановление токенов учетной записи службы k8s

#kubernetes #openshift #kubernetes-secrets

#kubernetes #openshift #kubernetes-секреты

Вопрос:

Я хотел бы восстановить токен учетной записи службы kubernetes из резервной копии (которая на самом деле является просто экспортом соответствующего секрета):

 apiVersion: v1
kind: Secret
metadata:
  name: my-service-account-token-lqrvp
  annotations:
    kubernetes.io/service-account.name: my-service-account
type: kubernetes.io/service-account-token
data:
  token: bXktc2ltcGxlLXRva2VuCg==
 

Секрет был успешно применен и добавлен в учетную запись службы:

 # kubectl apply -f my-service-account.yaml
secret/my-service-account-token-lqrvp created

# kubectl describe sa my-service-account
Name:                my-service-account
Namespace:           my-namespace
Labels:              <none>
Annotations:         kubernetes.io/service-account.name: my-service-account
Image pull secrets:  my-service-account-dockercfg-lv9hp
Mountable secrets:   my-service-account-token-lv9hp
Tokens:              my-service-account-token-lqrvp
Events:              <none>
 

К сожалению, каждый раз, когда я пытаюсь получить доступ к api с помощью токена, я всегда получаю сообщение об ошибке «Предоставленный токен недействителен или истек»:

 # kubectl login https://api.my-k8s-cluster.mydomain.com:6443 --token=my-simple-token
error: The token provided is invalid or expired
 

Я знаю, что токен обычно автоматически генерируется контроллером-менеджером, но поддерживается ли восстановление токена kubernetes?

Комментарии:

1. Является ли ваш реальный токен JWT? Насколько я помню, будут работать только токены JWT github.com/kubernetes/kubernetes/blob /… но я могу ошибаться

2. В дополнение к предыдущему комментарию, не могли бы вы добавить $ kubectl describe secret my-service-account-token-lqrvp ? Я попытался воспроизвести вашу настройку, и в секрете также были другие ключи и значения данных, такие как namespace и ca.crt . У вас также есть разные секреты, упомянутые в вашем описании serviceaccount ( lqrvp и lv9hp )