Простая форма загрузки
<script>
//form Submit
$("form").submit(function(evt){
evt.preventDefault();
var formData = new FormData($(this)[0]);
$.ajax({
url: 'fileUpload',
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
enctype: 'multipart/form-data',
processData: false,
success: function (response) {
alert(response);
}
});
return false;
});
</script>
<!--Upload Form-->
<form>
<table>
<tr>
<td colspan="2">File Upload</td>
</tr>
<tr>
<th>Select File </th>
<td><input id="csv" name="csv" type="file" /></td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="submit"/>
</td>
</tr>
</table>
</form>
У нас есть несколько стратегий развертывания (существует больше, но я укажу на наиболее распространенное).
1) Прокручивающееся Обновление - Нам нужно только одно развертывание. Это добавит переходные приставки с новым содержанием к текущему развертыванию и завершению старых переходных приставок версии в то же время. Некоторое время развертывание будет содержать соединение старой и новой версии.
2) Сине-зеленое Развертывание - Это - самая безопасная стратегия, и это рекомендуется для производственных рабочих нагрузок. У нас должно быть два сосуществования развертывания т.е. v1 и v2. Я - большинство случаев, которые старое развертывание истощает (закройте все соединения/сессии со старым развертыванием), и перенаправил все новые сессии/соединения к новому развертыванию. Usualy оба развертывания являются keept некоторое время как Производством и Этапом.
3) канарское Развертывание - самое твердое. Здесь Вам также нужно по крайней мере два развертывания, работающее одновременно. Некоторые пользователи будут подключены к старому приложению, другие будут перенаправлены к новому. Это может быть достигнуто через загрузку balancig/proxy конфигурация слоя. В этом случае HPA не позволяется, потому что мы используем два развертывания одновременно, и каждое развертывание будет иметь собственный независимый автосчетчик.
Как @Mamuz, на который указывают в комментарии Сине-зеленая Стратегия без, включают звуки уровня обслуживания намного лучше в этом случае, чем обновление прокрутки.
Другая опция, которая могла бы быть полезной в этом сценарии, Сине-зеленое Развертывание с ISTIO использование Трафика, Смещающегося . В этой опции Вы могли разделить трафик как запрос т.е. от 100-0, 80-20, 60-40, 20-80 к 0-100%
Используя ISTIO, и HPA шаг за шагом описан в этот статья.
можно читать об управлении трафиком здесь .
Пример Istio и K8s здесь .