Ansible — AWX (башня) — Как правильно настроить соединения на основе ключей SSH

#ssh #ansible #ansible-2.x #ansible-awx

Вопрос:

Это немного загруженный вопрос, но я ищу некоторые рекомендации и рекомендации по этому вопросу. Уровень навыков у Ansible умеренный, но новичок с AWX.

Текущий сценарий:

AWX настраивается, так что реальной настройки пока нет, кроме основ (инвентарь, некоторые cred, проекты, шаблоны). В Ansible (как я это делаю без AWX):

  1. «common_playbook» , который 1-й раз подключается через имя пользователя/пароль
  2. Копирует ключ SSH pub хоста Ansible (отдельный ключ, созданный только для этой цели) в целевой объект через модуль posix.authorized_key
  3. Измените «known_host» цели с помощью модуля known_host

Таким образом, это в основном позволяет контроллеру Ansible подключаться к новой цели в 1-й раз через пользователя/пропуск, а затем с этого момента по SSH.

Вопрос:

  • Буду ли/должен ли я развертывать ту же логику с AWX (тем более, что это контейнер)?
  • Обрабатывает ли AWX SSH-ключи немного иначе, чем Ansible (автономный)?
  • Я знаю, что могу добавить SSH — ключ в файл инвентаризации, но это тоже не рекомендуется.

Окружающая среда:

  • Встроенный контроллер (автономный): 2.10.8
  • AWX: 17.1.0 (находится в контейнере Docker) с встроенным Ansible 2.9.18 Ansible
  • Все ОС (узел Ansible и узел AWX): CentOS7

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

1. docs.ansible.com/ansible-tower/latest/html/userguide/…

2. Я не думаю, что это действительно отвечает на вопрос. Я просмотрел этот документ, но логика обработки подключений 1-го раза не рассмотрена. Я не хочу добавлять каждый новый сервер (так как они могут/будут динамически расширяться). Таким образом, идея заключается в том, что после обновления инвентаря Ansible идет, находит цель и запускает «общий» процесс. Если только я не пропустил что-то в этом документе.

3. Разверните серверы напрямую с помощью правильного пользователя развертывания и открытого ключа. Используйте тот же соответствующий закрытый ключ из awx. Кроме того, вы можете нажать открытый ключ из awx сразу после запуска, используя логин/пропуск, если вы его знаете.