Я пытаюсь настроить новый кластер kubernetes на одной машине с помощью kubespray (совершить 7e84de2ae116f624b570eadc28022e924bd273bc).

После запуска playbook (на свежем ubuntu 16.04) я открываю панель управления и вижу эти всплывающие окна с предупреждениями:

- configmaps is forbidden: User "system:serviceaccount:default:default" cannot list configmaps in the namespace "default"
- persistentvolumeclaims is forbidden: User "system:serviceaccount:default:default" cannot list persistentvolumeclaims in the namespace "default"
- secrets is forbidden: User "system:serviceaccount:default:default" cannot list secrets in the namespace "default"
- services is forbidden: User "system:serviceaccount:default:default" cannot list services in the namespace "default"
- ingresses.extensions is forbidden: User "system:serviceaccount:default:default" cannot list ingresses.extensions in the namespace "default"
- daemonsets.apps is forbidden: User "system:serviceaccount:default:default" cannot list daemonsets.apps in the namespace "default"
- pods is forbidden: User "system:serviceaccount:default:default" cannot list pods in the namespace "default"
- events is forbidden: User "system:serviceaccount:default:default" cannot list events in the namespace "default"
- deployments.apps is forbidden: User "system:serviceaccount:default:default" cannot list deployments.apps in the namespace "default"
- replicasets.apps is forbidden: User "system:serviceaccount:default:default" cannot list replicasets.apps in the namespace "default"
- jobs.batch is forbidden: User "system:serviceaccount:default:default" cannot list jobs.batch in the namespace "default"
- cronjobs.batch is forbidden: User "system:serviceaccount:default:default" cannot list cronjobs.batch in the namespace "default"
- replicationcontrollers is forbidden: User "system:serviceaccount:default:default" cannot list replicationcontrollers in the namespace "default"
- statefulsets.apps is forbidden: User "system:serviceaccount:default:default" cannot list statefulsets.apps in the namespace "default"

Команды kubectl кажутся прекрасными (прокси работает, выводит список модулей и т. Д. Не возвращает ошибок, /api доступен), однако панель управления не может получить какую-либо полезную информацию. Как мне это отладить?

2
nha 23 Окт 2018 в 20:33

2 ответа

Лучший ответ
kubectl create clusterrolebinding default-admin --clusterrole cluster-admin --serviceaccount=default:default

Похоже, помогает - я бы хотел получить объяснение. (Это недосмотр в kubespray? Мне нужно настроить там переменную? Это связано с RBAC?)

2
Rico 23 Окт 2018 в 18:54

Модуль панели мониторинга работает с учетной записью службы по умолчанию, и эта учетная запись по умолчанию не имеет разрешений, вы можете увидеть токен учетной записи службы по умолчанию внутри модуля панели мониторинга:

kubectl exec -it <dashboard-pod> bash
ls -al /var/run/secrets/kubernetes.io/serviceaccount

Команда, которую вы запускаете в своем ответе, устанавливает необходимые разрешения для учетной записи службы по умолчанию, используемой модулем панели мониторинга.

1
Ijaz Ahmad Khan 24 Окт 2018 в 09:59
52954810