Igor
Привет передам :)
Igor
🎁 Друзья, уже совсем скоро состоится важное событие весны - 5 и 6 июня в Сколково пройдёт РИТ++ (см. www.ritfest.ru). Если в цифрах, РИТ - это 160 сильнейших докладчиков, 2000+ участников, 8 тематических конференций, 40 митапов от экспертов, 20 стендов с розыгрышами и призами и т.д. Совместно с организаторами мы проводим розыгрыш билетов среди участников русскоговорящих профессиональных сообществ в Telegram:
1. https://t.me/react_js
2. https://t.me/js_ru
3. https://t.me/angular_ru
4. https://t.me/nodejs_ru
5. https://t.me/android_ru
6. https://t.me/ios_ru
7. https://t.me/devops_ru
8. https://t.me/kubernetes_ru
9. https://t.me/docker_ru
10. https://t.me/agile_ru
А также других групп, представленных в этом списке: https://t.me/all_ru
🎉 Всего будет разыграно: 4 билета среди участников (по одному на тематику - Мобильная разработка, DevOps, JavaScript, Agile) и 4 билета для тех, кто готов вести прямую трансляцию конференции в группе Telegram. Каждый может участвовать в двух номинациях. :)
🎥 Что значит "прямая трансляция"? Организаторы готовы предложить со своей стороны:
1. Пригласить на конференцию (бесплатно, разумеется).
2. Выделить рабочую зону (тихие комнаты для подкастов, интервью, зарядки, оформить зону, перекусить и так далее).
3. Предоставить доступ к докладчикам (контакты, возможность связаться для интервью / чего угодно).
4. Предоставить доступ к спонсорам (контакты, интервью, услуги) - они тоже в вас заинтересованы.
5. Отдать пару потоков видео с конференции бесплатно для трансляции в реальном времени.
6. Скидочный код для подписчиков канала или подкаста.
7. Предложить PR, который может сделать конференция: логотип в информационных партнёрах, рекламную вкладку в брошюру участников.
Что ожидается от вас в этом случае:
1. Продвижение конференции до события.
2. Интересный репортаж с места события - желательно в реальном времени, комментарии, цитаты, фотографии, прямые включения, интервью (можно постфактум).
👉 Выигранный билет нельзя обменять/продать или передать. В случае, если вы по какой-то причине не сможете воспользоваться билетом, сообщите организаторам - https://t.me/DenisIzmaylov
📮 Победитель будет выбран случайным образом. Ваши имя и фамилия будут опубликованы, в случае победы, все остальные ответы - конфиденциальны. Приём заявок завершится в воскресенье, 28 мая, в 23:59.
🚀 Для участия в розыгрыше необходимо заполнить следующую форму: https://goo.gl/forms/By7hsLbOZCx2NhN13
Интересно, кто-то вёл трансляцию в итоге?
Anonymous
как в azure вертикально отскейлить ноды в kubernetes?
Anonymous
кто-нибудь istio юзает?
G72K
G72K
Когда kube-proxy перешли на iptables , говорят много быстрее страло, можно найти посты тех времен
G72K
Точно так же, когда flanneld перестал по пакетику пересылать, а перешел на vxlan
G72K
Впрочем современные решения они не про скорость, если ее хватает с запасом, то можно выторговать за нее что-нибудь еще, например графики красивые :)
Anonymous
вот еще проблемка: предположим, у меня есть база монги в кластере
монга устроена таким образом что сжирает всю доступную ей память (да, можно сказать "какого хрена ты ее в кластере запускаешь" - но мне норм, да и монга тут просто как пример)
в общем, наступает такой момент когда приложение доходит до максимального жесткого лимита и... контейнер убивается
а можно как-то настроить поведение чтобы при достижении лимита не убивался контейнер, а просто дальше нельзя было пройти?
Zon
А кто-то https://www.distelli.com смотрел? Я потыкался, мне понравилось, но возможно есть подводные камни
G72K
Anonymous
тут как бы проблема с тем что у меня GKE, и хотелось бы разруливать через кубернетес.. иначе все труды трутся после обновления нод, изменений и прочего :)
Zon
Anonymous
я про ноды в плане машин на которых кубернетес запущен
echo 0 > /proc/sys/vm/overcommit_memory
не знаю подойдет ли решение так как GKE может ноды эти грохнуть и новые создать а я не в курсе буду
но пока писал подумал что наверное сойдет :)
Anonymous
https://github.com/kubernetes/community/blob/master/contributors/design-proposals/resource-qos.md#oom-score-configuration-at-the-nodes
там написано что этот пропозал уже имплементирован, не в курсе вот это соблюдается?
If limits and optionally requests (not equal to 0) are set for all resources across all containers and they are equal, then the pod is classified as Guaranteed.
If requests and optionally limits are set (not equal to 0) for one or more resources across one or more containers, and they are not equal, then the pod is classified as Burstable. When limits are not specified, they default to the node capacity.
Guaranteed pods are considered top-priority and are guaranteed to not be killed until they exceed their limits, or if the system is under memory pressure and there are no lower priority containers that can be evicted.
G72K
G72K
да, оно реализовано, не знаю работает ли на практике :)
G72K
но для вас результат один - под умирает, просто чуть более гуманно
Anonymous
ну я могу вероятно выделить что-то более важное что с бОльшим шансом доживет до OOM и возможно его переживет :)
Zon
Anonymous
конрктно про монгу так и сделал, спасибо
Zon
Вообще приложение, которое безлимитно память ест это как-то стрёмно
Logan
Andrew
Кто знает, какими средствами можно сделать так, чтобы группа подов располагалась в одной availability зоне
Andrew
ну и чтобы они все дружно переезжали в другую, в случае отказа первой
Andrew
в частности на AWS
Zon
nodeSelector:
failure-domain.beta.kubernetes.io/zone: europe-west1-d
Zon
подозреваю, что для авс примерно так же. можно через дескрайб ноды посмотреть точные написания
G72K
Zon
если зона упала - тогда видимо да. а сразу по нескольким зонам в рамках региона не раскидать поды?
Andrew
кластер на 1 регион, задача, как раз, уменьшить трафик между зонами
Andrew
в целях удешевления
Andrew
podAffinity, кажется подойдет, спасибо
Zon
Put the pod in zone Z: Tricked you! It is not possible express this using the API described here. For this you should use node affinity.
Zon
https://github.com/kubernetes/community/blob/master/contributors/design-proposals/podaffinity.md очень интересно
Zon
но в нодаффинтити тоже можно указать preffered и required, так что можно обойтись без отдельного вочдога
Anonymous
а еще там есть антиаффинити... я везде на подах прописал но протестить как пока не знаю, надеюсь работает :)
Zon
As with node affinity, there are currently two types of pod affinity and anti-affinity, called requiredDuringSchedulingIgnoredDuringExecution and preferredDuringSchedulingIgnoredDuringExecution which denote “hard” vs. “soft” requirements.
Zon
я думаю, что для данной задачи нужно прописывать таргетзону в нодаффинити и чтоб сервисы работали вместе в подаффинити, но возможно я перемудрил
Andrew
ну конкретно для моей задачи зона не важна, главное чтобы апп состоящий из нескольких микросервисов располагался в одной зоне
Andrew
достаточно inter-pod topological affinity
Andrew
PodAffinity {
RequiredDuringScheduling: {{LabelSelector: P1, TopologyKey: "node"}},
}
Can only schedule P onto nodes that are running pods that satisfy P1. (Assumes all nodes have a label with key node and value specifying their node name.)
G72K
Dmitry
https://github.com/gravitational/workshop/blob/master/k8sprod.md
Dmitry
Интересная дока. Местами очевидная
Vladimir
Ребят, а хранить в Vault конфиги целыми json файлами это кошерно или как?
Logan
Vladimir
да, про hashicorp. а как лучше сделать? мне на выходе всё равно нужно json файлик подсунуть сервису. хранить секреты в vault, как key/value и потом собирать json?
Vladimir
а, вижу. там можно хранить как key/value, а читать как json. попробую так
G72K
Logan
почему?
потому, что vault придуман для другого, как мне кажется.
эх, сдедал бы кто хранение секретов плагином :(
G72K
в kubernetes плагины такие плагины :)
Logan
кубернетес так задуман, вообще-то
Logan
за это мы его и любим
Logan
это не сервис, это клей
Anonymous
а кстати, сори за оффтоп: кронджобы еще не в бете?
Logan
а кирпичики каждый сам выбирает
Igor
кстати, а кто тут как секреты провижинит в кубер? они же до сих пор не запилили нормальную экосистему для этого, даже обновлять нельзя
kay
коллеги, я тут к aws приобщаюсь. и возникла пролема с kubectl port-forward, да даже ssh. соединения рвутся.
ssh:
packet_write_wait: Connection to AWS_IP_KUBE_API port 22: Broken pipe
kubectl port-forward:
E0614 15:25:44.667739 17585 portforward.go:178] lost connection to pod
Кто-нибудь может объяснить какого черта?
G72K
на apiserver через ELB ходите?
G72K
незнаю, что насчет "и так", но когда делаете "и так", посмотрите на idle_timeout на ELB
kay
и напрямую по внешнем IP захожу и через ELB
kay
хм. посмотрел документацию. timeout. The range for the idle timeout is from 1 to 3,600 seconds.. т.е. больше нельзя? они серьезно?
G72K
port forward оно же для временных туннельчиков
kay
port-forward - частный случай. а как народ с websockets работет? тоже ограничение идет?
G72K
вебсокетс умеют восстанавливать соединение
G72K
иначе грош им цена
kay
ну это тоже частный случай. в любом случае, спасибо.
kay
ок, с elb разобрался. а почему при внешнем IP такое?
kay
когда я напрямую на внешний IP коннекчусь
G72K
посмотрите все аргументы к apiserver, может будет что
kay
дело не в apiserver, а в ssh
kay
вот оставил я соединение, а оно рвется