Вступление
По мере повышения зрелости процессов управления ИТ, перед каждой организацией встаёт вопрос о инструменте управления конфигурацией.
Ansible был создан компанией Red Hat как инструмент по автоматизации с открытым исходным кодом. Он может настраивать системы, развертывать программное обеспечение и организовывать рабочие процессы для поддержки развертывания приложений, обновлений системы и многого другого. Главными преимуществами Ansible по сравнению с подобными платформами – это отсутствие необходимости устанавливать агенты, простота и удобство использования.
Ключевые особенности Ansible
Ключевые особенности Ansible:
- Безагентный. На клиент не нужно устанавливать ПО, через которое клиент будет общаться с сервером
- Идемпотентное. Независимо от того, сколько раз вы вызываете операцию, результат будет одинаковым.
- Простое и расширяемое. Программа Ansible написанa на Python и использует YAML для написания команд. Оба языка считаются относительно простыми в изучении.
В качестве клиента можно использовать множество систем и продуктов:
- Windows
- Linux
- FreeBSD
- Облачные ресурсы множества провайдеров, таких как VK Cloud, AWS, Azure и многие другие
- Сетевое оборудование
- Любая система, которая может принять ssh-соединение
Начало работы
Для работы с Ansible требуется совершить несколько шагов:
1) Для начала Ansible необходимо установить. Для Ubuntu команда установки будет выглядеть так:
$ Sudo apt install ansible
Для других операционных систем вы можете посмотреть инструкцию здесь - https://docs.ansible.com/ansible/latest/installation_guide/index.html
2) Далее необходимо подключиться к клиентской системе
Сначала генерируем ssh-ключ на сервере
SSH-ключ для Linux/MacOS
Откройте терминал и выполните команду:
$ ssh-keygen -t rsa
На консоль будет выведен следующий диалог:
Enter file in which to save the key (/home/user/.ssh/id_rsa):
Нажмите на клавишу Enter. Далее система предложит ввести кодовую фразу для дополнительной защиты SSH-подключения:
Enter passphrase (empty for no passphrase):
Этот шаг можно пропустить. При ответе на этот и следующий вопрос просто нажмите клавишу Enter.
После этого ключ будет создан, а на консоль будет выведено сообщение
Далее выполните в терминале команду:
$ cat ~/.ssh/id_rsa.pub
И вы увидите ключ
Нужно скопировать ключ на клиент, либо файликом либо командой
>ssh-copy-id ip-клиента
На клиенте установим openssh
sudo apt install openssh-server
в /etc/ssh/sshd_config раскоментировать строчки
PubkeyAuthentication yes
PermitRootLogin yes
не забудьте разрешить подключение
sudo ufw allow 22/tcp
перезапускаем сервис sshd
sudo systemctl restart ssh
3) Далее на управляющем сервере нужно создать папку с проектом и инвентаризационный файл
создадим папку проекта и перейдём в неё
mkdir ansible
cd ansible
создадим host.txt файл со списком клиентов
и введём инструкцию
[my_servers]
linux_client1 ansible_host= %вводим ip клиента% ansible_user=%имя юзера на клиенте% ansible_ssh_private_key_file= путь к файлу id_rsa, например /home/engineer/.ssh/id_rsa
проверяем работу ansible
ansible -i hosts.txt all -m ping
подтверждаем импорт ключей
мы должны получить ответ
"ping": "pong"
Таким образом вы сделали базовую настройку управляющего сервера Ansible и подключили к нему одного клиента.
Вы можете пройти обучение по работе с Ansible в нашем учебном центре
Подпишись на рассылку актуальных новостей
и читай нас в соц. сетях