Ansible
Ansible — система управления конфигурациями, написанная на Python, с использованием декларативного языка разметки для описания конфигураций. Используется для автоматизации настройки и развертывания программного обеспечения. Обычно используется для управления Linux-узлами, но Windows также поддерживается. Поддерживает работу с сетевыми устройствами, на которых установлен Python версии 2.4 и выше по SSH или WinRM соединению.
Если коротко, то нужно создать пользователя отличного от рута, добавить его в группу sudo( или внести в файлик /etc/sudoers запись вида "user ALL=(ALL:ALL) ALL"). Также необходимо организовать доступ на сервер для этого пользователя по ключу без пароля!
# yum update
# yum upgrade
# yum install epel-release
# yum install ansible
Правим настройки SSH :
# nano /etc/ssh/sshd_config PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys
На сервере c Ansible копируем id_pub.pub на удаленный сервер с помощью утилиты ssh-copy-id:
[root@localhost]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.1.84
Тестируем подключение, при этом пароль не должен запрашиваться:
[root@localhost]# ssh -v user@192.168.1.84
Добавим наш тестовый сервер в файл hosts, для дальнейшего тестирования возможностей Ansible:
[vpn]
centos ansible_ssh_host=192.168.1.86
Проверяем работу Ansible локально и с mastera:
$ sudo ansible -m ping vpn
Вывод команды такой, то все ок:
anstest.ru | SUCCESS => {
"changed": false,
"ping": "pong"
}
Но если на сервере, виртуалке, в контейнере VDS или VPS чего то не хватает , например python3.7, то его придется установить!
Но если вывод команды такой, то пора призвать змея:
loktes.ru | FAILED! => {
"changed": false,
"module_stderr": "Shared connection to 192.168.0.209 closed.\r\n",
"module_stdout": "/bin/sh: /usr/bin/python3: No such file or directory\r\n",
"msg": "The module failed to execute correctly, you probably need to set the interpreter.\nSee stdout/stderr for the exact error",
"rc": 127
}
Установить python 3.7 на Сentos 7
# yum -y groupinstall "Development tools"
# yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel
# yum -y install readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
# yum install libffi-devel -y
Загрузите установочный пакет python3.7 и разархивируйте его:
# cd ~
# yum -y install wget
# wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz
# tar -xvJf Python-3.7.0.tar.xz
Скомпилируйте и установите:
# mkdir /usr/local/python3
# cd Python-3.7.0
# ./configure --prefix=/usr/local/python3
# make && make install
Создайте мягкое соединение:
# ln -s /usr/local/python3/bin/python3 /usr/local/bin/python3 # ln -s /usr/local/python3/bin/pip3 /usr/local/bin/pip3
САМОЕ ГЛАВНОЕ ЧТО НУЖНО СДЕЛАТЬ:
# ln -s /usr/local/bin/python3 /usr/bin/python3
Cпасибо автору!
Источник :
https://russianblogs.com/article/7881820128/