Сервисы запрещены: пользователь \"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/
    

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

Другие вопросы по тегам