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

#openshift #kubectl #openshift-origin #openshift-3 #okd

#openshift #kubectl #openshift-origin #openshift-3 #okd

Вопрос:

Я новичок в openshift или K8. Я установил кластер Openshift v3.11.0 bf985b1-463 в свой centos 7. При выполнении предварительных условий.yml и deploy_cluster.статус запуска yml — успешно. И я обновил htpasswd и предоставил моему пользователю роль администратора кластера.

 htpasswd -b ${HTPASSWD_PATH}/htpasswd $OKD_USERNAME ${OKD_PASSWORD}
oc adm policy add-cluster-role-to-user cluster-admin $OKD_USERNAME
  

и я также создал пользователя и удостоверение с помощью приведенного ниже cmd.

 oc create user bob
oc create identity ldap_provider:bob
oc create useridentitymapping ldap_provider:bob bob
  

Когда я пытаюсь войти с oc login -u bob -p password , он говорит

Ошибка входа в систему (401 неавторизованный) Убедитесь, что вы предоставили правильные учетные данные.

Но я могу войти в систему с oc login -u system:admin

Для вашей информации: кластер развертывания okd.yml запущен успешно, но приведенный ниже модуль находится в состоянии ошибки. Это причина проблемы? cmd oc get pods

введите описание изображения здесь

Подскажите, как я могу устранить проблему. Спасибо.

ОБНОВЛЕНИЕ: я снова запустил deploy_cluster.yml, проблема с входом в систему решена, можно войти. Но он завершается ошибкой, указанной ниже.

 This phase can be restarted by running: playbooks/openshift-logging/config.yml
Node logging-es-data-master-ioblern6 in cluster logging-es was unable to rollout. Please see documentation regarding recovering during a rolling cluster restart
  

В консоли openshift модуль ведения журнала имеет следующее событие.
введите описание изображения здесь

Но на всех серверах достаточно памяти, например, более 65% свободно. А версия Ansible — 2.6.5

Конфигурация 1 главного узла: 4CPU, 16 ГБ оперативной памяти, 50 ГБ жесткого диска

Конфигурация 2 подчиненных и 1 инфраузла: 4 процессора, 16 ГБ оперативной памяти, 20 ГБ жесткого диска

Комментарии:

1. По какой-либо причине вы установили OCP v3.11? Текущая версия, если v4.5.7…

2. мое руководство попросило сделать только это, и у меня есть еще одно сомнение. на основе документации okd для версии v3.11 последняя версия — v3.11.272. я установил несколько дней назад только версию v3.11.0 bf985b1-463. как я могу обновить до последней версии

3. Пожалуйста, проверьте ресурсы на рабочем узле

4. Я проверил и обновил свои конфигурации в разделе ОБНОВЛЕНИЙ @DashrathMundkar

Ответ №1:

Чтобы создать нового пользователя, попробуйте выполнить эти шаги:

1 Создайте на каждом главном узле ввод пароля в файле htpasswd с:

$ htpasswd -b </путь/к/htpasswd> <имя_пользователя>

 $ htpasswd -b /etc/origin/master/htpasswd myUser myPassword
  

2 Перезапустите на каждом главном узле главный API и главные контроллеры

 $ master-restart controllers amp;amp; master-restart api
or
$ /usr/local/bin/master-restart api amp;amp; /usr/local/bin/master-restart controllers
  

3 Примените необходимые роли

 $ oc adm policy add-cluster-role-to-user cluster-admin myUser
  

4 Войдите в систему как myUser

 $ oc login -u myUser -p myPassword 
  

Повторный запуск deploy_cluster.yaml после настройки файла htpasswd принудительно перезапустит основные контроллеры и API, чтобы вы могли войти в систему как новый пользователь.

Что касается другой проблемы, не запущены модули registry-console и loggin-es-data-master, это потому, что вы не можете снова запустить deploy_cluster.yaml, когда ваш кластер уже запущен, поэтому вам нужно удалить okd, а затем снова запустить playbook. Это происходит потому, что SDN уже работает, и все ваши узлы уже владеют всеми необходимыми сертификатами.

 $ ansible-playbook -i path/to/inventory /usr/share/ansible/openshift-ansible/playbooks/adhoc/uninstall.yml
  

и затем снова

 $ ansible-playbook -i path/to/inventory /usr/share/ansible/openshift-ansible/playbooks/deploy_cluster.yml
  

Более подробная информация находится здесь

Если после всей этой процедуры модуль logging-es-data-master не должен запускаться, удалите компонент logging с помощью

 $ ansible-playbook -i /path/to/inventory> /usr/share/ansible/openshift-ansible/playbooks/openshift-logging/config.yml -e openshift_logging_install_logging=False -e openshift_logging_purge_logging=true
  

а затем удалите весь okd и установите его снова.

Если ваш кластер уже работает, и вы не можете снова выполнить установку, попробуйте только удалить и переустановить компонент ведения журнала:

 $ ansible-playbook -i /path/to/inventory> /usr/share/ansible/openshift-ansible/playbooks/openshift-logging/config.yml -e openshift_logging_install_logging=False -e openshift_logging_purge_logging=true
$ ansible-playbook -i /path/to/inventory> /usr/share/ansible/openshift-ansible/playbooks/openshift-logging/config.yml -e openshift_logging_install_logging=True
  

Здесь приведены подробные инструкции RH

Комментарии:

1. Спасибо за вашу поддержку, я удалил и установил okd, он работает нормально. перед удалением я погуглил и нашел команды master-restart controllers amp;amp; master-restart api , но эти команды не работают, что означает ошибку, а не внутреннюю команду