Обновили Terraform-провайдер до версии 2.8.0





Выпустили новую версию Terraform-провайдера CLO, которая значительно расширяет возможности автоматизации облачной инфраструктуры и делает работу с вычислительными ресурсами ещё удобнее.

Обновление затронуло работу с виртуальными машинами, кластерами DBaaS, балансировщиками нагрузки и механизмами управления состоянием ресурсов. Помимо новых возможностей, в релиз вошли исправления, повышающие стабильность и предсказуемость работы Terraform.

Новые возможности
Управление кластерами DBaaS и базами данных
В обновлённой версии появилась возможность полностью управлять кластерами баз данных через Terraform. Добавлен ресурс clo_dbaas_cluster, а также источники данных:
  • clo_dbaas_clusters — получение информации о кластерах;
  • clo_dbaas_nodes — сведения об узлах кластера;
  • clo_dbaas_datastores — информация о поддерживаемых типах СУБД.
  • clo_dbaas_cluster_config — параметры конфигурации кластеров DBaaS.
Это позволяет автоматизировать создание кластеров DBaaS и использовать сведения о существующей инфраструктуре при построении Terraform-конфигураций.

В провайдер добавлен ресурс clo_dbaas_database, позволяющий создавать и управлять базами данных внутри существующих кластеров. Для получения информации о созданных базах данных реализован источник данных clo_dbaas_databases.

Резервное копирование DBaaS
Добавлен новый ресурс clo_dbaas_backup, который позволяет создавать резервные копии баз данных средствами Terraform.

Для работы с уже существующими резервными копиями появились источники данных:
  • clo_dbaas_backups — получение списка резервных копий;
  • clo_dbaas_backup_download — получение информации для скачивания резервной копии.
Кроме того, провайдер получил поддержку управления периодическим (запланированным) резервным копированием DBaaS, благодаря чему можно автоматизировать не только создание инфраструктуры, но и настройку регулярной защиты данных.

Независимое управление питанием виртуальных машин
Появился новый ресурс clo_compute_instance_power, который отвечает исключительно за управление состоянием питания виртуальных серверов.

Теперь включение и выключение виртуальной машины происходит только в том случае, если этот ресурс явно описан в Terraform-конфигурации. Такой подход позволяет разделить управление конфигурацией сервера и его состоянием питания, исключая случайные остановки или запуск инстансов во время выполнения terraform apply.

Кроме того, Terraform отслеживает изменения состояния питания, выполненные вручную или через другие инструменты, корректно определяет drift и отображает расхождения между фактическим и ожидаемым состоянием инфраструктуры.

Новый атрибут состояния питания
Для ресурса clo_compute_instance добавлен вычисляемый атрибут switch_status.

Он позволяет получать фактическое состояние питания виртуальной машины (включена или выключена) без передачи Terraform права управлять этим состоянием. Атрибут доступен только для чтения и может использоваться для мониторинга и анализа состояния инфраструктуры.

Управление снапшотами сервера
Добавлена полноценная поддержка работы со снапшотами виртуальных машин. Появились новые ресурсы:
  • clo_compute_snapshot — создание снапшотов виртуальных серверов;
  • clo_compute_snapshot_restore — восстановление виртуальной машины из снапшота.
Также добавлен источник данных clo_compute_snapshots, который позволяет получать список существующих снапшотов.

Провайдер автоматически отслеживает жизненный цикл операций создания и удаления снапшотов, ожидая перехода ресурсов в корректные состояния. Если во время выполнения операция завершается ошибкой или получает неизвестный статус, Terraform прерывает выполнение и сообщает о возникшей проблеме.

Новые сетевые ресурсы
В новой версии Terraform-провайдер получил поддержку сразу нескольких сетевых сервисов.

Добавлена работа с SSH-ключами через ресурс clo_compute_keypair и источники данных clo_compute_keypair и clo_compute_keypairs, что позволяет централизовано управлять ключами доступа к виртуальным машинам.

Появилась поддержка виртуальных роутеров благодаря ресурсу clo_network_vrouter и источнику данных clo_network_vrouters.

Также реализовано управление балансировщиками нагрузки. Для этого добавлены ресурсы:
  • clo_network_loadbalancer;
  • clo_network_loadbalancer_rule.
Получать сведения о существующих балансировщиках и их правилах позволяют источники данных clo_network_loadbalancers и clo_network_loadbalancer_rules.

В релиз также вошли улучшения механизмов работы с балансировщиком нагрузки. Проведены доработки существующего функционала и исправлены ошибки, повышающие стабильность управления соответствующими ресурсами через Terraform.

Улучшения существующего функционала
Переименование виртуальных серверов без пересоздания
Изменение параметра name больше не приводит к удалению существующей виртуальной машины и её повторному созданию.

Теперь Terraform выполняет обновление имени существующего ресурса, что позволяет безопасно переименовывать серверы без простоя сервисов, изменения идентификаторов и повторного развёртывания инфраструктуры.

Повышение стабильности работы
В новой версии исправлен ряд сценариев, которые ранее могли приводить к некорректной работе провайдера. В частности:
  • После изменения размера виртуальной машины (resize) Terraform корректно обновляет вычисляемые параметры ресурса;
  • Аналогично обновляются вычисляемые атрибуты после смены пароля администратора;
  • Если виртуальный сервер был удалён вне Terraform, провайдер корректно определяет отсутствие ресурса при следующем запуске, удаляет его из состояния и позволяет создать новый без завершения работы с ошибкой.

Где получить новую версию
Обновлённый Terraform-провайдер CLO уже доступен в GitHub и официальном репозитории HashiCorp.
github.com/clo-ru/terraform-provider-clo
registry.terraform.io/providers/clo-ru/clo/latest/docs

Для начала работы необходимо установить Terraform согласно официальной документации, после чего подключить актуальную версию провайдера CLO и выполнить его настройку в соответствии с рекомендациями Базы знаний.
www.terraform.io/downloads
clo.ru/help/externals/terraform

https://clo.ru
Выделенные серверы OVH
Выделенные серверы Hetzner

0 комментариев

Оставить комментарий