TGViewer
BashTex | Linux BashTex | Linux @bash_tex · 2.51K subscribers
Post #116 639
Автоматизация управления с помощью Ansible

Ansible - это инструмент для управления конфигурацией, автоматизации развёртывания и управления инфраструктурой. Простота использования, отсутствие необходимости в агентах и возможность масштабирования делают его идеальным выбором как для небольших команд, так и для крупных организаций.

В этой статье разберём, как начать работу с Ansible, автоматизировать задачи и повысить эффективность управления серверами.

Что такое Ansible? Ansible - это инструмент, основанный на архитектуре "push", который использует SSH для взаимодействия с серверами.
Основные преимущества:

Лёгкость установки и настройки.
YAML-формат для описания задач (Playbooks).
Модульная структура.
Поддержка сотен модулей для работы с различными системами.


1. Установка на управляющей машине
Для Ubuntu:


sudo apt update
sudo apt install ansible -y


Для CentOS:


sudo yum install epel-release -y
sudo yum install ansible -y


2. Настройка SSH-доступа к серверам. Ansible использует SSH для подключения к узлам. Настройте безпарольный доступ:


ssh-keygen -t rsa
ssh-copy-id user@remote_server


3. Настройка инвентаря. Ansible использует файл инвентаря для описания узлов. По умолчанию это /etc/ansible/hosts.

Пример файла:


[web_servers]
192.168.1.101
192.168.1.102

[db_servers]
192.168.1.201
192.168.1.202


Вы можете создавать группы узлов и применять конфигурации ко всем серверам в группе.

4. Написание Playbook. Playbook - это файл в формате YAML, который описывает, что нужно сделать на целевых узлах.

Пример: Установка Apache на веб-серверах


- name: Установка Apache
hosts: web_servers
become: true # Повышение привилегий до root
tasks:
- name: Убедиться, что Apache установлен
apt:
name: apache2
state: present
- name: Запустить и включить Apache
service:
name: apache2
state: started
enabled: true


Запуск Playbook:


ansible-playbook install_apache.yml


---

Автоматизация задач
1. Обновление пакетов на всех серверах


- name: Обновление всех пакетов
hosts: all
become: true
tasks:
- name: Обновить пакеты
apt:
update_cache: yes
upgrade: dist


2. Создание пользователей


- name: Создание пользователя devops
hosts: all
become: true
tasks:
- name: Создать пользователя
user:
name: devops
state: present
groups: sudo


3. Копирование конфигурационных файлов


- name: Копирование файла конфигурации
hosts: web_servers
become: true
tasks:
- name: Копировать конфигурацию Nginx
copy:
src: /path/to/nginx.conf
dest: /etc/nginx/nginx.conf
mode: '0644'


Проверка состояния серверов. Для быстрого выполнения команды на узлах используйте модуль ping:


ansible all -m ping


Пример выполнения команды uptime на всех узлах:


ansible all -m command -a "uptime"


---

Дополнительные советы

Используйте переменные:
Вы можете задавать переменные в Playbook, инвентаре или через командную строку.


vars:
nginx_port: 8080


Шифруйте секреты: Ansible Vault позволяет хранить конфиденциальные данные.


ansible-vault encrypt secret.yml


Интеграция с CI/CD: Ansible легко интегрируется с Jenkins, GitLab CI и другими системами.

Используйте Ansible для настройки серверов, развертывания приложений, управления конфигурациями и многого другого. Овладев этим инструментом, вы сможете автоматизировать рутинные задачи.

BashTex 📱 #linux #utils
  • 👍 11
More from @bash_tex
  1. Oct 14, 2026coproc: как Bash общается с фоновым процессом в обе стороны Обычно Bash запускает фоновый…
  2. Oct 13, 2026openat2(): как Linux защищает от выхода за пределы каталога Допустим, приложение должно чи…
  3. Oct 12, 2026xargs против while read: где быстрее и безопаснее Обе конструкции позволяют обработать спи…
  4. Oct 9, 2026BashTex 📱 #мем
  5. Oct 8, 2026Bridge FDB - как Linux bridge узнаёт, где находится MAC Linux bridge не знает заранее, за…
  6. Oct 7, 2026/dev/tcp - сетевое соединение средствами Bash В Bash есть малоизвестная возможность работа…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →