Установка и использование Ansible на Centos7

Ansible-сервер — Centos7 – ansible.kamaok.org.ua-192.168.1.40
Ansible-клиент- Debian8 — ansible-client.kamaok.org.ua-192.168.1.41

1.Установка Ansible на Centos7

Проверяем,что подключен EPEL-репозитарий

Установка Ansible

Проверка версии установленной версии Ansible

По умолчанию список хостов/групп, к которым применяются команды содержится в файле /etc/ansible/hosts,

но при необходимости его можно переопределить с помощью опции

Добавим в inventory-файл описание групп и хостов

Создание пары SSH-ключей на Ansible-сервере

Добавим публичный ключ Ansible-сервера в файл ~/.ssh/authorized_keys на клиенте
Либо через команду

Либо средствами самого Ansible через модуль authorized_key

Проверяем беспарольный вход по SSH-ключам c сервера на клиента

Также настроим безпарольный вход с Ansible-сервера на самого себя

Выполним несколько команд в Ad Hoc режиме

Установим sudo-пакет на клиенте с помощью Ansible-сервера

Установим пакетный менеджер Python — pip

Установим Passlib через Ansible

С клиента узнаем хеш-пароля пользователя,который будет создан на клиенте

 

2.Создание playbook, который создает пользователя с привилегиями root-пользователя через sudo, добавит SSH-ключ для этого пользователя

Выполняем этот плейбук

Проверяем, что на клиенте был создан пользователь kamaok и работает доступ по SSH-ключам
под этим пользователем

А также то,что пользователь был добавлен в файл /etc/sudoers

 

3.Создание playbook для базовой настройки системы
Установка часового пояса
Настройка имени сервера
Обновление пакетов

Выполняем плейбук
Будет запрошен пароль пользователя kamaok под которым и будут производиться все действия

Проверяем применились ли настройки на клиенте

 

4.Создание playbook, который устанавливает Apache, MySQL, PHP

Создаем фалй index.php

Выполняем этот плейбук

Проверяем установку Apache, PHP, MySQL

5.Создание playbook для установки Nginx (предварительно остановив apache)

Создаем структуру каталогов

Создаем файл index.html

Создаем файл с описанием задачи

Файл basic_nginx приводим к виду

Проверяем, стартовую страницу,которую должен открыть Nginx

6.Настройка вложенных плейбуков (вызов одного плейбука из другого плейбука)
Например, создадим playbook для обновления локального кеша пакетов и установленных пакетов и подключим его в playbook по установке Nginx

Файл с описанием задачи примит вид

Плейбук для установки Nginx имеет прежний вид

Проверка синтаксиса плейбука

Запуск плейбука

Установим пакет aptitude на клиенте через модуль apt Ansible-сервера

После чего снова запускаем плейбук по установке Nginx

 

Полезные команды ansible

Проверка синтаксиса playbook

Просмотр задач, которые будут выполнены

Просмотр списка хостов, на которых будет выполняться playbook

Выполнение определенной части плейбука(не всего плейбука)(например, части с именем «Install Hello World PHP script»

 

Источник:
http://docs.ansible.com/ansible/
https://www.linode.com/docs/applications/ansible/getting-started-with-ansible
https://letsclearitup.com.ua/category/ansible

Комментирование и размещение ссылок запрещено.

Комментарии закрыты.

Яндекс.Метрика