Anton
Это тоже нужно потестить, у меня все на стадии "тестим"
ставьте multus-cni, основной delegation на calico, остальные куда хотите. В том числе на macvlan.
𝚔𝚟𝚊𝚙𝚜
Я тока начинающий гуру кубика, не совсем понял как подключить эту штуку, по ману apply сделал, но в под не пробрасывается ип, срабатыаает calico она как то дефолтом что ли стоит, не пойму как поменять
сорри отвлекся тут немного, в общем да, что бы завелось нужно применить DaemonSet, после этого можно в ENV к контейнеру указать переменную pipework cmd и некое значение для нее, например: - name: pipework_cmd_int value: "eth0 -i eth1 @CONTAINER_NAME@ 192.168.1.101/24@192.168.1.1" внутри пода создастся интерфейс с именем eth1 ip 192.168.1.101/24 и default route изменится на 192.168.1.1
𝚔𝚟𝚊𝚙𝚜
указание опции -i eth1 крайне желательно, потому-что без нее все пропишется на eth0 (который внутри контейнера) и контейнер не сможет резолвить cluster dns из куба
𝚔𝚟𝚊𝚙𝚜
ого как сложно а оно того стоит?
в большинстве случаев я бы рекомендовал избегать использование pipework
V
а что за случаи вооще использование этой штуки?
𝚔𝚟𝚊𝚙𝚜
можно использовать hostNet=true или более подходящие cni
𝚔𝚟𝚊𝚙𝚜
а что за случаи вооще использование этой штуки?
С помощью pipework можно прокидывать физические интерфейсы в контейнер, можно добавлять в birdge, на данный момент я использую его для tftp-серверов, т.к. с externalIP за натом не работает
𝚔𝚟𝚊𝚙𝚜
в смысле как?
Alexandr
Ну как я понял kubectl apply его записывает и запускает в kube-system, а как сказать что это дефолтовый нетворкподам?
𝚔𝚟𝚊𝚙𝚜
https://github.com/dreamcat4/docker-images/blob/master/pipework/3.%20Examples.md - вот, последний пример показывает как
Alexandr
Это я все сделал. Но под упорно юзает calico
𝚔𝚟𝚊𝚙𝚜
дело в том, что это не нетворк как таковой, куб про него ничего не знает
𝚔𝚟𝚊𝚙𝚜
pipework просто тупо прокидывает нужный интерфейс в под или добавляет его в бридж
Alexandr
Хмм... Что то не работает значт
Alexandr
Ладно понял, буду капать
Alexandr
Т.е. он в паре с calico даже будет работать?
𝚔𝚟𝚊𝚙𝚜
да, должен если указывать -i
Alexandr
Спасибо!
Alexandr
Директор, миллиардер, филантроп ага
Andor
Это для лайв миграций
Лайв миграции в кубере или мне показалось?
Etki
Взлетаем
Alexandr
Лайв миграции в кубере или мне показалось?
Ну не совсем лайв, просто для миграции
Nikolay
Там нет миграций
Max
Там нет миграций
А что подразумевается под словом "миграция"?
Nikolay
Когда мы можем что-то перенести, а не убить и оно перезапустится.
Rainbow
Когда мы можем что-то перенести, а не убить и оно перезапустится.
Тысяча и один способ отстрелить себе голову 😬
Andor
Тысяча и один способ отстрелить себе голову 😬
не ну технически есть технологии легко и непринуждённо перенести процесс(ы) и/или виртуалки между линуксовыми хостами
Andor
кубер их не умеет и уметь вроде не планирует
Rainbow
не ну технически есть технологии легко и непринуждённо перенести процесс(ы) и/или виртуалки между линуксовыми хостами
я понимаю как виртуалку перенести. Потому что там целиково весь стейт сохранить и перенести. И то думаю куча нюансов со сменой ип и тп. А рандомное приложение...
Etki
hey dawg we heard you liek state so we put your state in kubernetes because fuck you dawg
Rainbow
погугли про criu
Фантом ОС от российских разработчиков обещали прозрачный перенос и снапшоты на уровне ос. Чет не слышно про них ничего 😬
Dmytro
так на то он и фантом же - он ходит неслышно
Roman
фантом совместимость
Roman
более того, в libvirt виртуалки мигрируются нормально
George
Стейт все дела, но есть нюанс - главное, чтобы виртуалка не слишком активно работала, т.к. если в процессе переноса дифф будет нарастать быстрее, чем передаваться, то миграция сдохнет
Roman
более того, в libvirt виртуалки мигрируются нормально
только нужен общий сторадж и одна сеть
Roman
Я описал кейс, когда да, но нет
да, прочитал, есть такое
George
погугли про criu
Мертворожденное дитя виртуоззо. Не продакшн от слова совсем
Andor
ну раз ты так говоришь, значит так и есть
Roman
хотя подожди, при миграции в libvirt, одна виртуалка паузится, вторая поднимается - переносится стейт, распаузивается вторая и шедулится первая. дифф то откуда возьмется? не так?
Andor
примерно так, да
George
ну раз ты так говоришь, значит так и есть
Если есть альтернативное мнение - давайте обсуждать. Может, у Вас другой опыт, но судя по ссылке на Гугл - на практике не применяли
George
vmware ещё есть, нутаникс есть
George
Паузиться на "долго" нельзя, поэтому сначала - снапшот диска и озу. Далее пишется в дифф. Передается основная часть. И потом уже пауза и передача диффа
Александр
Когда мы можем что-то перенести, а не убить и оно перезапустится.
Кубер рассчитан на большое количество нод, поэтому по задумке, убивание одной ноды не должно приводить к простою, просто изменения в балансере
George
"судя по ссылке на Гугл"? Оок. Экспертиза на уровне
У нас у большинства она на таком уровне (включая меня и Co)
Александр
Подключаешь новую ноду, потом делаешь drain старой, потом удаляешь
Andor
вы можете делать живую миграцию куберовых нод, запущеных в lxc-контейнерах
Andor
в проде не юзал, но дома criu их легко и непринуждённо перевозит между хостов
George
вы можете делать живую миграцию куберовых нод, запущеных в lxc-контейнерах
Кубер ноды в lxc, очень интересная концепция. Надо подумать
George
Запишу на будущее.
Roman
месье знает толк
Andor
добро пожаловать в линукс новее 4.10 (вроде), когда появилась возможность запускать вложенные контейнеры
Andor
у меня была побезумнее идея: запускать процесс кубелета не на том же хосте, где сами контейнеры кубера
Roman
какая годнота, записал посмотреть
Andor
но до реализации я не добрался
Dmytro
вы можете делать живую миграцию куберовых нод, запущеных в lxc-контейнерах
если в амазоне то можно попросить амазон сделать живую миграцию ноды 🙂
Dmytro
у меня была побезумнее идея: запускать процесс кубелета не на том же хосте, где сами контейнеры кубера
вроде тогда же обсуждали же что оно не полетит - кублету нужно маунты делать для контейнеров и т.п.
Andor
ну технически это он может по ssh делать
Andor
если подхачить
Andor
ну у меня была идея запускать минимум процессов на таргет нодах, потому что это может быть например арм-железка в которой всего 128мб памяти
Dmytro
хорошо, и с помощью чего по ссш будет кублет маунтить вольюмы и т.п.? оно же тоже будет память жрать
Andor
в смысле "с помощью чего"?
Andor
зайдёт на ноду по ssh и сделает mount
Andor
или ты про сетевые волюмы? я планировал без них обходиться :)
Dmytro
которая тоже скушает сколько-то мегабайт, потом ещё что-то запустить паралельно и т.д.
Andor
ну без ssh так и так не обойтись :)
Andor
очевидно что какой-то минимум всё равно будет
Dmytro
в итоге память тоже будет нужна но её потребление будет вообще непредсказуемо