Как реализовать Blue-Green Deployment с помощью HPA?

Простая форма загрузки

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

3
задан Mamuz 22 March 2019 в 22:52
поделиться

1 ответ

У нас есть несколько стратегий развертывания (существует больше, но я укажу на наиболее распространенное).

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 здесь .

0
ответ дан PjoterS 29 April 2019 в 03:16
поделиться
Другие вопросы по тегам:

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