Чарт дашборда своего пользователя не создаёт — он лишь показывает форму ввода токена и ходит в API от имени того, чей токен введён. До сих пор дашборд открывался, но войти в него было нечем. Добавлены ServiceAccount dashboard-admin, привязка к встроенной роли cluster-admin и Secret типа kubernetes.io/service-account-token. Secret нужен именно ради бессрочности: с Kubernetes 1.24 ServiceAccount не получает вечный токен автоматически, а kubectl create token выдаёт короткоживущий. Secret с аннотацией kubernetes.io/service-account.name — единственный штатный способ получить токен без срока действия: поле token заполняет контроллер, в репозиторий оно не попадает. Права взяты максимальные осознанно: дашборд задуман как инструмент оператора — логи, exec, перезапуск нагрузок, — и с меньшими правами половина экранов отдаёт ошибки доступа. Для закрытого тестового контура это приемлемо; сузить до read-only можно заменой roleRef на встроенную view, отозвать доступ — удалением Secret.
14 lines
433 B
YAML
14 lines
433 B
YAML
---
|
||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||
kind: Kustomization
|
||
resources:
|
||
- ../base
|
||
# ServiceAccount + ClusterRoleBinding + Secret с бессрочным токеном.
|
||
# Своего пользователя чарт дашборда не создаёт — обоснование в шапке файла.
|
||
- admin-user.yaml
|
||
patches:
|
||
- path: dashboard.yaml
|
||
target:
|
||
kind: HelmRelease
|
||
name: dashboard
|