Ansible
Обновление всех серверов в группе:
- ansible nodes -m yum -a "name=* state=latest" -b -e @passwords
Создание роли:
- ansible-galaxy init notify
ansible --version | grep "python version"Меняем версию
меняем линк в /usr/bin/python на /usr/bin/python3
Установщик для Debian/Ubuntu
Тут лучше
wget https://github.com/mikbill/accel_ansible/blob/master/ansible_install_deb.sh
Установщик для Debian/Ubuntu
Тут лучше
wget https://github.com/mikbill/accel_ansible/blob/master/ansible_install_deb.sh
- wget https://github.com/mikbill/design/raw/master/accel_ansible/ansible_install_deb.sh
- chmod +x ansible_install_deb.sh
- ./ansible_install_deb.sh
CentOS release 6.8 и Centos 7
Установка
- yum -y update && yum -y install epel-release && yum -y install ansible
Настраиваем конфиг
- mcedit /etc/ansible/hosts
[test-servers]
10.10.10.10 ansible_ssh_user=LOGIN ansible_ssh_pass=PASSWORD ansible_ssh_port=65098
Файл Host inventory содержит информацию об обслуживаемых серверах, где команды будут исполнены.
Наборы инструкций (playbooks) состоят из одной или более задач, которые описываются с помощью функциональность модуля ядра Ansible или сторонних модулей, которые могут потребоваться в специфических ситуациях.
Настройки удалённых хостов хранятся в файле /etc/ansible/hosts.
Настройки удалённых хостов хранятся в файле /etc/ansible/hosts.
- mv /etc/ansible/hosts /etc/ansible/hosts.default
Настройка
- nano /etc/ansible/hosts
[test box]
cent2
[local]
cent1
(Это если хосты добавлены /etc/hosts)
Подключение к хостам по паролю
для этого потребуется установить sshpass
- yum install sshpass
Пример использования
- ansible cent2 -m ping -k -u root
- ansible -m ping all
- modprobe nf_conntrack_pptp
- pppd call realip
- wget -O - -q mikbill.ru/getip.php
Настройка /etc/ansible/ansible.cfg
- mcedit /etc/ansible/ansible.cfg
host_key_checking: Параметр позволяет отключить проверку SSH–ключа на хосте. По-умолчанию проверка выполняется.
Ошибки
"module_stdout": "/bin/sh: 1: /usr/bin/python: not found\r\n",
Печально, но на клиенте требуется python
- apt-get install python
"msg": "Using a SSH password instead of a key is not possible because Host Key checking is enabled and sshpass does not support this. Please add this host's fingerprint to your known_hosts file to manage this host."
получить ключ или отключить проверку ключа
Команды
- ansible all -m shell -a "uptime"
state=absent - удалить
get_url - закачать
-b - повышение прав
-vvvv информация при выполнении
Шифрованные файлы
На все переменные используется один пароль
ansible-vault create mysecret.txt - создаем зашифрованный файл
ansible-vault view mysecret.txt - читаем зашифрованный файл
Шифрованные файлы
На все переменные используется один пароль
ansible-vault create mysecret.txt - создаем зашифрованный файл
ansible-vault view mysecret.txt - читаем зашифрованный файл
ansible-vault edit mysecret.txt - редактируем
rekey - меняем пароль
rekey - меняем пароль
enkrypt - зашифровать плейбук
decrypt - расшифровать
ansible-playbook playbook.yml --ask-vault-pass - запустить зашифрованный плейбук
decrypt - расшифровать
ansible-playbook playbook.yml --ask-vault-pass - запустить зашифрованный плейбук
ansible-playbook playbook.yml --vault-password-file mypass.txt - запускаем зашифрованный плейбук с паролем в файле
ansible-vault encrypt_string -- - ввод строки для шифрования (для переменных)
ansible-vault encrypt_string -- - ввод строки для шифрования (для переменных)
echo -n "pass" | ansible-vault encrypt_string --
Комментарии
Отправить комментарий