В контексте Jinja2-шаблонов в Ansible переменная ansible_play_hosts полезна, когда вы хотите динамически работать с группой хостов, которые участвуют в плейбуке....
продолжить чтение
В Ansible можно получить список хостов из определённой группы с помощью переменной groups. Это специальная переменная, которая содержит все группы и их соответствующие хосты. Для доступа к хостам в группе вы можете обратиться к переменной как к словарю....
продолжить чтение
Вот пример простого Ansible playbook для установки и настройки HAProxy на серверах, работающих под управлением Ubuntu:...
продолжить чтение
В прошлой статье рассмотрели ручную установку и запуск etcdkeeper в командной строке.
Автоматизируем этот процесс и развернем etcdkeeper с помощью Ansible, настроим автоматический запуск в виде службы, настроим доступ с помощью логина и пароля.
...
продолжить чтение
Легкий веб-клиент etcd.
Поддержка etcd 2.x и etcd 3.x.
Сервер использует клиентский интерфейс etcd go и компилируется с клиентским пакетом etcd.
Основан на платформе easyui (лицензия easyui на веб-сайте easyui)....
продолжить чтение
Развернем кластер etcd из трех нод.
Общение между нодами будет по TLS протоколу.
...
продолжить чтение
В Ansible модули command и shell используются для выполнения команд на удалённых серверах, но у них есть важные отличия:...
продолжить чтение
Зависание выполнения плейбука Ansible может быть вызвано множеством причин. Вот основные из них:...
продолжить чтение
Для распаковки архивов формата 7z с помощью Ansible, вам нужно использовать модуль unarchive. Однако, поскольку Ansible не поддерживает распаковку формата 7z напрямую, можно использовать команду из CLI через модуль command или shell, предварительно установив утилиту 7z (или p7zip)....
продолжить чтение
Чтобы получить доступ к переменной, определённой в группе инвентаря Ansible, вы можете использовать формат hostvars, group_vars, или переменные, указанные в самом инвентаре. Пример для получения переменной, определённой в группе:...
продолжить чтение
Расширенная структура задач Ansible, которая включает дополнительные параметры для более сложного управления выполнением задач. В расширенной структуре задач можно задать более детальные условия, обработки ошибок, временные параметры и многое другое, что позволяет гибко контролировать выполнение задач в плейбуке....
продолжить чтение
В Ansible плейбуке каждая задача (task) представляет собой единицу работы, которая выполняется на целевых узлах. Задачи выполняются последовательно и описывают, что именно должно быть сделано на каждом узле. Задачи в плейбуке определяются как список под ключом tasks....
продолжить чтение
Команда meta: clear_host_errors в Ansible используется для удаления информации об ошибках, связанных с хостом, чтобы предотвратить исключение этого хоста из дальнейшего выполнения плейбука. Это особенно полезно, если вы хотите продолжить выполнение задач на хосте, даже если он ранее завершился ошибкой....
продолжить чтение
Конструкция block / rescue / always в Ansible позволяет группировать задачи и управлять их выполнением при возникновении ошибок. Это аналог конструкции try / catch / finally в языках программирования и полезно, когда нужно контролировать поведение задач при возникновении ошибок и выполнять определенные действия в ответ на эти ошибки....
продолжить чтение
Для прерывания выполнения текущей роли в Ansible, не прерывая выполнения следующих ролей, можно использовать модуль meta с действием end_play, но важно применять его корректно, чтобы завершить только текущую роль, а не весь плейбук. К сожалению, meta: end_play останавливает выполнение всего плейбука, что не подходит для вашего случая....
продолжить чтение
Чтобы дождаться запуска GitLab в Docker контейнере в Ansible плейбуке, можно использовать модуль community.docker.docker_compose или community.docker.docker_container, а затем применить модуль wait_for или wait_for_http для проверки доступности сервиса. Основная идея заключается в том, чтобы дождаться, пока веб-интерфейс GitLab будет доступен....
продолжить чтение
Обработчики (handlers) в Ansible — это специальные задачи, которые выполняются только при вызове с помощью команды notify из других задач. Основная цель обработчиков — выполнять действия только при изменениях, таких как перезапуск службы после обновления конфигурационного файла. Этот механизм позволяет выполнять задачи более эффективно и предотвращает ненужные операции....
продолжить чтение
В файле конфигурации ansible.cfg для указания инвентарного файла следует использовать параметр inventory, а не hostfile. Параметр hostfile устарел и больше не используется в современных версиях Ansible....
продолжить чтение
Ошибка {"msg": "Using a SSH password instead of a key is not possible because Host Key checking is enabled and sshpass does not support this. Please add this host's fingerprint to your known_hosts file to manage this host."} возникает в Ansible, когда вы пытаетесь подключиться к удаленному хосту, используя пароль SSH вместо ключа,......
продолжить чтение
Папка group_vars в Ansible предназначена для хранения файлов с переменными, которые применяются к группам хостов, определённым в инвентарном файле. Это один из ключевых способов управления конфигурациями и переменными в Ansible, обеспечивающий удобство и гибкость при управлении разными группами серверов....
продолжить чтение