0

Yandex.Cloud — первый опыт

Не так давно команда Yandex.Cloud выпустила плагин для terraform для управления своим облаком, что стало для меня поводом его попробовать. Посмотрим как это работает. Для начала ссылки: Используемые версии:
  • Yandex.Cloud CLI 0.13.2 darwin/amd64
  • terraform_provaider_yandex_v0.1.14
Опишу неочевидные моменты, которые возникли в процессе настройки провайдера:
provider "yandex" {
token = "${var.yandex-token}"
cloud_id = "${var.yandex-cloud-id}"
folder_id = "${var.yandex-folder-id}"
zone = "${var.zone}"
}
Как получить yandex-token можно почитать по ссылке на документацию CLI утилиты для Yandex.Cloud.
cloud_id и folder_id мне удалось получить через упомянутую выше CLI утилиту, следующими запросами:
➜ yc resource-manager cloud list
+----------------------+----------------------+
| ID | NAME |
+----------------------+----------------------+
| b1g8r5iofbr0lrd6ii8u | cloud-b1g8r5iofbr0lr |
+----------------------+----------------------+
➜ yc resource-manager folder list
+----------------------+---------+--------+--------+
| ID | NAME | LABELS | STATUS |
+----------------------+---------+--------+--------+
| b1giuod9394273s0sqgn | default | | ACTIVE |
+----------------------+---------+--------+--------+
Далее с описанием сети проблем не возникло:
resource "yandex_vpc_network" "test-network" {
name = "test-network"
}
resource "yandex_vpc_subnet" "test-subnet" {
name = "test-subnet"
zone = "${var.zone}"
network_id = "${yandex_vpc_network.test-network.id}"
v4_cidr_blocks = ["10.0.0.0/24"]
}
Следующее препятствие появилось в тот момент, когда я захотел запустить что-то отличное от ubuntu 16.4 (image_id = «fd87va5cc00gaq2f5qfb»). Как получить идентификаторы образов осталось не ясно. Не помогла и CLI утилита:
 ➜ yc compute image list
+----+------+--------+-------------+--------+
| ID | NAME | FAMILY | PRODUCT IDS | STATUS |
+----+------+--------+-------------+--------+
+----+------+--------+-------------+--------+
Проблему решила техподдержка в считанные минуты. Получить список всех доступных стандартных образов:
yc compute image list --folder-id standard-images
Подключить дополнительный диск к VM удалось без проблем. Кстати, я не нашел как сделать это в WEB консоли. Далее посмотрел что можно сделать в WEB и что можно сделать через CLI. И попробовал составить список того что мешает нам использовать платформу прямо сейчас:
  • Монтирование дисков без остановки инстанса. Yandex.Cloud над этим уже работают.
  • Нет внутреннего механизма работы со snapshots, вроде Lifecycle Manager
  • В terraform плагине не хватает возможности сделать IP постоянным для инстанса.
В целом впечатление осталось хорошее, не смотря на то, что в WEB интерфейсе пока можно сделать только основное. Кроме этого я пока не пробовал другие сервисы, кроме Compute Cloud и VPC. Мой пример Terraform для Yandex.Cloud можно посмотреть на github.