Ansible operator#
Ansible operator — это компонент Operator SDK, который позволяет управлять Kubernetes-ресурсами с помощью Ansible-плейбуков и ролей. Он используется для создания операторов (custom controllers), которые реагируют на события в кластере (например, создание пользовательских ресурсов - CR) и выполняют действия через Ansible.
Плейбук — файл в формате YAML, который описывает задачи, которые необходимо выполнить. В плейбуке определяются конкретные действия, такие как установка пакетов, копирование файлов или запуск сервисов, с использованием модулей Ansible.
Ansible operator может удаленно выполнять команды по SSH за счет пакетов sshclients и sshpass в образе.
Основные функции:
установка, обновление, удаление, масштабирование через CR;
отслеживание событий и реагирование на
create/update/deleteCR;интеграция с 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 создан.