Terraform-aws-github-runner: Tipo de instância de fallback

Criado em 16 fev. 2021  ·  6Comentários  ·  Fonte: philips-labs/terraform-aws-github-runner

Uma solicitação de recurso: A possibilidade de especificar o tipo de instância secundária no caso de "Não há capacidade spot disponível que corresponda à sua solicitação", código: erro 'InsufficientInstanceCapacity'.

Acho que poderíamos ter um modelo de execução de fallback com outro tipo de instância ou substituir InstanceType no modelo de execução atual caso a AWS responda com o erro 'InsufficientInstanceCapacity'.

Comentários muito úteis

De acordo com a documentação -
"LaunchTemplate — (mapa) -
O modelo de execução a ser usado para iniciar as instâncias. Quaisquer parâmetros que você especificar em RunInstances substituem os mesmos parâmetros no modelo de execução."
Portanto, há uma chance de que isso possa funcionar dessa maneira. Mas o segundo modelo de lançamento também pode funcionar bem.

Além disso, existe uma solução mais robusta com solicitações de frota pontual. Mas isso requer muitas mudanças.

Todos 6 comentários

Sim, tivemos o mesmo problema e nossa ideia era fazer o mesmo. Alguém já está trabalhando nisso?

Aqui está um WIP para esta ideia - https://github.com/Kostiantyn-Vorobiov/terraform-aws-github-runner/pull/1 (não testei no ambiente real)
Alguma ideia? Eu não sou um cara TS @gertjanmaas , @npalm

Olá @Kostiantyn-Vorobiov.

Eu realmente gosto da idéia. Eu não acho que a implementação funcionará porque usamos modelos de lançamento do EC2. Até onde eu sei, as opções Launch Templates e as opções de tipo de instância não se misturam na chamada runInstances .

Portanto, em vez de alterar o tipo de instância, poderíamos criar um segundo modelo de execução no Terraform e alterar launchTemplateName e launchTemplateVersion para o modelo secundário em um erro InsufficientInstanceCapacity . Veja o código terraform aqui: https://github.com/philips-labs/terraform-aws-github-runner/blob/8ed8a8491298d5023f37b207e432e92129183adc/modules/runners/main.tf#L36

@npalm como isso soa para você?

De acordo com a documentação -
"LaunchTemplate — (mapa) -
O modelo de execução a ser usado para iniciar as instâncias. Quaisquer parâmetros que você especificar em RunInstances substituem os mesmos parâmetros no modelo de execução."
Portanto, há uma chance de que isso possa funcionar dessa maneira. Mas o segundo modelo de lançamento também pode funcionar bem.

Além disso, existe uma solução mais robusta com solicitações de frota pontual. Mas isso requer muitas mudanças.

Nesse caso, a substituição deve ser o caminho a seguir

link para documentos: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html

@Kostiantyn-Vorobiov sinta-se à vontade para abrir um rascunho (WIP) PR

Esta página foi útil?
0 / 5 - 0 avaliações