Ошибки, сложный материал, вопросы >
Нашли опечатку или неточность?

Выделите текст, нажмите ctrl + enter и отправьте его нам. В течение нескольких дней мы исправим ошибку или улучшим формулировку.

Что-то не получается или материал кажется сложным?

Загляните в раздел «Обсуждение»:

  • задайте вопрос нашим менторам. Вы быстрее справитесь с трудностями и прокачаете навык постановки правильных вопросов, что пригодится и в учёбе, и в работе программистом;
  • расскажите о своих впечатлениях. Если курс слишком сложный, подробный отзыв поможет нам сделать его лучше;
  • изучите вопросы других учеников и ответы на них. Это база знаний, которой можно и нужно пользоваться.
Об обучении на Хекслете

Файл инвентаризации

Давайте немного глубже рассмотрим возможности inventory-файла. По адресу https://docs.ansible.com вы можете получить исчерпывающую информацию по интересующей вас теме. И об inventory-файле здесь всё конечно же есть. Мы коснемся только основных вещей которые, нас интересуют прямo сейчас.

Часто необходимо указать свой порт. Делается это через : (двоеточие):

[webservers]
ec2-52-17-124-244.eu-west:8081

[appservers]
ec2-52-17-124-245.eu-west

Если у сервера есть IP, но нет мнемонического (DNS) имени, его можно задать с помощью специального параметра asnsile_ssh_host:

$ jumper asnsile_ssh_host=123.25.26.35

Такое имя можно использовать в командах Ansible. Это позволит, например, с помощью специального флага --limit выполнять запросы на конкретном сервере:

$ ansible all --limit jumper -i prodution.ini -m ping

Помимо ansible_ssh_host есть ещё альтернативный вариант ansible_ssh+port, например, ec2-52-17-124-244.eu-west:8081. Если же у нас какой-то нестандартный пользователь, и нужно его использовать или сделать какую-то жёсткую привязку, то по аналогии есть ansible_ssh_user. Описание других переменных есть в документации.

В файле инвентаризации можно настроить различные группировки. Сейчас у нас есть группы [webservers] и [appservers]. Они обычно запускаются и стартуют по-разному, но мы можем объединить их в общую группу с помощью опции children. Пример такого объединения под общим именем servers:

[servers:children]
webservers
appservers

[webservers]
ec2-52-17-124-244.eu-west:8081

[appservers]
ec2-52-17-124-245.eu-west

Это позволит выполнять запросы сразу к двум группам серверов:

$ ansible servers -i prodution.ini -m ping

Пинг по-прежнему будет выполняться на два сервера, потому в children указаны две группы.

Ansible позволяет работать и на текущем компьютере пользователя. Для локального соединения создаётся отдельная запись localhost:

localhst ansible_connetion=local

[webservers]
ec2-52-17-124-244.eu-west:8081

[appservers]
ec2-52-17-124-245.eu-west

При обращении к localhost, наша команда применяется к той машине, с которой она запущена. Это очень удобная фича, и одна из причин почему Ansible так активно используют. Он подходит для разворачивания локального окружения, чтобы постоянно не накатывать его с нуля.


Дополнительные материалы

  1. Файл инвентаризации / Документация Ansible

<span class="translation_missing" title="translation missing: ru.web.courses.lessons.mentors.mentor_avatars">Mentor Avatars</span>

Остались вопросы? Задайте их в разделе «Обсуждение»

Вам ответят менторы из команды Хекслета или другие студенты.

Для полного доступа к курсу, нужна профессиональная подписка

Профессиональная подписка откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, даст возможность обращаться за помощью к менторам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.

Получить доступ
115
курсов
892
упражнения
2241
час теории
3196
тестов

Зарегистрироваться

или войти в аккаунт

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно.

  • 115 курсов, 2000+ часов теории
  • 800 практических заданий в браузере
  • 250 000 студентов

Нажимая кнопку «Зарегистрироваться», вы даёте своё согласие на обработку персональных данных в соответствии с «Политикой конфиденциальности» и соглашаетесь с «Условиями оказания услуг».

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Rambler
Логотип компании Bookmate
Логотип компании Botmother

Есть вопрос или хотите участвовать в обсуждении?

Зарегистрируйтесь или войдите в свой аккаунт

Нажимая кнопку «Зарегистрироваться», вы даёте своё согласие на обработку персональных данных в соответствии с «Политикой конфиденциальности» и соглашаетесь с «Условиями оказания услуг».