The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Опрос для пользователей OpenVZ, opennews (??), 21-Май-15, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


42. "Опрос для пользователей OpenVZ"  –1 +/
Сообщение от йemail (?), 27-Май-15, 19:09 
> Поздно. Docker наше все!

расскажете мне, как обновить контейнер, слушающий на 80 порту, без даунтайма?

docker-way: завершить старый, подождать (даунтайм), поднять новый.

ну, либо извращаться с редиректами на iptables на хост-системе.

Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

43. "Опрос для пользователей OpenVZ"  +1 +/
Сообщение от Andrey Mitrofanov (?), 27-Май-15, 19:12 
>> Поздно. Docker наше все!
> расскажете мне, как обновить контейнер, слушающий на 80 порту, без даунтайма?

*Почти* http://www.luffy.cx/en/blog/2015-hotfix-qemu-venom.html docker-way.

> docker-way: завершить старый, подождать (даунтайм), поднять новый.

Ответить | Правка | Наверх | Cообщить модератору

44. "Опрос для пользователей OpenVZ"  –1 +/
Сообщение от йemail (?), 27-Май-15, 19:17 
>>> Поздно. Docker наше все!
>> расскажете мне, как обновить контейнер, слушающий на 80 порту, без даунтайма?
> *Почти* http://www.luffy.cx/en/blog/2015-hotfix-qemu-venom.html docker-way.

а причём тут docker? там про qemu рассказывают.

Ответить | Правка | Наверх | Cообщить модератору

45. "Опрос для пользователей OpenVZ"  +1 +/
Сообщение от Andrey Mitrofanov (?), 27-Май-15, 19:23 
>> *Почти* http://www.luffy.cx/en/blog/2015-hotfix-qemu-venom.html docker-way.
> а причём тут docker? там про qemu рассказывают.

Апгрейд с downtime=0   === Не искать лёгких путей.

Ну, мож, и не докер. Но кроваво-энтерпрайзно точно. [И да, кластер-шардер из докеров -- тоже!]

Ответить | Правка | Наверх | Cообщить модератору

47. "Опрос для пользователей OpenVZ"  +/
Сообщение от йemail (?), 27-Май-15, 19:26 
>>> *Почти* http://www.luffy.cx/en/blog/2015-hotfix-qemu-venom.html docker-way.
>> а причём тут docker? там про qemu рассказывают.
> Апгрейд с downtime=0   === Не искать лёгких путей.
> Ну, мож, и не докер. Но кроваво-энтерпрайзно точно. [И да, кластер-шардер из
> докеров -- тоже!]

маленький нюанс: xen/kvm можно live-мигрировать с хоста на хост. а докер нельзя.

Ответить | Правка | Наверх | Cообщить модератору

51. "Опрос для пользователей OpenVZ"  +/
Сообщение от йemail (?), 27-Май-15, 19:44 
я больше скажу: даже в openvz можно: https://openvz.org/Checkpointing_and_live_migration

а докер нет. есть criu, но это не live migration.


Ответить | Правка | Наверх | Cообщить модератору

46. "Опрос для пользователей OpenVZ"  +2 +/
Сообщение от Andrey Mitrofanov (?), 27-Май-15, 19:24 
>> Поздно. Docker наше все!
> расскажете мне, как обновить контейнер, слушающий на 80 порту, без даунтайма?

++Отдельное спасибо за вкусный corner-case этой свистоперделки.

Ответить | Правка | К родителю #42 | Наверх | Cообщить модератору

53. "Опрос для пользователей OpenVZ"  +/
Сообщение от йemail (?), 27-Май-15, 20:05 
на здоровье. у меня есть нехилый опыт докера в продакшне и я действительно считаю, что докер пока многого не умеет и должен быть лучше.

на данный момент я его переел: недостатки перевешивают плюсы.

а основной плюс докера: соединение configuration management с запуском виртуалок. очень хорошая идея, но докер пока сыроват. впрочем, если openvz таки нормально скрестят с ансиблем, нафиг тот докер.

Ответить | Правка | Наверх | Cообщить модератору

48. "Опрос для пользователей OpenVZ"  +/
Сообщение от csdoc (ok), 27-Май-15, 19:33 

> расскажете мне, как обновить контейнер, слушающий на 80 порту, без даунтайма?

