Ansible - это система управления конфигурацией. Управление конфигурацией обеспечивает автоматическое развертывание, настройку и централизованное управление приложениями. Это удобно, если вам нужно развернуть приложение на нескольких серверах без необходимости делать это вручную на всех ваших серверах. Вы также можете добавить идентичные серверы в ваш кластер. Например, вы можете настроить балансировщик нагрузки / кластер / отработка отказа.
Ansible обеспечивает управление конфигурацией, поэтому вы можете очень легко добавлять идентичные серверы в ваш кластер. Вы также можете осуществлять централизованное управление всеми вашими серверами в одном месте. Вы можете запустить apt-get update
на всех серверах одновременно!
Лично я предпочитаю Ansible, потому что он выполняет свою работу без необходимости вручную устанавливать программное обеспечение на всех ваших серверах. Это делает развертывание и управление по SSH. SSH является стандартным средством управления сервером, но недостатком здесь является то, что вам нужно включить SSH. Некоторые могут посчитать это угрозой безопасности, хотя Ansible работает с ключами SSH, которые более безопасны.
В этом уроке мы увидим, как мы можем установить Ansible на Ubuntu 14.04.
Шаг 1: Установка Ansible
Вы можете установить Ansible с помощью:
apt-get install ansible
Вам нужно поместить в /etc/ansible/hosts
файл все серверы, которыми вы хотите управлять с помощью Ansible .
Вам нужно будет закомментировать все строки. Перейти к последней строке hosts
файла, чтобы создать категорию. Скажем, у вас есть кластер веб-серверов и серверов баз данных. Вы можете создать две отдельные категории: web
и db
. Если вы хотите внести изменения на всех серверах баз данных, вы можете использовать их в db
качестве выбора, чтобы затронуть только все серверы баз данных, а не другие серверы, такие как ваши веб-серверы в web
категории.
Пример:
[web]
localhost ansible_ssh_host=127.0.0.1
web1 ansible_ssh_host=192.168.2.2
web2 ansible_ssh_host=0.0.0.0
[db]
db1 ansible_ssh_host=192.168.2.3
db2 ansible_ssh_host=192.168.2.4
db3 ansible_ssh_host=192.168.2.5
db4 ansible_ssh_host=192.168.2.6
Формат: name ansible_ssh_host=ip
Обратите внимание, что если вы используете Ansible 2.0, эта ssh_
часть устарела. Вместо этого используйте ansible_host
.
name
это просто имя для ссылки на ваш сервер, ip
это фактический IP.
Это говорит анзибль , что у вас есть 3 веб - серверы , IP - адреса 127.0.0.1
, 192.168.2.2
а 0.0.0.0
и 4 сервера баз данных на IP - адресах 192.168.2.3-6
.
Шаг 2: Настройка ключей SSH
Ansible работает с ключами SSH. Если ваш SSH-ключ на узлах отличается от вашего Ansible-сервера, он выдаст ошибку. Поэтому нам нужно сгенерировать ключ SSH.
ssh-keygen
Теперь добавьте ваш SSH-ключ к вашим узлам. Если все ваши узлы находятся в Vultr, перейдите к диспетчеру ключей Vultr SSH и добавьте свой открытый ключ. Это можно найти здесь:
cat ~/.ssh/id_rsa.pub
Затем при развертывании сервера выберите свой ключ SSH в разделе «Ключи SSH».
Шаг 3: Тест Ansible
Чтобы проверить, можете ли вы пропинговать все ваши серверы в hosts
файле, вы можете использовать следующую команду:
ansible -m ping all
Это подтверждает, находятся ли ваши серверы в сети.
Вы также можете выполнить команду:
ansible web -m command -a 'shutdown -h now'
Мы только что выполнили команду shutdown -h now
на всех серверах в web
категории.
На данный момент Ansible настроен и готов к работе. Кажется довольно просто, верно? Ну, мы еще не рассмотрели самую мощную функцию Ansible: playbooks. Узнайте больше о книгах в этом уроке .