Запрос функции: возможность указать вторичный тип экземпляра в случае «Нет доступных спотовых мощностей, соответствующих вашему запросу», код: ошибка «InsufficientInstanceCapacity».
Я думаю, у нас может быть запасной шаблон запуска с другим типом экземпляра или перезапись InstanceType
в текущем шаблоне запуска на случай, если AWS ответит ошибкой InsufficientInstanceCapacity.
Да, у нас была та же проблема, и мы хотели сделать то же самое. Кто-то уже работает над этим?
Вот WIP для этой идеи - https://github.com/Kostiantyn-Vorobiov/terraform-aws-github-runner/pull/1 (в реальных условиях не проверял)
Есть предположения? Я не транссексуал @gertjanmaas , @npalm
Привет @Константин-Воробьев.
Мне очень нравится эта идея. Я не думаю, что реализация будет работать, потому что мы используем шаблоны запуска EC2. Насколько мне известно, параметры запуска шаблонов и параметры типа экземпляра не смешиваются в вызове runInstances
.
Таким образом, вместо изменения типа экземпляра мы могли бы создать второй шаблон запуска в Terraform и изменить шаблоны launchTemplateName
и launchTemplateVersion
на вторичный шаблон при ошибке InsufficientInstanceCapacity
. См. код terraform здесь: https://github.com/philips-labs/terraform-aws-github-runner/blob/8ed8a8491298d5023f37b207e432e92129183adc/modules/runners/main.tf#L36
@npalm как
Согласно документации -
«Шаблон запуска — (карта) —
Шаблон запуска, используемый для запуска экземпляров. Любые параметры, которые вы указываете в RunInstances, переопределяют те же параметры в шаблоне запуска».
Так что есть шанс, что это может работать таким образом. Но второй шаблон запуска тоже может работать нормально.
Кроме того, существует более надежное решение с запросами спотового парка. Но для этого нужно много изменений.
В этом случае перезапись должна быть путем вперед
ссылка на документы: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html
@Kostiantyn-Vorobiov не стесняйтесь открывать черновик (WIP) PR
Самый полезный комментарий
Согласно документации -
«Шаблон запуска — (карта) —
Шаблон запуска, используемый для запуска экземпляров. Любые параметры, которые вы указываете в RunInstances, переопределяют те же параметры в шаблоне запуска».
Так что есть шанс, что это может работать таким образом. Но второй шаблон запуска тоже может работать нормально.
Кроме того, существует более надежное решение с запросами спотового парка. Но для этого нужно много изменений.