Terraform-aws-github-runner: Type d'instance de secours

Créé le 16 févr. 2021  ·  6Commentaires  ·  Source: philips-labs/terraform-aws-github-runner

Une demande de fonctionnalité : La possibilité de spécifier le type d'instance secondaire en cas de « Il n'y a pas de capacité Spot disponible qui correspond à votre demande », code : erreur 'InsufficientInstanceCapacity'.

Je pense que nous pourrions avoir un modèle de lancement de secours avec un autre type d'instance ou écraser InstanceType dans le modèle de lancement actuel au cas où AWS répondrait avec l'erreur « InsufficientInstanceCapacity ».

Commentaire le plus utile

D'après la documentation -
"LaunchTemplate — (carte) -
Le modèle de lancement à utiliser pour lancer les instances. Tous les paramètres que vous spécifiez dans RunInstances remplacent les mêmes paramètres dans le modèle de lancement."
Il y a donc une chance que cela puisse fonctionner de cette façon. Mais le deuxième modèle de lancement pourrait également fonctionner correctement.

En outre, il existe une solution plus robuste avec les demandes de flottes ponctuelles. Mais cela demande beaucoup de changements.

Tous les 6 commentaires

Oui, nous avons eu le même problème et notre idée était de faire la même chose. Est-ce que quelqu'un y travaille déjà ?

Voici un WIP pour cette idée - https://github.com/Kostiantyn-Vorobiov/terraform-aws-github-runner/pull/1 (pas testé dans l'environnement réel)
Des pensées? Je ne suis pas un gars TS @gertjanmaas , @npalm

Salut @Kostiantyn-Vorobiov.

J'aime vraiment l'idée. Je ne pense pas que la mise en œuvre fonctionnera car nous utilisons des modèles de lancement EC2. Pour autant que je sache, les options de modèles de lancement et les options de type d'instance ne se mélangent pas dans l'appel runInstances .

Ainsi, au lieu de modifier le type d'instance, nous pourrions créer un deuxième modèle de lancement dans Terraform et remplacer les launchTemplateName et launchTemplateVersion par le modèle secondaire en cas d'erreur InsufficientInstanceCapacity . Voir le code terraform ici : https://github.com/philips-labs/terraform-aws-github-runner/blob/8ed8a8491298d5023f37b207e432e92129183adc/modules/runners/main.tf#L36

@npalm, qu'est-ce que cela vous dit ?

D'après la documentation -
"LaunchTemplate — (carte) -
Le modèle de lancement à utiliser pour lancer les instances. Tous les paramètres que vous spécifiez dans RunInstances remplacent les mêmes paramètres dans le modèle de lancement."
Il y a donc une chance que cela puisse fonctionner de cette façon. Mais le deuxième modèle de lancement pourrait également fonctionner correctement.

En outre, il existe une solution plus robuste avec les demandes de flottes ponctuelles. Mais cela demande beaucoup de changements.

Dans ce cas, l'écrasement devrait être la voie à suivre

lien vers la documentation : https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html

@Kostiantyn-Vorobiov n'hésitez pas à ouvrir un projet de RP (WIP)

Cette page vous a été utile?
0 / 5 - 0 notes