войти в openshift с ошибкой kubadmin: Ошибка входа (401 неавторизованный)

Согласно официальной документации Openshift, мы можем получить пароль kubadmin, как показано ниже:

      crc console --credentials 
To login as a regular user, run 'oc login -u developer -p developer https://api.crc.testing:6443'.
To login as an admin, run 'oc login -u kubeadmin -p gALwE-jY6p9-poc9U-gRcdu https://api.crc.testing:6443'

Однако я могу успешно войти в систему с помощью разработчика / разработчика. Kubeadmin завершится ошибкой с сообщением «Ошибка входа (401 неавторизованный)». Перезапустите CRC несколько раз. Все еще не работает ... Есть идеи по этому поводу?

      $ oc login -u developer -p developer https://api.crc.testing:6443
Login successful.

You have one project on this server: "demo"

Using project "demo"



$ oc login -u kubeadmin -p gALwE-jY6p9-poc9U-gRcdu https://api.crc.testing:6443
Login failed (401 Unauthorized)
Verify you have provided correct credentials.

Любые вклады будут оценены. Заранее спасибо..

2 ответа

Вы сказали, что перезапустили CRC. Вы пробовали удалить и заново создать кластер?

Одним из первых шагов в создании кластера является удаление учетной записи kubeadmin. Возможно ли, что вы сделали это, и «crc console --credentials» теперь отображает только то, что было раньше?

Если у вас есть другая учетная запись администратора, попробуйте:

      $ oc get -n kube-system secret kubeadmin

Чтобы удалить эту учетную запись (см. https://docs.openshift.com/container-platform/4.9/authentication/remove-kubeadmin.html), нужно просто удалить этот секрет. Если вы сделали это в какой-то момент в истории этого кластера, вам нужно будет либо использовать другие учетные записи администратора вместо kubeadmin, либо воссоздать экземпляр CRC (остановка crc; удаление crc; настройка crc)

На всякий случай, если у других возникает эта проблема, и проблема сохраняется даже после попытки остановки crc, удаления crc, очистки crc, настройки crc, запуска crc, я смог войти в систему как kubeadmin, НЕ используя следующую команду после того, как запуск crc получил мой CodeReady Контейнер в рабочем состоянии.

      eval $(crc oc-env)

Вместо этого я запускаю команду crc oc-env. В этом примере выходные данные возвращают /home/john.doe/.crc/bin/oc.

      ~]$ crc oc-env
export PATH="/home/john.doe/.crc/bin/oc:$PATH"
# Run this command to configure your shell:
# eval $(crc oc-env)

Затем я перечисляю содержимое каталога /home/john.doe/.crc/bin/oc, который показывает, что каталог /home/john.doe/.crc/bin/oc символически связан с каталогом /home/john.doe. /.crc/cache/crc_libvirt__amd64/oc.

      ~]$ ll /home/john.doe/.crc/bin/oc
lrwxrwxrwx. 1 john.doe john.doe 61 Jun  8 20:27 oc -> /home/john.doe/.crc/cache/crc_libvirt_4.10.12_amd64/oc

И тогда я смог войти в систему, используя абсолютный путь к инструменту командной строки oc.

      ~]$ /home/john.doe/.crc/cache/crc_libvirt_4.10.12_amd64/oc login -u kubeadmin -p 28Fwr-Znmfb-V6ySF-zUu29 https://api.crc.testing:6443
Login successful.

Я уверен, что мог бы углубиться в это, проверив содержимое $PATH моих пользователей, но достаточно сказать, что это, по крайней мере, обходной путь для меня, который позволяет мне войти в систему как kubeadmin.

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