Рубрики
Uncategorized

Советы для использования Anisible

Я использую Anbible ежедневно, и это приносит мне так много радости, когда я наконец-то напишу новую роль или UPD … Помечено с помощью Anbible, DevOps, IAC.

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

Но это обычно через некоторое время неудач — много неудач. Но это нормально, если Anisible используется правильным образом, вы всегда будете добиться прогресса.

Так вот несколько советов, которые помогают!

1. Используйте «Ansible-lint»

Такой простой, но полезный инструмент поможет сохранить свои игровые книги и роли очистки ошибок и предоставлять полезные советы, чтобы улучшить их E.G. Обеспечение задач названа. Лучший запуск при создании или редактировании ролей и плейбов.

ansible-lint playbook.yaml

2. Быть многократно

С определенными модулями устанавливаются значения по умолчанию, и в то время как это может быть в порядке, чтобы не упомянуть их при записи задач, могут быть последствия для вашего будущего себя или других, когда они приходят для обновления задачи. Например . APT Установите пакеты по умолчанию, но не обновляют кеш. Таким образом, вы можете в конечном итоге с такой задачей:

- name: Install Nginx
  apt:
    name: nginx

Но будущее себя или другие могут ударить эту проблему с этим, если кэш не был обновлен до, поэтому, поскольку, сделав его более добросовестно, состояние и задачу предоставляют большую ясность того, что на самом деле работает:

- name: Install Nginx
  apt:
    name: nginx
    state: present
    update_cache: yes

3. Не бойтесь использовать «Shell» или «команду»

Там много модулей Но иногда легче написать простой на один лайнер, чтобы сделать то, что вы хотите сделать — хотя не рекомендуется неизменяться. Модуль сертификата ACME очень сложен для использования, и он должен работать дважды на работу. Когда я смогу попытаться реализовать, давайте шифровать/Certbot с подстановочным знаком, мне было проще использовать оболочку вместо этого:

- name: Get TLS Certificates
  shell: "certbot certonly --dns-route53 -d {{ server_name }} -n --agree-tos --email {{ email }}"

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

4. Включить таймер

Добавьте это на ваш Ansible.cfg :

callback_whitelist = timer, profile_tasks

И это позволит вам увидеть, как долго выполняется каждая задача, и PlayBook. Это дает обе оценки, когда другие запускают их, но также позволяют представить то, какие задачи медленно и могут быть улучшены.

PLAY RECAP
**************************************************************
rpi2                       : ok=3    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   
rpi3                       : ok=3    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   
tinker                     : ok=3    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   

Tuesday 14 July 2020  19:20:11 +0100 (0:00:00.603)       0:01:19.673 ********** 
==============================================================
Gathering Facts - 13.72s
/Users/tomwatt/DEV/Ansible-Local/playbooks/test.yaml:2 
--------------------------------------------------------------
test-connection : Ensure the right sudo password - 6.13s
/Users/tomwatt/DEV/Ansible-Local/roles/test-connection/tasks/main.yaml:2 
--------------------------------------------------------------
debug-host-info : Print Host Information - 0.60s
/Users/tomwatt/DEV/Ansible-Local/roles/debug-host-info/tasks/main.yaml:2 
-------------------------------------------------------------------
Playbook run took 0 days, 0 hours, 1 minutes, 19 seconds

5. Держать неизбежную актуальность

Новые версии имеют больше функциональных возможностей и исправлений. Одно оговорка, однако, осознает изменения между версиями E.G. Модули переименованы, амортизации и т. Д. Так что проверить Портирование руководств Когда до обновления. Запуск ваших плейбов с Verbose — -Ввввв — На дадут намеки о том, что изменилось/удалено в более поздних версиях.

6. Много и маленьких ролей

Я сделал это, и это легко сделать, создавая PlayBook, которая делает все, что нужно сделать. Это будет работать, но будет ли он работать в будущем? Что происходит, когда нужно незначительное изменение для работы на другом сервере? Это где будет больше, меньшие роли помогают.

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

7. Используйте «Ansible-Galaxy Roly init» для создания ролей

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

Надеюсь, что некоторые из них полезны для тех, кто использует Anbible или хотите использовать его. Но дайте мне знать и поделиться любыми советами у вас всех есть!

Оригинал: «https://dev.to/tomowatt/tips-for-using-ansible-33ff»