Инструменты пользователя

Инструменты сайта


ansible:hosts_prepare

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
ansible:hosts_prepare [2022/11/01 16:19] – создано rootansible:hosts_prepare [2024/12/21 19:00] (текущий) – внешнее изменение 127.0.0.1
Строка 1: Строка 1:
 ====== 2. Подготовка хостов к управлению ====== ====== 2. Подготовка хостов к управлению ======
 +На управляющей ноде:
 +<code bash>
 +# Создать пользователя ansible
 +useradd ansible
 +# Зайти из под пользователя ansible
 +su - ansible
 +# Сгенерировать включевую пару для ssh
 +ssh-keygen
 +</code>
 +Подготавливаем playbook prepare_hosts.yml, который должен создать на удаленных нодах пользователя ansible, входящего в группу wheel, скопировать открытый ключ для доступа по ssh, разрешить sudo без пароля
 +<code yaml prepare_hosts.yml>
 +---
 +- name: Prepare servers for Ansible
 +  hosts: all
 +  gather_facts: false
 +  tasks:
 +  - name: Create ansible user
 +    user:
 +      name: ansible
 +      groups: wheel
 +  - name: Setup public key for Ansible user
 +    authorized_key:
 +      user: ansible
 +      state: present
 +      key: "{{ lookup('file','/home/ansible/.ssh/id_rsa.pub') }}"
 +  - name: Create ansible sudoers file
 +    file:
 +      path: /etc/sudoers.d/ansible
 +      state: touch
 +  - name: Put info into file
 +    blockinfile:
 +      path: /etc/sudoers.d/ansible
 +      block: |
 +        # Set ansible user sudo without password
 +        %ansible    ALL=(ALL)     NOPASSWD: ALL
 +</code>
 +Выполним playbook из-под root (позже можно запретить пользователю root вход по ssh по паролю).
 +<code bash>
 +ansible-playbook prepare_hosts -u root --askpass
 +</code>
 +В случае успешного выполнения можно попробовать выполнить "пинг" удаленных нод уже из-под пользователя ansible.
 +<code bash>
 +ansible all -m ping
 +</code>
 +
  
ansible/hosts_prepare.1667308798.txt.gz · Последнее изменение: 2024/12/21 19:00 (внешнее изменение)