linux_postinstall

linux_postinstall

качество Состояние сборки Статус документации Тег на GitHub

Роль Ansible. Настройка Linux: acpi, псевдонимы, apparmor, apt, авторизованные ключи, autofs, автоматические обновления, bluetooth, cron, debsums, dnsmasq, fstab, gpg, gpsd, группы, grub, имя хоста, hosts, chrony, iptables, kvm, latex, libvirt, lid, logrotate, modem manager, модули, netplan, networkd, networkmanager, nfsd, пакеты, пароли, pm-utils, postfix, rc.local, репозитории, resolvconf, сервисы, smart, speech-dispatcher, ssh, sshd, sudoers, swap, sysctl, systemd, timesyncd, часовой пояс, tlp, udev, ufw, пользователи, virtualbox, wpa_gui, wpa_supplicant, xen, xorg.conf.d, zfs, (в работе...)

Документация на readthedocs.io

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

Не стесняйтесь делиться своим мнением и сообщать об ошибках.

Ваши вклады приветствуются.

Поддерживаемые платформы

Эта роль была разработана и протестирована на:

Поддержка других платформ находится в стадии разработки. Некоторые задачи также поддерживаются Centos. Вы можете настроить переменные в vars/defaults и протестировать задачи самостоятельно.

Требования

Роли

Коллекции

  • ansible.posix
  • ansible.utils
  • community.general

Переменные роли

Смотрите значения по умолчанию и примеры в vars.

Рабочий процесс

  1. Установите роли и коллекции

Установите роли

shell> ansible-galaxy role install vbotka.linux_postinstall
shell> ansible-galaxy role install vbotka.ansible_lib
shell> ansible-galaxy role install vbotka.linux_lib

Коллекции ansible.posix и community.general включены в стандартные пакеты ansible. Если они отсутствуют, установите их

shell> ansible-galaxy collection install ansible.posix
shell> ansible-galaxy collection install ansible.utils
shell> ansible-galaxy collection install community.general
  1. Измените переменные, например, в vars/main.yml
shell> editor vbotka.linux_postinstall/vars/main.yml
  • Смотрите переменные, специфичные для ОС, в vars/defaults
  • Смотрите примеры в vars/main.yml.sample
  • Настройте и/или добавьте специфичные для Flavor переменные в vars/flavors
  • При необходимости включите lp_flavors_enable: true. Это замедлит выполнение плейбука
  • При необходимости поместите пользовательские переменные специфичные для ОС в каталог vars
  • Смотрите tasks/vars.yml для правил именования и приоритета
  • Переменные специфичные для ОС будут перекрывать переменные в var/main.yml
  1. Создайте инвентарь
shell> cat hosts
[group1]
host1.example.com
[group1:vars]
ansible_user=admin
ansible_connection=ssh
ansible_python_interpreter=/usr/bin/python3.8
ansible_perl_interpreter=/usr/bin/perl
  1. Создайте плейбук
shell> cat lp.yml
- hosts: group1
  become: yes
  become_user: root
  become_method: sudo
  roles:
    - vbotka.linux_postinstall
  1. Запустите плейбук
shell> ansible-playbook lp.yml

Лучшие практики

Проверьте синтаксис плейбука

shell> ansible-playbook lp.yml --syntax-check

Просмотрите переменные. При необходимости определите и сохраните флеши.

shell> ansible-playbook lp.yml -t lp_vars

Запустите плейбук в режиме проверки

shell> ansible-playbook lp.yml --check

Если все хорошо, запустите плейбук дважды. В втором запуске все задачи должны быть ОК, и изменений, недоступных или неуспешных не должно быть.

shell> ansible-playbook lp.yml

Автоустановка пакетов

Пакеты, перечисленные в переменных lp_*_packages, будут автоматически установлены с помощью задач из tasks/packages.yml, если включены переменные lp_*_install. Например,

lp_libvirt_install: true
lp_libvirt_packages:
  - libvirt0
  - libvirt-bin
  - libvirt-daemon
  - libvirt-daemon-driver-storage-rbd
  - libvirt-daemon-system
  - virtinst

Пакеты, перечисленные в lp_libvirt_packages, будут включены в пакеты, установленные с помощью

shell> ansible-playbook lp.yml -t lp_packages_auto -e lp_packages_auto=true

Смотрите:

Автоматическое управление службами

Переменная lp_service_auto содержит список служб, которые автоматически управляются задачей service.yml. Служба будет управляться задачей service.yml, если lp_<service>: true. Установка lp_<service>: false отключит управление службой этой задачей service.yml. Переменные lp_<service>_enable и lp_<service>_state контролируют включение и состояние службы. Например, служба udev, если установить lp_udev: true, будет включена и запущена, потому что она указана среди lp_service_auto и по умолчанию (приоритет 2.):

lp_udev: true
lp_udev_enable: true
lp_udev_state: started

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

shell> ansible-playbook lp.yml -e lp_service_debug=true -t lp_service_debug

Смотрите:

Рекомендуемая конфигурация после установки ОС

  1. Настройка пользователей, sudoers и постоянных сетевых интерфейсов
ansible-playbook lp.yml -t lp_vars
ansible-playbook lp.yml -t lp_hostname
ansible-playbook lp.yml -t lp_groups
ansible-playbook lp.yml -t lp_users
ansible-playbook lp.yml -t lp_sudoers
ansible-playbook lp.yml -t lp_udev
ansible-playbook lp.yml -t lp_netplan
ansible-playbook lp.yml -t lp_wpasupplicant
ansible-playbook lp.yml -t lp_reboot -e 'lp_reboot=true lp_reboot_force=true'
  1. Настройка брандмауэра. Например, iptables
shell> ansible-playbook lp.yml -t lp_iptables
  1. Тестируйте установку пакетов
shell> ansible-playbook -t lp_packages -e 'lp_package_install_dryrun=true' lp.yml
  1. Установите пакеты
shell> ansible-playbook -t lp_packages lp.yml
  1. Проверьте, установите и настройте другие задачи
shell> ansible-playbook lp.yml --check
shell> ansible-playbook lp.yml

Ansible lint

Используйте файл конфигурации .ansible-lint.local при запуске ansible-lint. Некоторые правила могут быть отключены, и некоторые предупреждения могут быть проигнорированы. Смотрите примечания в файле конфигурации.

shell> ansible-lint -c .ansible-lint.local

Лицензия

лицензия

Информация об авторе

Владимир Ботка

Ссылки

(и другие источники, перечисленные в оригинальном тексте)

О проекте

Configure Linux.

Установить
ansible-galaxy install vbotka/ansible-linux-postinstall
Лицензия
bsd-2-clause
Загрузки
307
Владелец