Size: a a a

ansible — русскоговорящее сообщество

2020 November 27

NG

Nikita Grishchenko in ansible — русскоговорящее сообщество
В Гэлакси же есть
источник

☭k

☭ ktrace in ansible — русскоговорящее сообщество
Sergey Kargapoltsev
коллеги, есть пример плейбука объединения двух машин по публичному ssh-ключу?
что имеется в виду под "объединением двух машин"?
источник

SK

Sergey Kargapoltsev in ansible — русскоговорящее сообщество
☭ ktrace
что имеется в виду под "объединением двух машин"?
источник

☭k

☭ ktrace in ansible — русскоговорящее сообщество
ну просто положить ключ с одной на другую машину (как я понял это имелост в виду" вообще не требует плейбука и ансибла: ssh-copy-id -i <путь/ключ> [юзер@]host
источник

☭k

☭ ktrace in ansible — русскоговорящее сообщество
просто я уточнил, вдруг имелось в виду что-то иное
источник

SK

Sergey Kargapoltsev in ansible — русскоговорящее сообщество
не, все тривиально. Руками я это сделать могу, а вот через плейбук пришлось покопаться. Все равно выгружаю публичный ключ в файл и считываю на клиенте
источник

A

Anatoly in ansible — русскоговорящее сообщество
Коллеги, добрый день. Подскажите пжлста где можно почитать про создания отказоустойвого ansible? чтобы не зависеть от одной машины-управлялки
источник

A

Anatoly in ansible — русскоговорящее сообщество
и можно ли управлять одним сервером одновременно двумя ansible? (один например обновляет сертификаты и конфиг веб-сервера, а второй конфигурирует DB/NFS)
источник
2020 November 28

M

Mikhail in ansible — русскоговорящее сообщество
Sergey Kargapoltsev
не, все тривиально. Руками я это сделать могу, а вот через плейбук пришлось покопаться. Все равно выгружаю публичный ключ в файл и считываю на клиенте
Почитать я бы и сам не отказался 😊
Могу поделиться своими соображениями.
1. кратковременный отказ хоста управления Ansivble не сильно критичен для инфраструктуры. (Нужен только для внесения изменений в инфраструктуру или тестирования планирующихся изаенений.) Сама инфраструктура IMHO должна в штатном режиме работать и без него.
2. сам ансибл, устанавливается или из репозиториев диструбутива или из PIP
3. Главная ценность - плейбуки роли и т д..  Которые должны храниться в системе контроля версий
UPD:
4
. Самый простой способ использовать виртуальную машину поверх кластера.

Управлять одновременно с двух контроллеров скорее всего можно (возможно придётся для одного из контроллеров параметры править) Но это заработает только если править непересекающиеся вещи. Я бы так не стал делать.

А вот иметь в горячем резерве неиспользуемый контроллер, я проблем не вижу.
источник

SK

Sergey Kargapoltsev in ansible — русскоговорящее сообщество
Mikhail
Почитать я бы и сам не отказался 😊
Могу поделиться своими соображениями.
1. кратковременный отказ хоста управления Ansivble не сильно критичен для инфраструктуры. (Нужен только для внесения изменений в инфраструктуру или тестирования планирующихся изаенений.) Сама инфраструктура IMHO должна в штатном режиме работать и без него.
2. сам ансибл, устанавливается или из репозиториев диструбутива или из PIP
3. Главная ценность - плейбуки роли и т д..  Которые должны храниться в системе контроля версий
UPD:
4
. Самый простой способ использовать виртуальную машину поверх кластера.

Управлять одновременно с двух контроллеров скорее всего можно (возможно придётся для одного из контроллеров параметры править) Но это заработает только если править непересекающиеся вещи. Я бы так не стал делать.

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

M

Mikhail in ansible — русскоговорящее сообщество
Mikhail
Почитать я бы и сам не отказался 😊
Могу поделиться своими соображениями.
1. кратковременный отказ хоста управления Ansivble не сильно критичен для инфраструктуры. (Нужен только для внесения изменений в инфраструктуру или тестирования планирующихся изаенений.) Сама инфраструктура IMHO должна в штатном режиме работать и без него.
2. сам ансибл, устанавливается или из репозиториев диструбутива или из PIP
3. Главная ценность - плейбуки роли и т д..  Которые должны храниться в системе контроля версий
UPD:
4
. Самый простой способ использовать виртуальную машину поверх кластера.

Управлять одновременно с двух контроллеров скорее всего можно (возможно придётся для одного из контроллеров параметры править) Но это заработает только если править непересекающиеся вещи. Я бы так не стал делать.

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

M

Mikhail in ansible — русскоговорящее сообщество
Mikhail
А если совсем "жирная" инфраструктура, то отдельная БД для фактов. Отдельно централизованное логирование операций, отдельно возможно хранилище секретов...
Тут сценарий аварийного восстановления нужно тщательно продумывать. Чтобы проблему курицы и яйца не получить, и не забыть что-то критичное забекапить.
источник

M

Mikhail in ansible — русскоговорящее сообщество
Само развертывание Ансибль как части инфраструктуры, заманчиво описать на самом Ansible. .. Но предидущая проблема в таком случае обостряется
источник

M

Mikhail in ansible — русскоговорящее сообщество
Disclaimer: я ориентируюсь в первую очередь  на очень маленькую инфраструктуру, когда даже кластер виртуализации - роскошь.
источник

M

Mikhail in ansible — русскоговорящее сообщество
А вообще Ансибль можно очень по-разному использовать. Напирмер в  Pull режиме. Когда каждый хост сам себе контроллер, который по расписанию вытягивает обновления с центрального репозитория и сам себя переконфигурирует, и центральная точка в этом случае - репозиторий с плейбуками и ролями. Но тут плейбуки нужно будет с учётом такой архитектуры делать.
источник

SK

Sergey Kargapoltsev in ansible — русскоговорящее сообщество
Да, я понимаю . Просто я только это начал разбирать. На курсе администраторов домашки лучше делать в виде саморазворачивающихся стендов. вагрант + ансибль идеаьно подходят для таких целей.
источник
2020 December 02

ВШ

Вадим Шандринов... in ansible — русскоговорящее сообщество
Доброго времени суток! Поиск в чате "глобальные переменные" дал мало инфы, поэтому спрошу напрямую.
Есть несколько дата центров, они заведены в инвентори как папки
├── beta7
│   ├── group_vars
│   │   ├── all.yml
│   └── hosts
├── beta8
│   ├── group_vars
│   │   ├── all.yml
│   └── hosts
└── beta9
   ├── group_vars
   │   ├── all.yml
   └── hosts
и так далее

Есть некие переменные, которые одинаковые для всех датацентров, но отличающиеся в некоторых.
То есть для beta7 и beta9 переменная deploy_path: /home/user1, а вот в beta8 deploy_path: /home/user666.
Для beta8  я её пропишу в  beta8/group_vars/all.yml
А где прописать дефолтную для всех датацентров? Переменная используется во всех плейбуках и ролях.

Есть такая схема приоритетов, но я в неё не совсем вьезжаю
https://docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html#understanding-variable-precedence

Если inventory group_vars/all на 4м месте то все последующие перекроют значения переменных из неё?
получается что бы inventory group_vars/all перекрывала можно использовать только
inventory file or script group vars - а как их задавать? script group vars - это в корне проекта создать /group_vars/all.yml ? пробовал - не работает.

Где размещать глобальные переменные (которые можно перекрыть для некоторых датацентров)? Спасибо :)
источник
2020 December 03

