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'.
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
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.