Terraform-aws-github-runner: Jenis instans pengganti

Dibuat pada 16 Feb 2021  ·  6Komentar  ·  Sumber: philips-labs/terraform-aws-github-runner

Permintaan fitur: Kemungkinan untuk menentukan jenis instans sekunder jika "Tidak ada kapasitas Spot yang tersedia yang cocok dengan permintaan Anda", kode: kesalahan 'InsufficientInstanceCapacity'.

Saya pikir kita dapat memiliki template peluncuran mundur dengan jenis instans lain atau menimpa InstanceType dalam template peluncuran saat ini jika AWS menjawab dengan kesalahan 'InsufficientInstanceCapacity'.

Komentar yang paling membantu

Menurut dokumentasi -
"PeluncuranTemplat — (peta) -
Templat peluncuran yang akan digunakan untuk meluncurkan instans. Parameter apa pun yang Anda tentukan di RunInstances menimpa parameter yang sama di template peluncuran."
Jadi ada kemungkinan itu bisa bekerja dengan cara ini. Tapi template peluncuran kedua juga bisa bekerja dengan baik.

Juga, ada solusi yang lebih kuat dengan permintaan armada spot. Tapi itu membutuhkan banyak perubahan.

Semua 6 komentar

Ya, kami memiliki masalah yang sama dan ide kami adalah melakukan hal yang sama. Apakah seseorang sudah mengerjakannya?

Ini adalah WIP untuk ide ini - https://github.com/Kostiantyn-Vorobiov/terraform-aws-github-runner/pull/1 (belum diuji di lingkungan nyata)
Ada pikiran? Saya bukan orang TS @gertjanmaas , @npalm

Hai @Kostiantyn-Vorobiov.

Saya benar-benar menyukai ide ini. Saya rasa implementasinya tidak akan berhasil karena kami menggunakan Template Peluncuran EC2. Sejauh yang saya tahu opsi Launch Templates dan opsi tipe instance tidak bercampur dalam panggilan runInstances .

Jadi, alih-alih mengubah tipe instans, kita bisa membuat Templat Peluncuran kedua di Terraform dan mengubah launchTemplateName dan launchTemplateVersion ke templat sekunder pada kesalahan InsufficientInstanceCapacity . Lihat kode terraform di sini: https://github.com/philips-labs/terraform-aws-github-runner/blob/8ed8a8491298d5023f37b207e432e92129183adc/modules/runners/main.tf#L36

@npalm bagaimana ini terdengar bagi Anda?

Menurut dokumentasi -
"PeluncuranTemplat — (peta) -
Templat peluncuran yang akan digunakan untuk meluncurkan instans. Parameter apa pun yang Anda tentukan di RunInstances menimpa parameter yang sama di template peluncuran."
Jadi ada kemungkinan itu bisa bekerja dengan cara ini. Tapi template peluncuran kedua juga bisa bekerja dengan baik.

Juga, ada solusi yang lebih kuat dengan permintaan armada spot. Tapi itu membutuhkan banyak perubahan.

Dalam hal ini menimpa harus menjadi jalan ke depan

tautan ke dokumen: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html

@Kostiantyn-Vorobiov jangan ragu untuk membuka draft (WIP) PR

Apakah halaman ini membantu?
0 / 5 - 0 peringkat