TG

Timur Gadiev in ansible — русскоговорящее сообщество
Вадим Шандринов
Доброго времени суток! Поиск в чате "глобальные переменные" дал мало инфы, поэтому спрошу напрямую.
Есть несколько дата центров, они заведены в инвентори как папки
├── beta7
│   ├── group_vars
│   │   ├── all.yml
│   └── hosts
├── beta8
│   ├── group_vars
│   │   ├── all.yml
│   └── hosts
└── beta9
   ├── group_vars
   │   ├── all.yml
   └── hosts
и так далее

Есть некие переменные, которые одинаковые для всех датацентров, но отличающиеся в некоторых.
То есть для beta7 и beta9 переменная deploy_path: /home/user1, а вот в beta8 deploy_path: /home/user666.
Для beta8  я её пропишу в  beta8/group_vars/all.yml
А где прописать дефолтную для всех датацентров? Переменная используется во всех плейбуках и ролях.

Есть такая схема приоритетов, но я в неё не совсем вьезжаю
https://docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html#understanding-variable-precedence

Если inventory group_vars/all на 4м месте то все последующие перекроют значения переменных из неё?
получается что бы inventory group_vars/all перекрывала можно использовать только
inventory file or script group vars - а как их задавать? script group vars - это в корне проекта создать /group_vars/all.yml ? пробовал - не работает.

Где размещать глобальные переменные (которые можно перекрыть для некоторых датацентров)? Спасибо :)
Между группами переменные перекрываться не должны в идеале
источник

TG

Timur Gadiev in ansible — русскоговорящее сообщество
Дефолтные значения переменных должны быть в ролях
источник

TG

Timur Gadiev in ansible — русскоговорящее сообщество
Они переписываются на всех уровнях почти
источник