Yandex Cloud

Тема дорожной карты · Ansible

Работа Ansible с Yandex Cloud реализуется несколькими способами, поскольку Yandex Cloud не публикует официальную first-party collection для Ansible. Наиболее распространённый паттерн — использование модулей ansible.builtin.shell или community.general.cloud.misc для вызова утилиты yc CLI, например yc compute instance create, и захвата вывода для регистрации IP-адресов новых хостов в последующих play конфигурации. Для команд, предпочитающих декларативный подход, collection community.general содержит ограниченную поддержку Yandex Cloud, или Terraform с провайдером Yandex Cloud можно объединить с Ansible в двухэтапном конвейере, где Terraform подготавливает инстансы, а Ansible их настраивает. Использование Ansible с Yandex Cloud для управления конфигурациями (установка пакетов, развёртывание служб, управление файлами) работает идентично любому другому Linux-хосту с SSH-доступом после запуска инстансов — достаточно правильной записи inventory и SSH-ключа.

Как это работает

Yandex Cloud использует cloud-специфичные модули для создания cloud-ресурсов (VM, сети, S3-бакеты, DNS). Модули для AWS (amazon.aws), Yandex Cloud (yandex.cloud), Azure (azure.azcollection), GCP (google.cloud), Kubernetes (kubernetes.core). Ansible может быть и IaC, и инструментом конфигурации ("provision и configure"). Сообщество обычно предпочитает Terraform для provisioning + Ansible для конфигурации — разделение ответственности.

Когда применять

Ansible для provisioning — только на маленьких + динамичных нагрузках, где Terraform тяжёл. В большинстве случаев Terraform создаёт VM + выводит inventory, потом Ansible конфигурирует (типичный pipeline). add_host — для добавления свежесозданных хостов в inventory посреди play. Dynamic inventory-плагины — вместо ручных списков для облака.

Типичные ошибки

Ловушки Yandex Cloud: Ansible для provisioning без эквивалента state-файла (не видно, что существует — Terraform трекает); resource-drift между запусками (Ansible сводит, но не enforce "удалить то, чего быть не должно"); дыры в идемпотентности некоторых cloud-модулей (двойной запуск создаёт два ресурса из-за неверного lookup key).

Связанные понятия

Полезные ресурсы