через Blue/Green Deployment.

тут теория: http://martinfowler.com/bliki/BlueGreenDeployment.html

тут практика: http://arojgeorge.ghost.io/a-continuous-delivery-example/

Ответить | Правка | К родителю #42 | Наверх | Cообщить модератору

50. "Опрос для пользователей OpenVZ"  –1 +/
Сообщение от йemail (?), 27-Май-15, 19:41 
>> расскажете мне, как обновить контейнер, слушающий на 80 порту, без даунтайма?
> через Blue/Green Deployment.
> тут теория: http://martinfowler.com/bliki/BlueGreenDeployment.html
> тут практика: http://arojgeorge.ghost.io/a-continuous-delivery-example/

я в курсе, что это такое. итак, практическая задача: обновить docker-контейнер, слушающий на 80 порту, без даунтайма (переключить со старого на новый).

у docker вариант один: делать балансировщик на iptables. по линкам даже это не рассказано.

вы знаете другие варианты?

Ответить | Правка | Наверх | Cообщить модератору

52. "Опрос для пользователей OpenVZ"  +/
Сообщение от csdoc (ok), 27-Май-15, 20:00 

> практическая задача: обновить docker-контейнер, слушающий
> на 80 порту, без даунтайма (переключить со старого на новый).
> у docker вариант один: делать балансировщик на iptables. по линкам даже это
> не рассказано.
> вы знаете другие варианты?

да, в качестве балансировщика использовать nginx или haproxy.

Ответить | Правка | Наверх | Cообщить модератору

54. "Опрос для пользователей OpenVZ"  +/
Сообщение от йemail (?), 27-Май-15, 20:08 
> в качестве балансировщика использовать nginx или haproxy.

ну-ну. лучше бы возможность переключить порт, на который забинден контейнер.

нет, можно сделать так: старый контейнер слушает на 8080, новый на 8081, а nginx'у мы говорим, куда коннектиться, через jenkins, например. но всё равно кривовато.

Ответить | Правка | Наверх | Cообщить модератору

55. "Опрос для пользователей OpenVZ"  +/
Сообщение от йemail (?), 27-Май-15, 20:13 
> ну-ну. лучше бы возможность переключить порт, на который забинден контейнер.
> нет, можно сделать так: старый контейнер слушает на 8080, новый на 8081,
> а nginx'у мы говорим, куда коннектиться, через jenkins, например. но всё
> равно кривовато.

особенно кривовато это становится, когда у нас новый контейнер становится старым. ну нахрена эти пляски на пустом месте?

Ответить | Правка | Наверх | Cообщить модератору

57. "Опрос для пользователей OpenVZ"  +/
Сообщение от csdoc (ok), 27-Май-15, 20:26 
> лучше бы возможность переключить порт, на который забинден контейнер.
> нет, можно сделать так: старый контейнер слушает на 8080, новый на 8081,
> а nginx'у мы говорим, куда коннектиться, через jenkins, например. но всё
> равно кривовато.

поздравляю, вы только что изобрели метод Blue/Green Deployment.

> особенно кривовато это становится, когда у нас новый контейнер становится старым.

других вариантов нет.

> ну нахрена эти пляски на пустом месте?

чтобы получить zero downtime deployment.

Ответить | Правка | Наверх | Cообщить модератору

59. "Опрос для пользователей OpenVZ"  +/
Сообщение от йemail (?), 27-Май-15, 20:33 
>> лучше бы возможность переключить порт, на который забинден контейнер.
>> нет, можно сделать так: старый контейнер слушает на 8080, новый на 8081,
>> а nginx'у мы говорим, куда коннектиться, через jenkins, например. но всё
>> равно кривовато.
> поздравляю, вы только что изобрели метод Blue/Green Deployment.
>> особенно кривовато это становится, когда у нас новый контейнер становится старым.
> других вариантов нет.

есть: мы апдейтим код прямо в контейнере и говорим graceful reload демону.

но это не docker-way. там своё разделение на container- и user-provided filesystem, т.е. при обновлении системы или приложения мы натыкаемся на это.

моя претензия к докеру не в том, что если мы хотим два контейнера, нам надо переключаться между ними. а в том, что мы можем хотеть обновить один (из того же женкинса выбираем, из какого тэга/ветки): обновить код, сделать graceful reload. а в докере это свистопляски т.к. не вписывается в идеологию.

