Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/yandex-cloud-examples/yc-vm-group-with-autoscale
Создание группы виртуальных машин с автоматическим масштабированием с помощью Network Load Balancer.
https://github.com/yandex-cloud-examples/yc-vm-group-with-autoscale
instance-group network-load-balancer nlb terraform vm yandex-cloud yandexcloud
Last synced: about 14 hours ago
JSON representation
Создание группы виртуальных машин с автоматическим масштабированием с помощью Network Load Balancer.
- Host: GitHub
- URL: https://github.com/yandex-cloud-examples/yc-vm-group-with-autoscale
- Owner: yandex-cloud-examples
- License: apache-2.0
- Created: 2024-03-13T20:22:52.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-08-26T07:38:42.000Z (2 months ago)
- Last Synced: 2024-08-26T09:48:43.310Z (2 months ago)
- Topics: instance-group, network-load-balancer, nlb, terraform, vm, yandex-cloud, yandexcloud
- Language: HCL
- Homepage: https://cloud.yandex.ru/docs/compute/concepts/instance-groups/scale#auto-scale
- Size: 21.5 KB
- Stars: 1
- Watchers: 9
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Работа с группой виртуальных машин Yandex Compute Cloud с автоматическим масштабированием с помощью Network Load Balancer
С помощью представленной конфигурации для [Terraform](https://www.terraform.io/) вы развернете [группу ВМ с политикой автоматического масштабирования](https://cloud.yandex.ru/docs/compute/concepts/instance-groups/scale#auto-scale) при превышении допустимой нагрузки.
ВМ будут развернуты в двух зонах доступности, а нагрузка на них будет регулироваться с помощью [сетевого балансировщика нагрузки](https://cloud.yandex.ru/docs/network-load-balancer/concepts/) Yandex Network Load Balancer.
Подробную информацию о ресурсах провайдера смотрите в документации на сайте [Terraform](https://www.terraform.io/docs/providers/yandex/index.html) или в [зеркале](https://terraform-provider.yandexcloud.net).
При изменении файлов конфигураций Terraform автоматически определяет, какая часть вашей конфигурации уже развернута, что следует добавить или удалить.
Подробное практическое руководство см. на странице [Работа с группой виртуальных машин с автоматическим масштабированием](https://yandex.cloud/ru/docs/tutorials/infrastructure-management/vm-autoscale).
Чтобы настроить масштабирование группы ВМ с помощью Terraform:
1. [Установите Terraform](https://cloud.yandex.ru/docs/tutorials/infrastructure-management/terraform-quickstart#install-terraform) и укажите источник для установки провайдера Yandex Cloud (раздел [Настройте провайдер](https://cloud.yandex.ru/docs/tutorials/infrastructure-management/terraform-quickstart#configure-provider), шаг 1).
1. Подготовьте файлы с описанием инфраструктуры:
1. Склонируйте репозиторий с файлами конфигурации для Terraform:
```bash
git clone https://github.com/yandex-cloud-examples/yc-vm-group-with-autoscale.git
```1. Перейдите в директорию с репозиторием. В ней должны появиться файлы:
- `vm-autoscale.tf` — конфигурация создаваемой инфраструктуры;
- `declaration.yaml` — описание Docker-контейнера с веб-сервером, который будет запущен на ВМ для имитации нагрузки на сервис;
- `config.tpl` — описание параметров пользователя ВМ;
- `vm-autoscale.auto.tfvars` — пользовательские данные.Более подробную информацию о параметрах используемых ресурсов в Terraform см. в документации провайдера:
- [yandex_iam_service_account](https://terraform-provider.yandexcloud.net/Resources/iam_service_account)
- [yandex_resourcemanager_folder_iam_member](https://terraform-provider.yandexcloud.net/Resources/resourcemanager_folder_iam_member)
- [yandex_vpc_network](https://terraform-provider.yandexcloud.net/Resources/vpc_network)
- [yandex_vpc_subnet](https://terraform-provider.yandexcloud.net/Resources/vpc_subnet)
- [yandex_vpc_security_group](https://terraform-provider.yandexcloud.net/Resources/vpc_security_group)
- [yandex_compute_instance_group](https://terraform-provider.yandexcloud.net/Resources/compute_instance_group)
- [yandex_lb_network_load_balancer](https://terraform-provider.yandexcloud.net/Resources/lb_network_load_balancer)1. В файле `vm-autoscale.auto.tfvars` задайте пользовательские параметры:
- `folder_id` — [идентификатор каталога](https://cloud.yandex.ru/docs/resource-manager/operations/folder/get-id).
- `vm_user` — имя пользователя ВМ.
- `ssh_key` — содержимое файла с открытым SSH-ключом для аутентификации пользователя на ВМ. Подробнее см. [Создание пары ключей SSH](https://cloud.yandex.ru/docs/compute/operations/vm-connect/ssh#creating-ssh-keys).1. Создайте ресурсы:
1. В терминале перейдите в директорию с загруженным репозиторием.
1. Проверьте корректность конфигурационного файла с помощью команды:```bash
terraform validate
```Если конфигурация является корректной, появится сообщение:
```bash
Success! The configuration is valid.
```1. Выполните команду:
```bash
terraform plan
```В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
1. Примените изменения конфигурации:```bash
terraform apply
```1. Подтвердите изменения: введите в терминале слово `yes` и нажмите **Enter**.
1. [Проверьте работу группы ВМ и сетевого балансировщика](https://cloud.yandex.ru/docs/tutorials/infrastructure-management/vm-autoscale#check-service).
1. [Проверьте работу автоматического масштабирования](https://cloud.yandex.ru/docs/tutorials/infrastructure-management/vm-autoscale#check-highload).