Запланированные, автоматически масштабируемые задания в Google Cloud Platform

Спасибо! Я хочу поделиться своей функцией сейчас, она используется в Ajaxel CMS вместе с Instant messenger

,wrapText:function(o, ot, ct) {
    var s = o[0].selectionStart; 
    var e = o[0].selectionEnd;
    o.val(o.val().substring(0, s)+ot+o.val().substring(s,e)+ct+o.val().substring(e, o.val().length)); 
    if (o[0].createTextRange){
        var sr = o[0].createTextRange(); 
        sr.collapse(true); 
        sr.moveStart('character', s); 
        sr.moveEnd('character',e-s+ot.length+ct.length); 
        sr.select();
    }
    else if(o[0].setSelectionRange){ 
        o[0].setSelectionRange(s,e+ot.length+ct.length); 
    }
    else if(o[0].selectionStart){ 
        o[0].selectionStart=s; 
        o[0].selectionEnd=e+ot.length+ct.length; 
    }
}
0
задан me-- 2 March 2019 в 00:33
поделиться

1 ответ

В принципе, рабочая нагрузка хорошо подходит для Kubernetes. Вы можете настроить Kubernetes CronJob для запуска каждого вида работника один раз в час; вы бы создали отдельный CronJob с отдельными переменными среды или параметрами командной строки для каждого вида рабочей нагрузки; при условии, что у вас есть реестр изображений Docker (например, GCR ), вы можете запустить любой пользовательский образ Docker.

Единственная хитрость в том, что вы говорите о масштабировании контейнеров вверх и вниз, но в GKE вы платите за узлов . В GKE кластерный автоскалер автоматически создаст и удалит узлы для вас. Часто задаваемые вопросы звучат так, будто быстрое увеличение немного более важно для них, чем уменьшение, с целью получения достаточной мощности для запуска всего в течение 60 секунд. Это уменьшит количество узлов, которые используются менее чем на 50% в течение 10 минут .

Если запланированные задания составляют значительную долю от общей рабочей нагрузки, то, возможно, это приведет к тому, что узлы будут ускоряться и замедляться с, возможно, средним коэффициентом использования на 50%, с новым увеличением каждый час. Это также отвечает вашим требованиям к выставлению счетов (или, по крайней мере, лучше, чем постоянный запуск всего кластера). Документация по ценам GKE гласит:

GKE использует экземпляры Google Compute Engine для узлов в кластере. За каждый из этих экземпляров выставляется счет в соответствии с расценками Compute Engine, пока узлы не будут удалены. Ресурсы Compute Engine оплачиваются посекундно с минимальной стоимостью использования 1 минуты.

Если стоимость является основным фактором, оптимальным является ситуация, когда у вас никогда не будет свободного узла. Самый простой способ сделать это - запустить выделенный экземпляр GCE для каждой задачи, а затем уничтожить его по завершении задачи. GCE поддерживает косвенно запущенные контейнеры на экземплярах , которые могут хорошо подойти для вашей задачи; Вы должны будете предоставить свой собственный планировщик заданий и дать ему возможность покупать и закрывать экземпляры GCE. Тогда это становится компромиссом того, сколько денег вы хотите потратить на разработку индивидуального решения, и сколько денег вы хотите потратить на облачные ресурсы.

0
ответ дан David Maze 2 March 2019 в 00:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: