Что такое 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.
Серверы настраиваются вручную?
Расскажите, как сегодня строятся и изменяются ваши серверы. Мы покажем, что потребуется, чтобы хранить эту конфигурацию в файлах.
Начать разговор