Kubernetes SA tokens
azalio#kubernetes #sa
https://kubernetes.io/docs/reference/access-authn-authz/service-accounts-admin/
- Токен выданный SA в поде по-умолчанию имеет срок жизни час.
- Токен запрашивается через TokenRequest API кубелетом
- Автоматически выданный токен инвалидировать нельзя. Если есть такая потребность - надо грохнуть под, где он был выдан.
- Срок жизни токенов созданных вручную не истекает.
- Не рекомендуется так делать.
- Легаси-токены (созданные через secrets) начиная с 1.29 будут помечаться как не правильные. Если они год (по-умолчанию) не будут использоваться - они будут удаляться.
- Есть 2 контроллера https://kubernetes.io/docs/reference/access-authn-authz/service-accounts-admin/#control-plane-details
- SA
- Token
- Контроллер-менеджеру надо положить приватный ключ для подписывания токенов
- kube-apiserver надо положить публичный ключ для проверки подписи
- Адмишен контроллер для SA https://kubernetes.io/docs/reference/access-authn-authz/service-accounts-admin/#serviceaccount-admission-controller
- Если не стоит флага "не создавай автотокены"
- **изменяет** манифест и добавляет путь до токена
- Легаси токены трекаются в конфиг-мапе "kube-system/kube-apiserver-legacy-service-account-token-tracking"