Ansible и Playbook.Как преобразовать команды оболочки в синтаксис yaml?
Вопрос
Я новичок в Ansible и не понимаю, как все люди легко пишут команды оболочки в синтаксисе Ansible/YAML.Возможно, я пропустил страницу из документации, где это хорошо объяснено.
Например:Что мне нужно написать в своем playbook.yml
если я хочу выполнить эти команды на своих удаленных машинах:
sudo apt-get install software-properties-common
sudo apt-key adv –recv-keys –keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db
sudo add-apt-repository 'deb http://mariadb.biz.net.id//repo/5.5/ubuntu precise main'
Я думаю, это было бы примерно так:
- name: install mariadb
apt: ...
sudo: yes
Решение
Как необработанная команда оболочки модули подойдет для простого перевода сценариев bash.Они редко оказываются идемпотентными действиями.Их нельзя запустить дважды, не вызвав ошибок.
В вашем случае Ansible может сделать это с помощью соответствующих модулей.
- apt_key :добавить ключ gpg
- apt_repository :установить репозиторий
- подходящий :установить пакет
Образец для Мариадб
Другие советы
Ответ Анзибль-модули!) Собственно это то, что мне нужно.Я думаю, что после быстрого поиска мои команды будут похожи на:
-raw: sudo apt-get install software-properties-common
-raw: apt-key adv –recv-keys –keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db
etc..