Ответить | Правка | Наверх | Cообщить модератору

63. "Опрос для пользователей OpenVZ"  +/
Сообщение от csdoc (ok), 27-Май-15, 21:18 
>>> лучше бы возможность переключить порт, на который забинден контейнер.
>>> нет, можно сделать так: старый контейнер слушает на 8080, новый на 8081,
>>> а nginx'у мы говорим, куда коннектиться, через jenkins, например. но всё
>>> равно кривовато.
>> поздравляю, вы только что изобрели метод Blue/Green Deployment.
>>> особенно кривовато это становится, когда у нас новый контейнер становится старым.
>> других вариантов нет.
> есть: мы апдейтим код прямо в контейнере и говорим graceful reload демону.

далеко не весь софт запускается в виде "демонов"
и далеко не весь софт умеет делать graceful reload.

поэтому, в общем случае - кроме Blue/Green Deployment других вариантов нет.
например, весь софт, который написан на Java не умеет делать graceful reload.

> но это не docker-way. там своё разделение на container- и user-provided filesystem,
> т.е. при обновлении системы или приложения мы натыкаемся на это.

разумеется. docker-way - это делать новый контейнер для новой версии софта.

> моя претензия к докеру не в том, что если мы хотим два
> контейнера, нам надо переключаться между ними. а в том, что мы
> можем хотеть обновить один (из того же женкинса выбираем, из какого
> тэга/ветки): обновить код, сделать graceful reload. а в докере это свистопляски
> т.к. не вписывается в идеологию.

да, потому что докер реализует подход http://martinfowler.com/bliki/ImmutableServer.html

Ответить | Правка | Наверх | Cообщить модератору

64. "Опрос для пользователей OpenVZ"  +/
Сообщение от йemail (?), 27-Май-15, 21:29 
>> мы апдейтим код прямо в контейнере и говорим graceful reload демону.
> далеко не весь софт запускается в виде "демонов"

ну не на cgi-скриптах на перле же. и не из inetd.

> и далеко не весь софт умеет делать graceful reload.
> например, весь софт, который написан на Java не умеет делать graceful reload.

в java-мире (скорее, конкретных приложениях, чем технологии) много чего нельзя. но это не значит, что так и должно быть.

конкретно в части graceful reload -- те стеки, с которыми я работаю, это умеют. чего и вам желаю.

Ответить | Правка | Наверх | Cообщить модератору

65. "Опрос для пользователей OpenVZ"  +/
Сообщение от csdoc (ok), 27-Май-15, 22:16 
>> и далеко не весь софт умеет делать graceful reload.
>> например, весь софт, который написан на Java не умеет делать graceful reload.
> в java-мире (скорее, конкретных приложениях, чем технологии) много чего нельзя.
> но это не значит, что так и должно быть.

это так есть. в общем случае этим методом задача не решаема.

> конкретно в части graceful reload -- те стеки, с которыми я работаю,
> это умеют. чего и вам желаю.

а что это за стеки такие?

Ответить | Правка | Наверх | Cообщить модератору

66. "Опрос для пользователей OpenVZ"  +/
Сообщение от йemail (?), 27-Май-15, 22:48 
unicorn, uwsgi.

даже в банально php (хоть mod_php, хоть php-fpm) проблем с этим на практике тоже, скорее, нет.

так что жуйте свою жабу, но нам рассказывать, что это нормально -- не надо.

Ответить | Правка | Наверх | Cообщить модератору

67. "Опрос для пользователей OpenVZ"  –1 +/
Сообщение от csdoc (ok), 27-Май-15, 23:42 
> так что жуйте свою жабу, но нам рассказывать, что это нормально -- не надо.

Программировать на языке Java - это нормально.

https://www.youtube.com/watch?v=kLO1djacsfg

Ответить | Правка | К родителю #66 | Наверх | Cообщить модератору

69. "Опрос для пользователей OpenVZ"  +/
Сообщение от Аноним (-), 09-Июн-15, 22:30 
> Программировать на языке Java - это нормально.

Почему-то звучит как оправдание :)

Ответить | Правка | К родителю #67 | Наверх | Cообщить модератору

