Ansible

Что такое Ansible?

Ansible это инструмент автоматизации с открытым исходным кодом, который настраивает и поддерживает серверы по инструкциям в виде простого текста. Его разрабатывает Red Hat и продает версию с поддержкой.

Поговорить с инженером База знаний
Ряды черных серверных стоек с индикаторами состояния в центре обработки данных

Что это такое

Администратор пишет playbook, файл YAML со списком состояния, в котором должен находиться каждый сервер: какие пакеты установлены, какие пользователи существуют, что содержит файл конфигурации, какие службы запущены. Ansible читает playbook и приводит каждый сервер в соответствие с ним.

Он работает без агента. На управляемые серверы не нужно ничего устанавливать дополнительно: Ansible подключается к каждому по SSH, как администратор входил бы на сервер Linux, и запускает там небольшие программы. Большинство из них написано на Python, поэтому на серверах должен быть доступен Python.

Запуски идемпотентны. Если сервер уже соответствует playbook, Ansible оставляет его как есть и сообщает об отсутствии изменений, поэтому один и тот же playbook можно безопасно запускать снова, чтобы проверить расхождения или исправить их.

Основные элементы

  • Инвентарь: список серверов, которыми управляет Ansible, сгруппированных по роли или расположению, например веб-серверы и серверы баз данных.
  • Playbook: файлы YAML, описывающие, что делать с какой группой.
  • Роли: повторно используемые наборы задач, например стандартная настройка межсетевого экрана, которыми могут пользоваться несколько playbook.

Что это дает бизнесу

  • Единообразные серверы: каждый сервер, построенный по одному playbook, оказывается настроен одинаково.
  • Проверяемые изменения: playbook это текстовые файлы, поэтому их можно хранить в Git, где каждое изменение записывается и может быть проверено до запуска.
  • Более быстрое восстановление: вышедший из строя сервер можно заменить и настроить заново по playbook, а не по памяти.

Ansible и Terraform

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

Как KawaConnect работает с автоматизацией конфигурации

Мы администрируем серверы Ubuntu, Debian и семейства RHEL и храним инфраструктуру как код в системе контроля версий. Кластеры Kubernetes ведутся по GitOps, когда конфигурация кластера хранится в репозитории Git. Хранение конфигурации в файлах, а не в чьей-то голове, означает, что сборку можно повторить, а каждое изменение оставляет запись.

Связанные услуги

Поддержка серверов Linux

Администрирование серверов Ubuntu, Debian и семейства RHEL.

Консалтинг по Kubernetes

Кластеры, конфигурация которых хранится в Git.

Консалтинг по Proxmox

Виртуальные машины, на которых работают многие серверы.

Подробнее

  • Документация AnsibleОфициальные руководства и справочник модулей для написания инвентарей, playbook и ролей.
  • Сайт AnsibleСайт Red Hat об Ansible: проект с открытым исходным кодом и платформа Ansible Automation Platform с поддержкой.
  • Ansible в WikipediaНейтральный обзор того, как работает Ansible и как он оказался частью Red Hat.

Серверы настраиваются вручную?

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

Начать разговор