Обновить
8K+
16

Пользователь

2
Рейтинг
16
Подписчики
Отправить сообщение

Опять по порядку, на основании собственно опыта.

Например, в ходе установки какого-то ПО понадобилось включить ip_forward. На первый раз решил включить руками

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

Например, вам необходимо установить ПО, которое деплоится только через Docker Compose

Значит ставим Compose как зависимость. Вызывать тегами отдельную роль - для меня странно. Я придерживаюсь подхода в котором в любой роли теги имеют одинаковое именование. При вашем подходе, вместо изолированного конфигурирования роли А ( тег config) я пройдусь по по всему кластеру.

Про мультироли наверное самый яркий пример - установка отказоустойчивого кластера postgres. В некоторых случаях наверное это более понятная концепция, нежели вязать через CI/tower последовательный деплой.

Кстати, я обычно делаю versionlock для пакета - это прям про идемпотентность, если на тачке пасётся ещё кто нибудь с котом кроме меня. При управляемом обновлении поконтурно указываю новую.

Я бы не стал так делать. Когда на инфру иду - прогоняю роль драйраном - о том что кто-то, когда-то пакет удалял таской или скипом - я не знаю. А значит - неожиданные изменения в выводе, паника, ругань, проклятия в адрес того кто руками работает.

Давайте разберемся.

Во первых речь зашла о запуске двух разных версий роли на инфраструктуру.

Во вторых если речь о вспомогальном пакете- библиотеке, напрямую не влияющием на функционал ПО из роли (например jq) - я бы грохнул, без зазрения совести. Если же речь о пакете - зависимости, то либо он не нужен, так как меняется версия, устанавливаемого ПО (а значит меняются переменные - версии и ни о какой идемпотентности после запусков не может быть речи), либо в новой версии у нас появился пересобранный deb пакет без зависимости. А если другим ролям всё таки этот пакет нужен - то смотри пункт про проверку зависимостей. И пошагово:

  1. Роль А версии 1 установила зависимость.

  2. Роль Б подтвердила наличие зависимости.

  3. Роль А версии 2 удалила зависимость при apt install -y.

  4. Роль Б установила зависимость.

  5. Роль А версии 2 не внесла изменений при apt install -y.

Можно пойти по другому пути - зафиксировать правила оформления документации и не принимать мержреквесты фичей без их описания. Осталось только описать и зафиксировать правила, ибо если что-то может быть понятно некорректно, оно будет понятно некорректно

На третьей инсталляции он перестанет задавать вопросы.

Даже администрирование ему не поможет, если решение проблем или особенности тюнинга не описаны в отдельных, легко находимых разделах документации.

В общем - на каждую левую резьбу нужно техническое описание.

спасибо тебе, добрый человек! только по твоей статье смог вкурить map и прочую итерируемую ерунду

Олег, добрый день!
С OpenSearch и тенантами мапямищимися на основе Active Directory групп в целом понятно (хотелось бы конечно увидеть примерный пример ролевой модели))
Скажите, пожалуйста, какой механизм вы используете чтобы разграничить эти потоки данных на уровне кафки?

Это шифтрайт) Срок вправо уходит

Сам врывался и врываюсь в девопс. На мой взгляд - самое главное это желание и возможность постоянно учиться и улучшать процессы вокруг себя.

Всегда будут рядом критикующие твою работу, заставляющую систематизировать ввод первичных данных для достижения конечной цели. Но фидбек как от админов, так и от разработчиков - для меня это мерило которым я оцениваю свой труд.

Спасибо за статью

Самое главное плэйбуки Дженкинсом не пускать и пальцы не совать в розетку

Например, тонкости работы с jinja. Нюансы применения инклюдов. Про фильтры и плагины можно рассказать на протяжении нескольких статей с примерами. О том как их писать так чтобы было читаемо и поддерживаемо.

Зачем на Хабре сотая обзорная статья про Ansible?

Добрый день. Пошел читать статью надеясь получить сакральное знание о том как устроить безопасную безопасность в кластере - немного не дотянули( а за довольно широкий ассортимент приложений - спасибо

безграничных успехов вам в этом начинании

не пробовал. изначально задача другая - дать возможность на заранее сконфигурированную инфраструктуру накрутить ACL. Доступ к Terraform слишком низкоуровневый для решения данной задачи и представляет слишком много привелегий. Но направление очень интересное - надо будет попробовать - спасибо большое

Не понял с какой стороны тут прикрутить терраформ (

Спасибо большое за вопрос. Если честно, с Ranger ещё не разобрался, очень много вопросов по межсервисным интеграциям. В общем, это тема дальнейших исследований

стесняюсь спросить а почему мы сразу не использовали утилиту ansible-galaxy для инициализации роли, а городили огород?

mkdir defaults files handlers meta templates tasks vars

Информация

В рейтинге
1 777-й
Откуда
Ростов-на-Дону, Ростовская обл., Россия
Работает в
Зарегистрирован
Активность

Специализация

Системный администратор, DevOps-инженер
Средний
Python
Linux
Ansible
DevOps
GitLab
ELK Stack