Главная

Thursday, 6 May 2021

Ansible-роль для Linux.

Всем привет.

После установки свежей Linux ей надо указать IP-адрес, временную зону, адрес DNS-сервера, адрес Proxy-сервера, локализацию консоли, прочее. И только после этого уже можно переходить к обновлению системы и установке прочего софта.

Эти шаги настолько обязательны что хочется их автоматизировать, чтобы исключить человеческий фактор. А почему бы и нет? Мои мысли прочитал Вячеслав Лохтуров и предложил для этого иcпользовать Ansible.

Он набросал Ansible-роль под именем "host". Роль использует следующие переменные назначение которых очевидно:

hostname: Linux-host

base_domain_prefix: mydomain

base_domain_suffix: net

base_net: 192.168.1

gateway_octet: 254

dns_ip: 192.168.1.1

proxy_ip: 192.168.1.1

proxy_port: 8080

А в список задач для исполнения включено следующее:

# /host/tasks/main.yml

- name: Create hosts file
  template: src=hosts.j2 dest=/etc/hosts
- name: Create resolv.conf file
  template: src=resolv.conf.j2 dest=/etc/resolv.conf
- name: Create hostname file
  template: src=hostname.j2 dest=/etc/hostname
- name: Create environment file
  template: src=environment.j2 dest=/etc/environment
- name: Create interfaces file CentOS
  template: src=interfacesC.j2 dest=/etc/network/interfaces
  when: ansible_distribution == 'CentOS' or ansible_distribution == 'Red Hat Enterprise Linux'
- name: Create interfaces file Ubuntu
  template: src=interfacesU.j2 dest=/etc/network/interfaces
  when: ansible_distribution == 'Debian' or ansible_distribution == 'Ubuntu'
- name: Update system locale CentOS
  timedatectl set-timezone Europe/Kyiv
  localectl set-locale LANG=ru_RU.utf8
  when: ansible_distribution == 'CentOS' or ansible_distribution == 'Red Hat Enterprise Linux'
- name: Update system locale Ubuntu
  timedatectl set-timezone Europe/Kiev
  echo LANG=ru_RU.UTF-8 > /etc/default/locale
  when: ansible_distribution == 'Debian' or ansible_distribution == 'Ubuntu'

Все задачи также очевидны по своему назначению, кроме, разве что, изменения hostname хоста. Я бы ее не применял. Все файлы роли после моих правок я выложил одним архивом: пользуйтесь, критикуйте, меняйте под себя.

Успехов.

No comments:

Post a Comment

А что вы думаете по этому поводу?