Как решить, какой экземпляр EC2 использовать для Jenkins, выполняющих 20 одновременных сборок? - PullRequest
0 голосов
/ 05 ноября 2018

По сути, я хочу знать, какой экземпляр EC2 может обрабатывать сколько одновременных сборок Jenkins?

Пожалуйста, дайте мне знать, если мне нужно уточнить вопрос.

1 Ответ

0 голосов
/ 06 ноября 2018

Там нет идеального ответа. Настройка группы автоматического масштабирования с балансировщиком нагрузки - это способ «по книге» (вариант № 2 ниже) - эти два инструмента можно найти в области EC2 и позволяют при необходимости запускать несколько экземпляров EC2. и автоматически «убивает их», когда они больше не нужны.

Несколько вариантов:

  1. Выберите EC2 с наибольшей мощностью компьютера и посмотрите, как он справляется с вашими 20 заданиями. Если что-то движется медленно или не может с ним справиться, запустите новый экземпляр с большей вычислительной мощностью.

    • Плюсы: простой и экономичный (скорее всего)
    • Минусы: на начальном этапе может потребоваться много времени, чтобы выяснить, сколько процессора вам нужно
  2. Настройка балансировщика нагрузки и группы автоматического масштабирования распределяет ваши рабочие нагрузки по нескольким экземплярам и масштабируется по мере необходимости.

    • Плюсы: гарантированно справится с вашей рабочей нагрузкой (-ями)
    • Минусы: дороже (скорее всего)

Для Jenkins я использую плагин AWS EC2:

https://wiki.jenkins.io/display/JENKINS/Amazon+EC2+Plugin

Если вы выберете вариант 1, вы можете установить этот плагин, в котором вы определите, сколько процессорного времени вам нужно для выполнения ваших задач, сохраните «образ» EC2 и настройте его для запуска в качестве «Найдите экземпляр», когда вам нужно запустить работу, и автоматически убейте себя после простоя в течение x минут. Этот маршрут будет экономически эффективным, и вы, возможно, сможете добавить произвольно большое количество ЦП к своему AMI (образ машины), поскольку вы экономите много денег, используя «точечные экземпляры».

Опять же, группа автоматического масштабирования с балансировщиком нагрузки для распределения работы по нескольким узлам и масштабирования по мере необходимости (автоматически) является правильным способом сделать это, но пока вы не освоите AWS, возможно, будет легче попробовать Вариант № 1 с плагином EC2. Если вы пользуетесь группой автоматического масштабирования и балансировщиком нагрузки, следите за настройкой в ​​течение нескольких недель и убедитесь, что вы случайно не запускаете кучу ненужных экземпляров (случалось со мной, мой счет немного увеличился).

В этом блоге есть действительно хорошая информация о AWS EC2:

https://www.edureka.co/blog/ec2-aws-tutorial-elastic-compute-cloud/

...