Как установить и настроить на Ubuntu 16.04?
Я не использую Ansible, но я нашел это простым, чтобы следить за учебником из Digital Ocean, и это следующие шаги:
Установка:sudo apt-add-repository ppa:ansible/ansible
sudo apt-get update
sudo apt-get install ansible
Настройка несуществующих хостов: Edit sudo nano /etc/ansible/hosts: Поскольку в учебнике используются фиктивные хосты, они будут добавлены в реальной ситуации: [group_name]
alias ansible_ssh_host=your_server_ip
Имя_группы - это организационный тег, который позволяет ссылаться на любые серверы, перечисленные под ним одним словом. Псевдоним - это просто имя для ссылки на этот сервер. Таким образом, в нашем сценарии мы представляем себе, что у нас есть три сервера, с которыми мы будем управлять с Ansible. Эти серверы доступны с сервера Ansible, набрав: ssh root@your_server_ip
Предположим, что IP-адреса наших серверов - 192.0.2.1, 192.0.2.2 и 192.0.2.3. Мы установим это так, чтобы мы могли обращаться к ним отдельно как host1, host2 и host3 или как группа в качестве серверов: [servers]
host1 ansible_ssh_host=192.0.2.1
host2 ansible_ssh_host=192.0.2.2
host3 ansible_ssh_host=192.0.2.3
С нашими текущими настройками, если мы попытались подключиться к любому из этих хостов с Ansible, (если вы не работаете в качестве пользователя root). Это связано с тем, что ваш SSH-ключ встроен для пользователя root в удаленных системах, а Ansible по умолчанию попытается подключиться как ваш текущий пользователь. Попытка подключения получит эту ошибку: host1 | UNREACHABLE! => {
"changed": false,
"msg": "Failed to connect to the host via ssh.",
"unreachable": true
}
На сервере Ansible мы используем пользователя, который называется demo. Ansible попытается подключиться к каждому хосту с помощью ssh demo @ server. Это не будет работать, если демонстрационный пользователь не находится в удаленной системе. Мы можем создать файл, который сообщает всем серверам в группе «серверы» подключиться с использованием пользователя root. Для этого мы создадим каталог в структуре конфигурации Ansible, называемой group_vars. В этой папке мы можем создавать файлы в формате YAML для каждой группы, которую мы хотим настроить: sudo mkdir /etc/ansible/group_vars
sudo nano /etc/ansible/group_vars/servers
Добавить это там: ---
ansible_ssh_user: root
Если вы хотите указать данные конфигурации для каждого сервера, независимо от объединения групп, вы можете поместить эти подробности в файле / etc / ansible / group_vars / all. Отдельные хосты могут быть настроены путем создания файлов под каталогом на / etc / ansible / host_vars. Использование Simple Ansible Commands: ansible -m ping all
# Output:
host1 | SUCCESS => {
"changed": false,
"ping": "pong"
}
host3 | SUCCESS => {
"changed": false,
"ping": "pong"
}
host2 | SUCCESS => {
"changed": false,
"ping": "pong"
}
«Все» означает все хосты. Мы могли бы также легко указать группу: ansible -m ping servers
Мы могли бы также указать отдельный хост: ansible -m ping host1
Мы можем указать несколько хостов, разделив их на colons: ansible -m ping host1:host2
Модуль «shell» позволяет нам отправить команду терминала на удаленный хост и получить результаты. Например, чтобы узнать об использовании памяти на нашей машине host1, мы могли бы использовать: ansible -m shell -a 'free -m' host1
# Result:
host1 | SUCCESS | rc=0 >>
total used free shared buffers cached
Mem: 3954 227 3726 0 14 93
-/+ buffers/cache: 119 3834
Swap: 0 0 0
Дополнительная информация:
https://www.digitalocean.com/community/ учебники / как в установке, и конфигурировать-анзибль-на-убунту-16-04
Я не использую Ansible, но я нашел это простым, чтобы следить за учебником из Digital Ocean, и это следующие шаги:
Установка:sudo apt-add-repository ppa:ansible/ansible
sudo apt-get update
sudo apt-get install ansible
Настройка несуществующих хостов: Edit sudo nano /etc/ansible/hosts: Поскольку в учебнике используются фиктивные хосты, они будут добавлены в реальной ситуации: [group_name]
alias ansible_ssh_host=your_server_ip
Имя_группы - это организационный тег, который позволяет ссылаться на любые серверы, перечисленные под ним одним словом. Псевдоним - это просто имя для ссылки на этот сервер. Таким образом, в нашем сценарии мы представляем себе, что у нас есть три сервера, с которыми мы будем управлять с Ansible. Эти серверы доступны с сервера Ansible, набрав: ssh root@your_server_ip
Предположим, что IP-адреса наших серверов - 192.0.2.1, 192.0.2.2 и 192.0.2.3. Мы установим это так, чтобы мы могли обращаться к ним отдельно как host1, host2 и host3 или как группа в качестве серверов: [servers]
host1 ansible_ssh_host=192.0.2.1
host2 ansible_ssh_host=192.0.2.2
host3 ansible_ssh_host=192.0.2.3
С нашими текущими настройками, если мы попытались подключиться к любому из этих хостов с Ansible, (если вы не работаете в качестве пользователя root). Это связано с тем, что ваш SSH-ключ встроен для пользователя root в удаленных системах, а Ansible по умолчанию попытается подключиться как ваш текущий пользователь. Попытка подключения получит эту ошибку: host1 | UNREACHABLE! => {
"changed": false,
"msg": "Failed to connect to the host via ssh.",
"unreachable": true
}
На сервере Ansible мы используем пользователя, который называется demo. Ansible попытается подключиться к каждому хосту с помощью ssh demo @ server. Это не будет работать, если демонстрационный пользователь не находится в удаленной системе. Мы можем создать файл, который сообщает всем серверам в группе «серверы» подключиться с использованием пользователя root. Для этого мы создадим каталог в структуре конфигурации Ansible, называемой group_vars. В этой папке мы можем создавать файлы в формате YAML для каждой группы, которую мы хотим настроить: sudo mkdir /etc/ansible/group_vars
sudo nano /etc/ansible/group_vars/servers
Добавить это там: ---
ansible_ssh_user: root
Если вы хотите указать данные конфигурации для каждого сервера, независимо от объединения групп, вы можете поместить эти подробности в файле / etc / ansible / group_vars / all. Отдельные хосты могут быть настроены путем создания файлов под каталогом на / etc / ansible / host_vars. Использование Simple Ansible Commands: ansible -m ping all
# Output:
host1 | SUCCESS => {
"changed": false,
"ping": "pong"
}
host3 | SUCCESS => {
"changed": false,
"ping": "pong"
}
host2 | SUCCESS => {
"changed": false,
"ping": "pong"
}
«Все» означает все хосты. Мы могли бы также легко указать группу: ansible -m ping servers
Мы могли бы также указать отдельный хост: ansible -m ping host1
Мы можем указать несколько хостов, разделив их на colons: ansible -m ping host1:host2
Модуль «shell» позволяет нам отправить команду терминала на удаленный хост и получить результаты. Например, чтобы узнать об использовании памяти на нашей машине host1, мы могли бы использовать: ansible -m shell -a 'free -m' host1
# Result:
host1 | SUCCESS | rc=0 >>
total used free shared buffers cached
Mem: 3954 227 3726 0 14 93
-/+ buffers/cache: 119 3834
Swap: 0 0 0
Дополнительная информация:
https://www.digitalocean.com/community/ учебники / как в установке, и конфигурировать-анзибль-на-убунту-16-04