Ansible стать не переключающим пользователем - PullRequest
0 голосов
/ 18 июня 2020

Я пытаюсь создать playbook, который должен выполнить следующие задачи:

  • получить имена хостов и выпуски из файла файл
  • подключиться к эти имена хостов одно за другим
  • извлекают содержимое другого файла another_file на каждом хосте, который даст нам среду (dev, qa, prod)

, поэтому Моя первая задача - получить имена хостов, к которым мне нужно подключиться

- name: retrieve nodes
  shell: cat file | grep ";;" | grep foo | grep -v "bar" | sort | uniq
  register: nodes

- adding nodes:
  add_host:
     name: "{{ item }}"
     group: "servers"
  with_items: "{{ nodes.stdout_lines }}"

, следующая задача подключается к хостам

- hosts: "{{ nodes }}"
  become: yes
  become_user: user1
  become_method: sudo
  gather_facts: no
  tasks:
    - name: check remote file
      slurp:
        src: /xyz/directory/another_file
      register: thing
    - debug: msg="{{ thing['content'] | b64decode }}"

, но это не работает, когда я добавить подробности Я все еще вижу, что задача выполняется с пользователем, запустившим playbook (local_user)

<node> ESTABLISH SSH CONNECTION FOR USER: local_user

что я делаю не так?

ansible версия 2.7.1 over rhel 6.1

UPDATE

Я также использовал remote_user: user1

- hosts: "{{ nodes }}"
  remote_user: user1
  gather_facts: no
  tasks:
    - name: check remote file
      slurp:
        src: /xyz/directory/another_file
      register: thing
    - debug: msg="{{ thing['content'] | b64decode }}"

пока не повезло, та же ошибка

Ответы [ 2 ]

0 голосов
/ 18 июня 2020

, если вы используете become_user, это похоже на использование sudo command на удаленном компьютере. Вы хотите подключиться к своим машинам как конкретный пользователь c. И после того, как соединение установлено, введите команды с sudo. На этот вопрос есть несколько ответов, которые должны вам помочь.

0 голосов
/ 18 июня 2020

Вам необходимо установить remote_user, который определяет, какое имя пользователя используется при подключении к серверу. Только после установки соединения используется become_user.

https://docs.ansible.com/ansible/latest/user_guide/playbooks_intro.html#hosts -and-users

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...