Terraform-aws-github-runner: Tipo de instancia de reserva

Creado en 16 feb. 2021  ·  6Comentarios  ·  Fuente: philips-labs/terraform-aws-github-runner

Una solicitud de función: la posibilidad de especificar el tipo de instancia secundaria en caso de "No hay capacidad de Spot disponible que coincida con su solicitud", código: error 'InsufficientInstanceCapacity'.

Creo que podríamos tener una plantilla de lanzamiento alternativa con otro tipo de instancia o sobrescribir InstanceType en la plantilla de lanzamiento actual en caso de que AWS responda con el error "InsufficientInstanceCapacity".

Comentario más útil

Según la documentación -
"LaunchTemplate — (mapa) -
La plantilla de lanzamiento que se usará para lanzar las instancias. Cualquier parámetro que especifique en RunInstances anula los mismos parámetros en la plantilla de lanzamiento".
Entonces, existe la posibilidad de que funcione de esta manera. Pero la segunda plantilla de lanzamiento también podría funcionar bien.

Además, existe una solución más robusta con solicitudes de flotas puntuales. Pero eso requiere muchos cambios.

Todos 6 comentarios

Sí, teníamos el mismo problema y nuestra idea era hacer lo mismo. ¿Alguien ya está trabajando en ello?

Aquí hay un WIP para esta idea: https://github.com/Kostiantyn-Vorobiov/terraform-aws-github-runner/pull/1 (no probado en el entorno real)
¿Alguna idea? No soy un tipo TS @gertjanmaas , @npalm

Hola @Kostiantyn-Vorobiov.

Realmente me gusta la idea. No creo que la implementación funcione porque usamos plantillas de lanzamiento de EC2. Hasta donde sé, las opciones de Plantillas de lanzamiento y las opciones de tipo de instancia no se mezclan en la llamada runInstances .

Entonces, en lugar de cambiar el tipo de instancia, podríamos crear una segunda Plantilla de lanzamiento en Terraform y cambiar launchTemplateName y launchTemplateVersion a la plantilla secundaria en un error de InsufficientInstanceCapacity . Consulte el código de terraform aquí: https://github.com/philips-labs/terraform-aws-github-runner/blob/8ed8a8491298d5023f37b207e432e92129183adc/modules/runners/main.tf#L36

@npalm, ¿cómo te suena esto?

Según la documentación -
"LaunchTemplate — (mapa) -
La plantilla de lanzamiento que se usará para lanzar las instancias. Cualquier parámetro que especifique en RunInstances anula los mismos parámetros en la plantilla de lanzamiento".
Entonces, existe la posibilidad de que funcione de esta manera. Pero la segunda plantilla de lanzamiento también podría funcionar bien.

Además, existe una solución más robusta con solicitudes de flotas puntuales. Pero eso requiere muchos cambios.

En ese caso, sobrescribir debería ser el camino a seguir.

enlace a documentos: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html

@Kostiantyn-Vorobiov siéntase libre de abrir un borrador (WIP) PR

¿Fue útil esta página
0 / 5 - 0 calificaciones