Токен учетной записи службы Kubernetes игнорируется в Jupyter

Я раскручиваю новый экземпляр ноутбука Jupyter из концентратора Jupiter и хочу иметь доступ к Kubernetes API изнутри развернутого контейнера. Согласно документы, я добавил параметр для служебной учетной записи в свои значения helm и, как и ожидалось, я вижу, что токен служебной учетной записи смонтирован, как и ожидалось.

subu@jupyter-subu:~$ sudo ls /run/secrets/kubernetes.io/serviceaccount/
ca.crt  namespace  token

Однако, когда я пытаюсь запустить kubectl, мне отказывают в доступе.

subu@jupyter-subu:~$ kubectl get pods
error: open /var/run/secrets/kubernetes.io/serviceaccount/token: permission denied

Достаточно справедливо, но запустите его как sudo, и он просто проигнорирует токен служебной учетной записи.

subu@jupyter-subu:~$ sudo kubectl get pods
The connection to the server localhost:8080 was refused - did you specify the right host or port?

Если я настрою конфигурацию kubectl вручную с деталями токена, он полностью заработает, просто настройки по умолчанию не работают. Любые идеи о том, почему это может происходить, будут высоко оценены!

Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
2
0
46
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Чтобы kubectl использовал спроецированный токен, в вашей среде должны быть установлены переменные среды KUBERNETES_SERVICE_PORT и KUBERNETES_SERVICE_HOST. Они автоматически внедряются при запуске модуля, но, скорее всего, только для вашего пользователя, а не для пользователя sudo root.

Обязательно передайте эти переменные для корневой среды (sudo -E kubectl get pods) или убедитесь, что спроецированный токен доступен для чтения вашим пользователем (это должно быть достижимо, установив singleuser_uid KubeSpawner на ваш UID https://github.com/jupyterhub/kubespawner/issues/140).

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