Создание агента тестирования
Подготовка инфраструктуры
-
Создайте сервисный аккаунт для агента тестирования:
-
Настройте группу безопасности агента тестирования.
Создание агента тестирования
-
Если у вас еще нет пары SSH-ключей, создайте их.
-
Создайте агент:
Консоль управленияCLI-
В консоли управления
выберите каталог, в котором будет создан агент. -
В списке сервисов выберите Load Testing.
-
На вкладке Агенты нажмите кнопку Создать агент.
-
Укажите имя агента, например
agent-008
. -
Укажите ту же зону доступности, в которой находится цель тестирования.
-
В блоке Агент:
- Выберите подходящий тип агента. Подробнее см. в разделе Производительность агентов.
- Укажите подсеть, в которой находится цель тестирования. В подсети должен быть создан и настроен NAT-шлюз.
- Если вам доступны группы безопасности, выберите заранее настроенную группу безопасности агента.
-
В блоке Доступ укажите данные для доступа к агенту:
-
Выберите сервисный аккаунт
sa-loadtest
. -
В поле Логин введите имя пользователя.
Внимание
Не используйте логин
root
или другие имена, зарезервированные операционной системой. Для выполнения операций, требующих прав суперпользователя, используйте командуsudo
. -
В поле SSH-ключ вставьте содержимое файла открытого ключа.
-
-
Нажмите Создать.
-
Дождитесь завершения процесса создания виртуальной машины. Статус агента должен смениться на
Ready for test
.Примечание
Если процесс создания агента остановился на статусе
Initializing connection
, проверьте выполнение условий:- У агента есть доступ к
loadtesting.api.cloud.yandex.net:443
и публичный IP-адрес. - В целевой подсети настроен NAT-шлюз.
- У сервисного аккаунта, который назначен агенту, есть необходимые роли.
- У агента есть доступ к
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду
yc config set folder-id <идентификатор_каталога>
. Также для любой команды вы можете указать другой каталог с помощью параметров--folder-name
или--folder-id
.-
Посмотрите описание команды CLI для создания агента:
yc loadtesting agent create --help
-
Выберите ту же зону доступности, в которой находится цель тестирования.
-
Выберите подсеть, в которой находится цель тестирования. В подсети должен быть создан и настроен NAT-шлюз.
Чтобы получить список доступных подсетей с помощью CLI, выполните следующую команду:
yc vpc subnet list
Результат:
+----------------------+---------------------------+----------------------+----------------+-------------------+-----------------+ | ID | NAME | NETWORK ID | ROUTE TABLE ID | ZONE | RANGE | +----------------------+---------------------------+----------------------+----------------+-------------------+-----------------+ | e2lfkhps7bol******** | default-ru-central1-b | enpnf7hajqmd******** | | ru-central1-b | [10.129.0.0/24] | | e9bgnq1bggfa******** | default-ru-central1-a | enpnf7hajqmd******** | | ru-central1-a | [10.128.0.0/24] | | fl841n5ilklr******** | default-ru-central1-d | enpnf7hajqmd******** | | ru-central1-d | [10.130.0.0/24] | +----------------------+---------------------------+----------------------+----------------+-------------------+-----------------+
-
Выберите группу безопасности. Группа безопасности должна быть заранее настроена.
Чтобы получить список доступных групп безопасности с помощью CLI, выполните следующую команду:
yc vpc security-group list
Результат:
+----------------------+---------------------------------+--------------------------------+----------------------+ | ID | NAME | DESCRIPTION | NETWORK-ID | +----------------------+---------------------------------+--------------------------------+----------------------+ | enp414a2tnnp******** | default-sg-enpnf7hajqmd******** | Default security group for | enpnf7hajqmd******** | | | | network | | | enpctpve7951******** | sg-load-testing-agents | | enpnf7hajqmd******** | | enpufo9ms0gi******** | sg-load-testing-targets | | enpnf7hajqmd******** | +----------------------+---------------------------------+--------------------------------+----------------------+
-
Узнайте идентификатор сервисного аккаунта
sa-loadtest
по его имени:yc iam service-account get sa-loadtest
Результат:
id: ajespasg04oc******** folder_id: b1g85uk96h3f******** created_at: "2024-12-04T17:38:57Z" name: sa-loadtest last_authenticated_at: "2024-12-12T19:10:00Z"
-
Создайте агента в каталоге по умолчанию:
yc loadtesting agent create \ --name agent-008 \ --labels origin=default,label-key=label-value \ --zone default-ru-central1-a \ --network-interface subnet-id=e9bgnq1bggfa********,security-group-ids=enpctpve7951******** \ --cores 2 \ --memory 2G \ --service-account-id ajespasg04oc******** --metadata-from-file user-data=metadata.yaml
Где:
--name
— имя агента.--labels
— метки агента.--zone
— зона доступности, в которой будет размещен агент.--network-interface
— настройки сетевого интерфейса агента:subnet-name
— идентификатор выбранной подсети.security-group-ids
— идентификаторы групп безопасности.
--cores
— сколько ядер процессора может задействовать агент.--memory
— сколько памяти отведено агенту.--service-account-id
— идентификатор сервисного аккаунта.--metadata-from-file
— пара<ключ>=<значение>
с именем файла, содержащим путь к публичному SSH-ключу. Пример содержимого файла конфигурацииmetadata.yaml
можно посмотреть в разделе Метаданные виртуальной машины.
Подробнее о создании агента с помощью CLI см. в репозитории Yandex Cloud Examples
.
-
-
Привяжите публичный IP-адрес к агенту для доступа по протоколу SSH:
Консоль управленияCLI- В консоли управления
выберите каталог, в котором размещен агент. - Выберите сервис Compute Cloud.
- Выберите ВМ с именем
agent-008
. - В блоке Сетевой интерфейс в правом верхнем углу нажмите
и выберите Добавить публичный IP-адрес. - В открывшемся окне:
- В поле Публичный адрес выберите получение адреса Автоматически.
- Нажмите Добавить.
Чтобы привязать к агенту публичный IP-адрес выполните команду CLI:
yc compute instance add-one-to-one-nat \ --id=<идентификатор_ВМ> \ --network-interface-index=<номер_сетевого_интерфейса_ВМ> \ --nat-address=<IP-адрес>
Где:
-
--id
— идентификатор ВМ. Получите список идентификаторов ВМ, доступных в каталоге, с помощью команды CLIyc compute instance list
. -
--network-interface-index
— номер сетевого интерфейса ВМ. По умолчанию —0
. Чтобы получить список сетевых интерфейсов ВМ и их номера, выполните командуyc compute instance get <идентификатор_ВМ>
. -
--nat-address
— публичный IP-адрес, который нужно присвоить ВМ. Необязательный параметр. Если параметр--nat-address
не задан, публичный IP-адрес будет присвоен ВМ автоматически.Получите список зарезервированных публичных IP-адресов, доступных в каталоге, с помощью команды CLI
yc vpc address list
. IP-адрес и ВМ должны находиться в одной зоне доступности.
Пример использования:
yc compute instance add-one-to-one-nat \ --id=fhmsbag62taf******** \ --network-interface-index=0 \ --nat-address=51.250.*.***
Результат:
id: fhmsbag62taf******** folder_id: b1gv87ssvu49******** created_at: "2022-05-06T10:41:56Z" ... network_settings: type: STANDARD placement_policy: {}
Подробнее о команде
yc compute instance add-one-to-one-nat
см. в справочнике CLI. - В консоли управления