войти в 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.