• Home
  • News
  • Articles
  • Books
  • Videos
  • Hubs
  • Channels
  • EN
  • RU
  • 01 Jun, 25
  • About
  • Contact
DotDev
  • Home
  • News
  • Articles
  • Books
  • Videos
  • Hubs
  • Channels
  1. DotDev
  2. Articles
  3. Ansible для начинающих в стиле best-practice
Topics
Ansible для начинающих в стиле best-practice 1. Разберёмся немного, что за best-practice такой 2. Установим Ansbile и GIT 3. У нас почти всё настроено

Ansible для начинающих в стиле best-practice

Теги: ansible, git, древа директорий для ролей, linux, best-practice, centos 7.5, rolename/vars, rolename/tasks, скопировать раскладку директорий из репозитория, site.yml, role: common, role: nginx, nginx

На просторах сети есть много гайдов на русском вроде «Учим Ansible с нуля». Но ни в одном из них я не видел, чтобы человека сразу же погружали в best-practice. Хотя бы в плане построение древа директорий для ролей. Считаю, что сделать это надо хотя бы потому, что переезд на best-practice может оказаться болезненным для новичков. Сейчас я попытаюсь исправить этот недочёт. Используемая в примерах ОС – Centos 7.5.

Разберёмся немного, что за best-practice такой

Идём по ссылке и читаем:

These may not use all of the features in the latest release, but are still an excellent reference!

Мораль такова: всё аккуратно разложено по директориям для вашего же удобства в дальнейшем использовании. Сам Ansible понимает, для чего нужна каждая директория. Например, из rolename/vars он по умолчанию берёт переменные для роли, а из rolename/tasks он берёт основные задачи. Что такое роли можно прочитать, например, ТУТ >>

Установим Ansbile и GIT

Всё есть в стандартных репозиториях:

yum install -y ansible git

        

Проверим установку:

ansible --version && git --version

        

Далее скопируем раскладку директорий из репозитория, чтобы не создавать руками:

git clone https://github.com/mattjbarlow/ansible-directory.git. 

        

Хотя первый раз, конечно, советую пройти это всё вручную – для закрепления материала. Обязательно зайдите в директорию и изучите её содержимое.

Далее пропишем хост в тестовый инвентаризационный файл:

cd ansible-directory
echo "192.168.255.1 ansible_ssh_user=root" >> staging

        

Протестируем соединение с тестовым хостом:

ansible -i staging -m ping all

        

У нас почти всё настроено

Осталось только попробовать на реальном примере:

git clone https://github.com/geerlingguy/ansible-role-nginx.git roles/nginx

        

Перед запуском зайдите в site.yml и поменяйте role: common на role: nginx. Прелесть ролей как раз в том, что вам нужно просто указать имя директории и Ansible всё поймёт сам.

Ну и запускаем нашу роль:

ansible-playbook -i staging site.yml

        

В итоге на тестовом сервере успешно установлен и настроен nginx.

Есть вопрос? Напишите в комментариях!

Tags
Articles Linux Ansible
  • 29 Oct, 22
  • 0 comments
  • 460 reads
Source
https://otus.ru/nest/post/229/
SHARE:

Joe Black
Joe Black

News Author

Comments
  • 1000+
    Subscriptions
  • 1000+
    Followers
  • 1000+
    Followers
Tags
  • Python (230)
  • Программирование (181)
  • 2022 (170)
  • 2020 (151)
  • 2023 (149)
  • 2021 (128)
  • Java (128)
  • Linux (119)
  • 2019 (117)
  • Алгоритмы (112)
  • JavaScript (100)
  • Сети (99)
  • Api (92)
  • Инструменты (90)
  • Web (86)
  • Applications (79)
  • Microsoft (73)
  • PHP (73)
  • Google (72)
  • Обучение (72)
  • 2018 (68)
  • SQL (68)
  • C# (66)
  • ИИ (63)
  • Windows (60)
  • HTML (59)
  • 2017 (55)
  • C++ (53)
  • Базы данных (53)
  • Machine Learning (51)
  • Kubernetes (50)
  • Go (47)
  • Бизнес (47)
  • Паттерны (46)
  • CSS (44)
  • Проекты (42)
  • 2016 (41)
  • ИБ (41)
  • ОС (40)
  • .NET (39)
  • DevOps (39)
  • Docker (39)
  • React (39)
  • Проектирование (38)
  • Тестирование (38)
  • Математика (36)
  • Android (35)
  • Структуры Данных (35)
  • Информатика (34)
  • Framework (32)
Socials
  • Terms of Use
  • Privacy Policy
  • About
  • Contact

© 2025. DotDev — articles and lessons about IT programming and technology.