71. "Опрос для пользователей OpenVZ"  +1 +/
Сообщение от csdoc (ok), 10-Июн-15, 00:18 
>> Программировать на языке Java - это нормально.
> Почему-то звучит как оправдание :)

Скорее уж как констатация факта.

http://habrahabr.ru/post/201612/
Java навсегда! 12 причин длительного доминирования Java

Ответить | Правка | К родителю #69 | Наверх | Cообщить модератору

72. "Опрос для пользователей OpenVZ"  +/
Сообщение от Аноним (-), 10-Июн-15, 00:42 
> Скорее уж как констатация факта.

Вы сделали несколько ошибок в фразе "фанатские вопли".

> Java навсегда! 12 причин длительного доминирования Java

Мне этот булшит не интересен. Мне достаточно того что это переросточный и очень проблемный рантайм с кучей бестолковостей. Пусть им изен пользуется :)

Ответить | Правка | К родителю #71 | Наверх | Cообщить модератору

73. "Опрос для пользователей OpenVZ"  +1 +/
Сообщение от csdoc (ok), 10-Июн-15, 00:49 
> это переросточный и очень проблемный рантайм с кучей бестолковостей

по сравнению с чем?

Ответить | Правка | К родителю #72 | Наверх | Cообщить модератору

75. "Опрос для пользователей OpenVZ"  +/
Сообщение от Аноним (-), 10-Июн-15, 12:07 
> по сравнению с чем?

Да почти со всем. Я знаю только 1 вещь которая в этом плане хуже - дотнет. Который суть "догнать и перегнать яву!" от микрософта. Надо сказать что это у них получилось. Рантайм получился еще жирнее и еще проблемнее. Поздравляю с почетным соседством.

Ответить | Правка | К родителю #73 | Наверх | Cообщить модератору

76. "Опрос для пользователей OpenVZ"  +/
Сообщение от csdoc (ok), 10-Июн-15, 12:37 
>> по сравнению с чем?
> Да почти со всем.

Например?

Ответить | Правка | К родителю #75 | Наверх | Cообщить модератору

56. "Опрос для пользователей OpenVZ"  +1 +/
Сообщение от AlexAT (ok), 27-Май-15, 20:19 
> docker-way: завершить старый, подождать (даунтайм), поднять новый.

И давно haproxy отменили?

Ответить | Правка | К родителю #42 | Наверх | Cообщить модератору

58. "Опрос для пользователей OpenVZ"  +/
Сообщение от Michael Shigorinemail (ok), 27-Май-15, 20:31 
> расскажете мне, как обновить контейнер, слушающий на 80 порту, без даунтайма?
> docker-way: завершить старый, подождать (даунтайм), поднять новый.

Возможно, https://www.opennet.ru/opennews/art.shtml?num=42315

Ответить | Правка | К родителю #42 | Наверх | Cообщить модератору

60. "Опрос для пользователей OpenVZ"  +1 +/
Сообщение от йemail (?), 27-Май-15, 20:34 
>> расскажете мне, как обновить контейнер, слушающий на 80 порту, без даунтайма?
>> docker-way: завершить старый, подождать (даунтайм), поднять новый.
> Возможно, https://www.opennet.ru/opennews/art.shtml?num=42315

и давно criu поддерживает live migration? это чисто save-restore. я выше об этом писал.

Ответить | Правка | Наверх | Cообщить модератору

61. "Опрос для пользователей OpenVZ"  +1 +/
Сообщение от йemail (?), 27-Май-15, 20:36 
пруф: http://criu.org/Usage_scenarios: With CRIU it's possible to periodically duplicate process on another box.

ничего про live-миграцию. это не оно.

Ответить | Правка | Наверх | Cообщить модератору

62. "Опрос для пользователей OpenVZ"  +1 +/
Сообщение от Andrey Mitrofanov (?), 27-Май-15, 20:48 
>> расскажете мне, как обновить контейнер, слушающий на 80 порту, без даунтайма?
>> docker-way: завершить старый, подождать (даунтайм), поднять новый.
> Возможно, https://www.opennet.ru/opennews/art.shtml?num=42315

Там doom секунд на 5 на видео замирает. Да, tcp-соединение(vnc) не успевает таймаут словить. Но, где кончается то замирание и начинается даунтайм[!=0], я вас.

Ответить | Правка | К родителю #58 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру