Igor
ага, но конфигурации меньше и другие фичи бесплатно
G72K
Да, я тоже склоняюсь к мысли с тлс
Я б навесил WireGuard на все сетевые интерфейсы на ноде и конфигурил куб поверх него
Alexey
G72K
Нет, но если б сказали шифровать всю сеть, делал бы так
Igor
вы предлагаете гонять весь трафик по vpn?
G72K
да
Igor
это какой-то bare metal подход)
G72K
зато один раз сделал и забыл
Alexey
Ну нормально, вив подобное пытается сделать
Igor
у вива на бумаге должно быть быстрее vpn, особенно udp
Alexey
Ipsec + vxlan
Igor
хотяя, ядерный vpn - это заявка на скорость)
Alexey
А wireduard - надо смотреть
Alexey
Я не помню так
Roman
формат <причина>:<Effect>, причина может быть любая, например "debug-in-progress-see-ticket-6999:NoSchedule"
Так меня причины и интересуют. Как сделать ее кастомной ибо все что я вижу в интернетах это причины по-умолчанию
G72K
Так меня причины и интересуют. Как сделать ее кастомной ибо все что я вижу в интернетах это причины по-умолчанию
пишите что хотите, обычно туда ставят источник/причину taint, т.е. в вашем случае скажем "FSError:NoExecute"
G72K
не понял вопроса
G72K
ваш мониторинг навешивает taint на ноду с нужным эффектом
Roman
Понял, получается мне надо заставить прометеус вешать тэинт
G72K
не, такого он не может
Roman
не, такого он не может
Ну а как тогда? Я же ищу ответ на вопрос «как заставить куб понимать кастомные ключи?»
G72K
вам надо будет самому кусок кода который по значениям из мониторинга развешивает тейнты
Roman
Спасибо, теперь все ясно
Roman
Я до последнего надеялся, что самому не придётся балалаек писать никаких :)
Alexander 🐕
Vitalii
Всем привет. Покажите плиз где смотреть версии зависимостей для релиза кубера? Например хочу знать какую версию etcd и flannel поддерживает kub 1.10 или любой другой релиз.
G72K
Всем привет. Покажите плиз где смотреть версии зависимостей для релиза кубера? Например хочу знать какую версию etcd и flannel поддерживает kub 1.10 или любой другой релиз.
Ставьте последний etcd 3.2.X для 1.10 не прогадаете. Версию клиента для etcd можно посмотреть в коде, но клиент совместим со всеми 3.х.х etcd
G72K
Я до последнего надеялся, что самому не придётся балалаек писать никаких :)
Alertmanager может вебхук дергать, по которому вы запустите kubectl taint. Много писать не придется :)
G72K
https://github.com/imgix/prometheus-am-executor
G72K
Но такие вещи я бы локально проверял и запускал kubectl taint с ноды же . node-problem-detector скажем уже проверяет что докер жив
Roman
Неплохо, даже проще чем думал. Спасибо!
sbog
Коллеги, а подскажите, что делать, если под крашится, а мне нужно зайти в него и починить. Ситуация такая - есть redis с pvc, в нем поломался aof. Надо зайти, сказать —fix и ситуация улучшится (но это неточно). Вопрос - можно ли это сделать, временно запустив под с command не по умолчанию, а потом перезапустить заново? Или мне надо идти, ставить где-то новый редис, тащить туда aof, фиксить, тащить его назад?
sbog
чинить собираетесь модифицируя файлы на PVC? Можете стартануть c /bin/sleep infinity и зайти по kubectl exec туда.
Да, надо по факту просто файл на pvc починить. > Можете стартануть c /bin/sleep infinity вот вопрос в том, как это сделать, собственно. Там не просто под, там полноценный деплоймент, меня это немного смущает.
G72K
Ну деплоймент, поправьте его, поправьте файлы, поправьте деплоймент обратно. Но это если срочно. По уму фикс должен быть в entry point контейнера, чтобы рукам не лазить
G72K
На будущее можете завести еще один контейнер в том же поде. В этом контейнере положите все нужные утилиты, подмонтируйте нужные PVC и запускайте с /bin/sleep infinity
G72K
Есть еще альфа фича debug container чтобы стартовать их не прописывая заранее, но я не пользовался,
sbog
👍
Gleb
можно через sysdig падение отдебажить
sbog
@rossmohax, спасибо большое. Руками поправил деплой, пофиксил, поправил назад - все взлетело.
sbog
@ga_rus у меня сам факт, почему сломано, уже был отдебажен
someone
всем привет. кто нибудь сталкивался с проблемами кубернетес в плане его garbage collector. в выходные на сервере он увидел, что объем свободного места меньше 85% процентов и удалил один большой контейнер. я его начал заново скачивать и как только скачал то проверил поды и кубер удалил вообще все. и системные контейнеры и даже имэджи. можно ли как то отключить этот garbage collecotr ?
someone
удалились и образы и кэш и имэджи
Anton
k8s следит за местом и может удалять имейджи устаревшие, если есть такая возможность
Anton
это все настраивается, но реально нужно запас свободного места иметь
someone
странно что он удалил даже из kube-system все образы с днс, апи и прочее. ща нет ни 1 контейнера
Anton
и gc нельзя отключить, он за здоровье ноды отвечает
Anton
ну пробил уровень, noschedule ноде выставил и эвакуировал поды оттуда
someone
а что за опция с првоеркой этого свободного места? просто на диске есть около 1тб но это меньше чем 15% от всего имеющеегося объема дисков
Anton
там можно в абсолютных единицах указать, если я помню
Тихон
Господа у меня есть проблема и я надеюсь, что кто-то из вас поможет мне в ее решении или хотя бы пнет в нужном направлении - вы же в этом специалисты. Итак у нас есть приложение, которое обрабатывает HTTP траффик. Запросы и ответы маленькие (порядка килобайта), время запроса маленькое (порядка 50 мс), число запросов в секунду большое. Сервер асинхронный - java + netty - когда запущен как отдельное приложение, то держит QPS порядка 30к если время запроса 50мс и порядка 60-65к если время ответов для половины запросов 50мс, а на вторую половину отвечает сразу. Число соединений можно прикинуть - порядка 640. Клиент - java асинхронное приложение использующее async-http-client - внутри использует netty. Казалось бы живи и радуйся, но нет. Когда я запустил сервер в docker контейнере, то максимально я его могу нагрузить в районе 18к. Запускаю сервер через кубернетис и даже настроил его на использование сетевых интерфейсов хоста - то есть к сети сервер "как бы" напрямую рубится без всяких бриджей и прочего гомна. И вот при 18к QPS сеть периодически замирает секунд на 7. Вся сеть хоста - это заметно на ssh соединениях, везде. CPU load сервера где-то в районе нуля. Как думаете что бы это такое могло быть и как можно понять что именно. Может буфера какие переполняются. Может какую статистику с ядра можно собрать?
Gleb
Товарищи, я хотел бы порекламить немного митап по куберу в СПБ. 12 апреля с 19 до 22 в офисе компании Селектел(м. Московские ворота, ул. Цветочная 21) будет проходить kubernetes spb meetup. Темы * Современная архитектура и инфраструктура на примере Last.Backend(докладчик Александр Калошин, Last.Backend) * Kubernetes на bare metal и CNI на примере weave (докладчик Максим Филатов, EvilMartians) Запасной доклад * Особенности разработки софта в k8s(Афонинский Андрей, FullDive) Timepad https://selectel.timepad.ru/event/695549/ Meetup https://www.meetup.com/St-Petersburg-Kubernetes-Meetup/events/249348270/ Трансляция будет как начнется мероприятие. Запись так же будет.
Mikhail [azalio]
Господа у меня есть проблема и я надеюсь, что кто-то из вас поможет мне в ее решении или хотя бы пнет в нужном направлении - вы же в этом специалисты. Итак у нас есть приложение, которое обрабатывает HTTP траффик. Запросы и ответы маленькие (порядка килобайта), время запроса маленькое (порядка 50 мс), число запросов в секунду большое. Сервер асинхронный - java + netty - когда запущен как отдельное приложение, то держит QPS порядка 30к если время запроса 50мс и порядка 60-65к если время ответов для половины запросов 50мс, а на вторую половину отвечает сразу. Число соединений можно прикинуть - порядка 640. Клиент - java асинхронное приложение использующее async-http-client - внутри использует netty. Казалось бы живи и радуйся, но нет. Когда я запустил сервер в docker контейнере, то максимально я его могу нагрузить в районе 18к. Запускаю сервер через кубернетис и даже настроил его на использование сетевых интерфейсов хоста - то есть к сети сервер "как бы" напрямую рубится без всяких бриджей и прочего гомна. И вот при 18к QPS сеть периодически замирает секунд на 7. Вся сеть хоста - это заметно на ssh соединениях, везде. CPU load сервера где-то в районе нуля. Как думаете что бы это такое могло быть и как можно понять что именно. Может буфера какие переполняются. Может какую статистику с ядра можно собрать?
в dmesg нет ничего?
Roman
Господа у меня есть проблема и я надеюсь, что кто-то из вас поможет мне в ее решении или хотя бы пнет в нужном направлении - вы же в этом специалисты. Итак у нас есть приложение, которое обрабатывает HTTP траффик. Запросы и ответы маленькие (порядка килобайта), время запроса маленькое (порядка 50 мс), число запросов в секунду большое. Сервер асинхронный - java + netty - когда запущен как отдельное приложение, то держит QPS порядка 30к если время запроса 50мс и порядка 60-65к если время ответов для половины запросов 50мс, а на вторую половину отвечает сразу. Число соединений можно прикинуть - порядка 640. Клиент - java асинхронное приложение использующее async-http-client - внутри использует netty. Казалось бы живи и радуйся, но нет. Когда я запустил сервер в docker контейнере, то максимально я его могу нагрузить в районе 18к. Запускаю сервер через кубернетис и даже настроил его на использование сетевых интерфейсов хоста - то есть к сети сервер "как бы" напрямую рубится без всяких бриджей и прочего гомна. И вот при 18к QPS сеть периодически замирает секунд на 7. Вся сеть хоста - это заметно на ssh соединениях, везде. CPU load сервера где-то в районе нуля. Как думаете что бы это такое могло быть и как можно понять что именно. Может буфера какие переполняются. Может какую статистику с ядра можно собрать?
В голову сразу приходит net.core.somaxconn
Тихон
В голову сразу приходит net.core.somaxconn
Сильно смущает, что на том же хосте все хорошо работает когда запускаемся без всяких контейнеров
Navern
неочевидная
G72K
так сравните значения sysctl _в_ контейнере и _вне_ контейнера
Если запускают как net=host то все сетевые sysctl будут одинаковые
G72K
Господа у меня есть проблема и я надеюсь, что кто-то из вас поможет мне в ее решении или хотя бы пнет в нужном направлении - вы же в этом специалисты. Итак у нас есть приложение, которое обрабатывает HTTP траффик. Запросы и ответы маленькие (порядка килобайта), время запроса маленькое (порядка 50 мс), число запросов в секунду большое. Сервер асинхронный - java + netty - когда запущен как отдельное приложение, то держит QPS порядка 30к если время запроса 50мс и порядка 60-65к если время ответов для половины запросов 50мс, а на вторую половину отвечает сразу. Число соединений можно прикинуть - порядка 640. Клиент - java асинхронное приложение использующее async-http-client - внутри использует netty. Казалось бы живи и радуйся, но нет. Когда я запустил сервер в docker контейнере, то максимально я его могу нагрузить в районе 18к. Запускаю сервер через кубернетис и даже настроил его на использование сетевых интерфейсов хоста - то есть к сети сервер "как бы" напрямую рубится без всяких бриджей и прочего гомна. И вот при 18к QPS сеть периодически замирает секунд на 7. Вся сеть хоста - это заметно на ssh соединениях, везде. CPU load сервера где-то в районе нуля. Как думаете что бы это такое могло быть и как можно понять что именно. Может буфера какие переполняются. Может какую статистику с ядра можно собрать?
Приложение ходит куда-нибудь еще? java, jar и опции на хосте и в докере 100% одинаковые ?
Etki
Господа у меня есть проблема и я надеюсь, что кто-то из вас поможет мне в ее решении или хотя бы пнет в нужном направлении - вы же в этом специалисты. Итак у нас есть приложение, которое обрабатывает HTTP траффик. Запросы и ответы маленькие (порядка килобайта), время запроса маленькое (порядка 50 мс), число запросов в секунду большое. Сервер асинхронный - java + netty - когда запущен как отдельное приложение, то держит QPS порядка 30к если время запроса 50мс и порядка 60-65к если время ответов для половины запросов 50мс, а на вторую половину отвечает сразу. Число соединений можно прикинуть - порядка 640. Клиент - java асинхронное приложение использующее async-http-client - внутри использует netty. Казалось бы живи и радуйся, но нет. Когда я запустил сервер в docker контейнере, то максимально я его могу нагрузить в районе 18к. Запускаю сервер через кубернетис и даже настроил его на использование сетевых интерфейсов хоста - то есть к сети сервер "как бы" напрямую рубится без всяких бриджей и прочего гомна. И вот при 18к QPS сеть периодически замирает секунд на 7. Вся сеть хоста - это заметно на ssh соединениях, везде. CPU load сервера где-то в районе нуля. Как думаете что бы это такое могло быть и как можно понять что именно. Может буфера какие переполняются. Может какую статистику с ядра можно собрать?
https://engineering.linkedin.com/blog/2016/11/application-pauses-when-running-jvm-inside-linux-control-groups оно?
MRY
Всем доброе утро. Возник вопрос. После инициализации первого мастера в кластере мастеров, если посмотреть на некоторые гайды, видно, что нужно сделать копию всех сертификатов /kubernetes/pki/* на другие мастера и там производить init уже с этими данными ? Вопрос в следующем в связи с чем такая необходимость так как по сути kubelet делает самоподписанные сертификаты и на других хостах они не подойдут по причине разных записей SAN, ?
Etki
(в любом случае хотелось бы услышать комментарий по поводу количества выданных приложению ресурсов)
Gleb
жалко что без анонса managed k8s локального...
Не понял фразы. Что значит локального? Что в bare metal не так?
Stas
локального - в рашке
Gleb
Ну дык это, можно запустить локально в рашке на своем железе. Об этом Максим расскажет
MRY
Сертификатов много , вы про какие?
Ну стандартно при kubeadmin init выписывает клиентский сертификат для API,Front Proxy , и etcd сертификаты с peer server
Konstantin
и на ручки
Gleb
я не хочу ничего запускать, я хочу как GKE, но в рашке
Такого, насколько я помню, у нас ничего и нету. На удивление )
MRY
На права не обращайте внимания, это копия. При init были выписаны данные сертификаты, в гайдах рекомендуют делать фулл копию, но я думаю что надо копировать только root и его ключ + root и key для etc
Eugene
для etcd нормально занимать по 10гиг виртуальной памяти на всех нодах, при том, что кластер практически пуст? DB SIZE = 15MB, три ноды.