Сервисы запрещены: пользователь \"system:anonymous\" не может перечислить сервисы в пространстве имен \"kube-system\"
Я создал новый кластер kubernetes на VirtualBox. У меня есть один главный узел и два рабочих узла. Я хочу использовать приборную панель, но я получаю ошибку. Когда я бегу kubectl proxy
мастер начинает прослушивать порт 8001:
Starting to serve on 127.0.0.1:8001
и затем я создаю SSH-туннель на моем хосте:
ssh user@10.10.10.50 -N -L 8001:127.0.0.1:8001
но когда я печатаю localhost:8001/ui
в браузере я получаю это:
{
"paths": [
"/apis",
"/apis/",
"/apis/apiextensions.k8s.io",
"/apis/apiextensions.k8s.io/v1beta1",
"/healthz",
"/healthz/etcd",
"/healthz/ping",
"/healthz/poststarthook/generic-apiserver-start-informers",
"/healthz/poststarthook/start-apiextensions-controllers",
"/healthz/poststarthook/start-apiextensions-informers",
"/metrics",
"/openapi/v2",
"/swagger-2.0.0.json",
"/swagger-2.0.0.pb-v1",
"/swagger-2.0.0.pb-v1.gz",
"/swagger.json",
"/swaggerapi",
"/version"
]
}
И если я хочу попасть в панель управления через API напрямую:
https://10.10.10.50:6443/api/v1/namespaces/kube-system/services
Я получаю эту ошибку:
{
"kind": "Status",
"apiVersion": "v1",
"metadata": {
},
"status": "Failure",
"message": "services is forbidden: User \"system:anonymous\" cannot list services in the namespace \"kube-system\"",
"reason": "Forbidden",
"details": {
"kind": "services"
},
"code": 403
}
Я знаю, что это связано с аутентификацией, но я не знаю, как мне определить имя пользователя / пароль в моем кластере или поделиться ключами между главными узлами и моим хостом. Или как мне использовать ключи в файле.kube/config.
1 ответ
Я хочу использовать приборную панель, но я получаю ошибку.
В соответствии с выдержками из документации панели мониторинга, после успешной установки панели по умолчанию (развертывание панели по умолчанию содержит минимальный набор прав RBAC, необходимых для запуска):
Чтобы получить доступ к Dashboard с вашей локальной рабочей станции, вы должны создать безопасный канал к вашему кластеру Kubernetes. Запустите следующую команду:
kubectl proxy
Теперь зайдите в Dashboard по адресу:
http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/
Нет необходимости делать туннель или любые другие изменения. До сих пор установка панели мониторинга по умолчанию всегда работала как чудо, если у вас есть что-то настроенное отдельно, тогда может быть какая-то проблема...