Установка Ansible на CentOS: Простое руководство для начинающих
Для установки Ansible на CentOS мы будем использовать командную строку. Чтобы начать, убедитесь, что у вас есть доступ к серверу с правами администратора. Обычно это осуществляется с помощью учетной записи root или пользователя, имеющего права sudo.
Шаг 1. Установка EPEL-репозитория
CentOS по умолчанию не предоставляет доступ к пакету Ansible, поэтому для начала нам нужно подключить дополнительный EPEL-репозиторий (Extra Packages for Enterprise Linux). EPEL — это коллекция пакетов, поддерживаемых сообществом и часто используемых в Red Hat и CentOS. Установить его можно, выполнив команду:
sudo yum install epel-release -y
Эта команда устанавливает репозиторий EPEL, что позволит в дальнейшем установить Ansible напрямую из YUM.
Шаг 2. Установка Ansible
Теперь, когда у нас есть доступ к EPEL-репозиторию, можно установить Ansible. Для этого используйте следующую команду:
sudo yum install ansible -y
Эта команда загрузит и установит Ansible и все необходимые зависимости. После завершения установки можно проверить успешность установки с помощью команды:
ansible --version
Если установка прошла успешно, вы увидите версию Ansible и другую сопутствующую информацию.
Проверка установки и базовая настройка
Теперь, когда Ansible установлен, давайте убедимся, что он может взаимодействовать с другими серверами. Для этого создадим простой файл настроек hosts, в котором укажем серверы, к которым Ansible сможет подключаться. Обычно этот файл находится по адресу /etc/ansible/hosts.
Шаг 3. Добавление серверов в файл hosts
Откройте файл /etc/ansible/hosts с помощью текстового редактора (например, vim или nano):
sudo nano /etc/ansible/hosts
Добавьте туда IP-адреса или доменные имена серверов, к которым вы хотите подключаться. Структура файла может выглядеть так:
[webservers]
192.168.0.101
192.168.0.102
[dbservers]
192.168.0.201
192.168.0.202
В примере выше мы добавили два сервера в группу webservers и два в dbservers. Группы помогают удобно разделять серверы по категориям для последующего управления.
Шаг 4. Настройка SSH-доступа
Ansible использует SSH для связи с удаленными серверами. Чтобы убедиться, что он сможет подключаться, настройте SSH-ключи для доступа к серверам без пароля. Это делается с помощью команды:
ssh-keygen
Следуйте инструкциям и сохраните ключи. Затем добавьте ключ на каждый сервер, к которому вы планируете подключаться, выполнив команду:
ssh-copy-id user@server_address
Где user — это имя пользователя, под которым вы будете подключаться, а server_address — это IP-адрес или доменное имя удаленного сервера.
Шаг 5. Проверка связи с серверами
После настройки SSH-доступа давайте проверим, что Ansible может связаться с нашими серверами. Используйте следующую команду:
ansible all -m ping
Если настройка выполнена правильно, вы увидите ответ pong от каждого из серверов, что означает успешное подключение.
Запуск первого простого примера
Теперь, когда Ansible установлен и настроен, давайте создадим простой playbook для выполнения команды на всех серверах.
Шаг 6. Создание playbook
Playbook — это файл YAML, который описывает задачи, которые нужно выполнить. Создадим playbook с именем test.yml:
---
- name: Проверка доступности серверов
hosts: all
tasks:
- name: Проверка соединения
ping:
Этот playbook проверяет соединение со всеми серверами, добавленными в файл hosts, отправляя команду ping.
Шаг 7. Запуск playbook
Запустим playbook с помощью команды:
ansible-playbook test.yml
Если все настройки верны, Ansible выполнит команду ping на каждом сервере и вернет информацию об успешном подключении.
Комментарии