Ansible operator#

Ansible operator — это компонент Operator SDK, который позволяет управлять Kubernetes-ресурсами с помощью Ansible-плейбуков и ролей. Он используется для создания операторов (custom controllers), которые реагируют на события в кластере (например, создание пользовательских ресурсов - CR) и выполняют действия через Ansible.

Плейбук — файл в формате YAML, который описывает задачи, которые необходимо выполнить. В плейбуке определяются конкретные действия, такие как установка пакетов, копирование файлов или запуск сервисов, с использованием модулей Ansible.

Ansible operator может удаленно выполнять команды по SSH за счет пакетов sshclients и sshpass в образе.

Основные функции:

  • установка, обновление, удаление, масштабирование через CR;

  • отслеживание событий и реагирование на create/update/delete CR;

  • интеграция с Ansible для автоматизации задач;

  • автоматизация операций day 2, которые происходят после первоначального развертывания приложения;

  • взаимодействие с API для управления ресурсами и обработки событий.

Установка Ansible operator#

Поскольку Ansible operator является инструментом Operator SDK, для его использования требуется установка Operator SDK.

Для установки Operator SDK используйте один из двух сценариев:

  • Установки образа, описанный в разделе «Operator SDK»;

  • Установки бинарного файла, описанный в разделе «Operator SDK».

Пример создания проекта#

Инициализируйте проект с помощью Operator SDK:

operator-sdk init --plugins=ansible --domain example.com

Базовый проект для Ansible operator создан.