kolla ansible – отсутствует пароль sudo

Вопрос или проблема

Я пытаюсь предварительно проверить kolla-ansible перед развертыванием OpenStack, но возникла проблема, которую я не знаю, как решить. Я следовал этому документу для настройки:
https://github.com/hocchudong/ghichep-OpenStack/blob/master/13-Kolla/kolla-ansible/Kolla-Ansible-Docker.md
Кто-нибудь может помочь?

ОБНОВЛЕНИЕ:
Я исправил ошибку отсутствия sudo, установив sshpass на контроллер и запустив эту команду на каждом узле echo "user_name ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/user_name
Когда я предварительно проверил, все было в порядке, поэтому я решил развернуть

kolla-ansible -i multinode deploy

И вот проблема
enter image description here

Убедитесь, что вы включили использование небезопасного реестра docker в файле globals.yml, чтобы пройти мимо

убедитесь, что образ fluentd имеется для проверки метки
ошибка.

################
# Опции Docker
################

# Настройки пользовательского реестра docker:
#docker_registry
# Пожалуйста, внимательно прочитайте документацию перед применением docker_registry_insecure.

docker_registry_insecure: “yes”

#docker_registry_username:
# docker_registry_password задан в файле passwords.yml.

спасибо, я застрял на 3 дня из-за проблемы с отсутствием пароля.
В моем случае у меня есть:

узел развертывания 
узел хранения 
вычислительный узел
контроллерный узел 

Поэтому я установил sshpass на все узлы, так же как и добавил своего пользователя в sudoers

Если я установлю ненадежность реестра, развертывание не удалось, поэтому мне это не нужно в моем случае.

Ответ или решение

Когда вы сталкиваетесь с проблемой, связанной с ошибкой sudo при использовании kolla-ansible для развертывания OpenStack, это может вызывать значительные затруднения, особенно если вы следуете официальным документам и всё же наталкиваетесь на преграды. В этом случае для решения проблемы необходимо понимание того, как работают привилегии sudo и какие настройки требуются для корректной работы инструментов автоматизации.

Теория

Проблема с Sudo:
Когда kolla-ansible выполняет задачи на удалённых узлах, он использует SSH для подключения и выполнения команд от имени определенного пользователя. В большинстве случаев эти команды требуют административных привилегий, поэтому обычно используется механизм sudo. Конфигурация sudo по умолчанию может запрашивать пароль, что мешает автоматизированному процессу.

Решение с Использованием SSH:
Чтобы обеспечить беспрепятственное выполнение команд, часто применяют разрешение безпарольного выполнения команд sudo для указанного пользователя. Это достигается с помощью конфигурации файла sudoers, добавляя запись NOPASSWD для нужного пользователя.

Использование Сторонних Утилит:
Утилита sshpass может быть полезна в ряде случаев, когда необходимо передать пароль при подключении по SSH или для автоматизации процессов развертывания, но при правильной настройке этого обычно удается избежать.

Пример

В вашем случае вы столкнулись с проблемой, когда необходимо было вручную добавлять конфигурацию в sudoers на каждом узле, используя следующую команду:

echo "user_name ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/user_name

Работа с kolla-ansible

Kolla-ansible требует подготовительного этапа precheck, который, по сути, проверяет готовность системы к развертыванию. На этом этапе важно убедиться, что отсутствуют проблемы с доступами. Как только команда precheck выполняется без ошибок, вы можете приступить к основной фазе развертывания.

Применение

Обеспечение безопасности и корректной работы:

  1. Конфигурация sudoers:

    • Убедитесь, что на всех актуальных узлах (controller, compute, storage, deployment) настроен файл sudoers согласно примеру выше.
    • Проверьте, что запись в /etc/sudoers.d/ корректно применена и не содержит ошибок ввода, которые могут повлиять на безопасность.
  2. Проверка SSH и sudo:

    • Проверьте корректность SSH-ключей на узлах, чтобы убедиться, что они могут автоматически подключаться без пароля.
    • Убедитесь, что префикс sudo станции не запрашивает пароль при вызове соответствующих команд.
  3. Настройка docker_registry_insecure:

    • Это может быть полезно, если ваш частный реестр Docker неправильно настроен на использование SSL-сертификатов.
    • Имейте в виду, что настройка insecure-регистра может не потребоваться в случаях, когда SSL-сертификаты конфигурированы правильно.

Заключение

Решение подобных проблем требует систематического подхода и понимания того, как различные элементы системы интегрируются. Важно не только настроить всё правильно, но и понимать последствия каждой конфигурационной модификации для безопасности и стабильности системы.

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

Оцените материал
Добавить комментарий

Капча загружается...