inqfen
Это где-то в глубине доков описано
Vadim
а если мастеру придется накинуть ядра
Валентин
Ну на 1.10 - надо
George
коллеги
George
есть такая интересная проблема
George
вмварь умеет по запросу скейлить вмки без рестарта
George
ну, ядро должно, конечно, получить сообщение про увеличение цпу и рам.
George
вот в этом случае скорее всего придется химичить
George
Перезапустить kubelet надо будет
при рестарте ноды - очевидно он рестартанет
Валентин
вмварь умеет по запросу скейлить вмки без рестарта
Все умеют, vmware даже не так круто, как kvm (ну точнее openvm-tools вмвари у меня не сообщают ядру о включении добавленных ядер, а в ovirt все само)
Валентин
при рестарте ноды - очевидно он рестартанет
При рестарте понятно, я без рестарта говорил. Если на горячую добавить ресурсов, приложения, запущенные в кубе, их все равно не задействуют. Перезапускаешь kubelet - и тогда новые контейнеры начинают добавленными ресурсами пользоваться
Vadim
Ну на 1.10 - надо
В свежих кубенях починили вроде, допили cAdvisor
Валентин
https://kb.vmware.com/s/article/2040375
Т.е если заранее выставить, что у меня 2 сокета, то типа все равно не сработает?
inqfen
Тоже все норм
inqfen
Блин, сообщения поздно подгрузились
inqfen
Можешь демоны/контейнеры перезапустить скриптом и тогда все норм будет
inqfen
Типа если ресурсы изменились с прошлого состояния - рестартануть kublet
Vladimir
Т.е если заранее выставить, что у меня 2 сокета, то типа все равно не сработает?
Отработает все, но не будет работать vnuma, если ядер больше чем 8, может быть ситуация, что вм легла не в физический нума узел и доступ к оперативе будет к другому нума узлу-дольше чем к локальному
Vladimir
Для линукса добавление/удаление ядер работает, внутри ОС нужна активировать/деактивировать ядра руками
Валентин
Отработает все, но не будет работать vnuma, если ядер больше чем 8, может быть ситуация, что вм легла не в физический нума узел и доступ к оперативе будет к другому нума узлу-дольше чем к локальному
Так вот я и не понял до конца: есть у виртуалки настройка - количество сокетов. Я так понимаю она именно для правильной работы numa и нужна. У меня двухсокетная материнка, я виртуалке ставлю 2 сокета, галку enable hotadd cpu ставлю и, выходит, она вырубает vnuma, т.е указание двух сокетов игнорируется? Зашибись... :(
Vladimir
vnuma работает при числе ядер более 8, сокеты не игнорируются-ОС увидет 2 сокета, просто каждый сокет может оказаться выделенный на разных физ сокетах-разная оператива локальная для сокета, разный кеш процов и тд. Считается в целом что это плохо и может привести к снижению производительности и росту накладных расходов
Vladimir
У других гипервизоров шедулер работает не также? Это вопрос именно галок горячего добавления
Vladimir
Погаси ОС-добавь ресурсы-проьлема решена)
Валентин
У других гипервизоров шедулер работает не также? Это вопрос именно галок горячего добавления
Точно я не подскажу. У меня пока война "если мы не готовы покупать - давайте возьмем изначально бесплатный овирт, хотя бы будет где спросить" А то ж по вмваре уйма всего закрыто от халявщиков :( Вот я за этот аргумент и зацепился сейчас
inqfen
Proxmox заюзайте
Валентин
Proxmox заюзайте
Имхо овирт лучше проксмокса, для наших задач.
Валентин
Proxmox заюзайте
Я бы даже сказал, что в овирте есть все, что нужно, а в проксмоксе ж еще и контейнеры, и че там только не напихали еще... плюс он вроде не совсем бесплатный/открытый?
Puma
Открытый и бесплатный
inqfen
Как овирт, есть халявный, есть с платным саппортом
inqfen
Зато он хорошо с zfs работает, мне прямо понравилось
Puma
Без сапорта можно купить за пять баксов на машину доступ в стейбл РЕПО, но и я тестингом давно не знал проблем с ним, все обновляется ок
inqfen
Сейм шит, сижу на бесплатном, мне норм
Puma
Мне тоже понравилась пока не начал жёстко диски использовать, у зфс перфоманц так себе, и особо ничего там не затюнишь пришлось отказаться от зфс
Валентин
Зато он хорошо с zfs работает, мне прямо понравилось
Может быть, но мне это не нужно все :) Отдельная хранилка есть с iscsi, там всё
Vadim
Вообще кластеры на bare metal ( у нас к сожалению так пока-что ) дикая хрень
А bare metal. Сейчас это все что не у гугла,амазона и т.д.?
inqfen
Lxc из коробки кстати иногда тоже полезно
Dmitry
proxmox умеет с ceph еще работать и вроде больше всякого предлагает для хранилищ, овирт вроде только iscsi и glusterfs
Vadim
Типо на своих виртуалках развернул это bare-metal?
Dmitry
Еще доки у проксмокса хорошие, у овирта их мало или вообще нет.
Puma
Да и не на своих тоже баре метал ))) разницы то нет
inqfen
Кто?)
Proxmox
inqfen
Если хранилище на нодах, то там zfs собираешь и норм
Валентин
Еще доки у проксмокса хорошие, у овирта их мало или вообще нет.
Все что надо есть (после покупки редхатом появились доки)
Dmitry
не знал. Просто в доках не нашел)). В свое время выбрал проксмокс, из-за того что много хотелок не нашел в доках овирта. Возможно ошибся.
Puma
Zfs
Tadeusz
Vadim
https://itnext.io/the-definitive-guide-to-running-ec2-spot-instances-as-kubernetes-worker-nodes-68ef2095e767
Etki
Я (
Artem
Можно как-нибудь собрать HA redis из двух инстансов? Чтоб балансить между ними обычным k8s service
Lucky SB
Нет
George
Нет, не стоит так делать
Artem
Вот был бы в кубенях стендбайпроб, чтоб под не светился в эндпоинтах, но при этом и не перезапускался...
Mikhail
А есть ли какой нибудь способ настроить порядок отключения контейнеров в поде? Пытался сделать с помощью костыля на файловых блокировках - оно работает, кроме случая, когда несрабатывает liveness probe у контейнера, который должен завершатся вторым, а первый ещё нормально работает.
Pavel
ты не должне хотеть этой херни. Херня должна самма контролиовать наличие соседа если херня зависит от отй херни 😊
Mikhail
Сложно. Походу дела надо всё заталкивать в 1 контейнер. Либо забивать на разного рода graceful shutdown'ы.
Mikhail
Если оформлять в виде отдельного сервиса, а не sidecar контейнера - то оно норм, но производительность становится немного хуже.
Pavel
пишелм энтипоинт на баше в первом контейнере exec nc -l -p xxxx /app -ga -ba -aaa Во втором exec app -dd -dddd- aa while $(nc 127.0.0.1 -p XXXX); do sleep 2 ; done Первый контейнер сдохнет и утянет с собой nc Второй сдохнет как только nc не сможет приконектится хотябы раз
Pavel
но это костыль, и так быть не должно
Mikhail
А нет каких нибудь endpoint'ов которые и сигналы норм обрабатывают и могут ещё как то синхронизироваться через сеть/шаренные вольюмы?
Mikhail
Т.е. нельзя делать sidecar контейнеры, от которых основной контейнер зависит?
Pavel
там вроде нет концепци основной второстпенный(е)
George
Вообще если костыли понадобились, то что-то не так
George
Либо софт кривой, либо пытаетесь натянуть куб на то, что в нем жить не должно
Mikhail
Это возможно. Просто получается что разного рода умные прокси, по типу proxysql не стоит оформлять в виде sidecar контейнеров, потому что он раньше может откинутся, чем медленно завершающееся приложение.
Dmitry
Хотя best practics для proxysql как-раз находится рядом с бэком. Вот например на блоге percona об этом пишут
Dmitry
А может метками помечать, чтобы ноды proxysql и бэки на одинаковые ноды отправлялись?
Dmitry
Хотя sidecar как-то удобней был бы.
Mikhail
По идее да они могут на одной ноде находится. Но kube-proxy сбалансирует скорее всего по всем подам, даже по тем которые находятся на других нодах (хотя вероятно ipvs может отправлять трафик приемущественно внутри ноды, но это не точно).
Mikhail
Мой костыль с файловыми блокировками работал бы, если можно было различать из-за чего вызывается preStop - если из-за зафейленной проверки, то один вариант действий. Если под удаляется то другой вариант действий. Да и не понятно почему в k8s не реализовали подобные настройки - вероятно какие то есть случаи когда из-за завершения по порядку могут возникнуть проблемы, но я пока таких случаев не могу придумать.
Vadim
https://kubernetes.io/blog/2016/01/simple-leader-election-with-kubernetes/ же, нет?
Ilya
Добрый вечер. вопрос такой: если я уже деплоил образ с тегом latest, и деплой был неудачным, если я пушу в докерхаб новый образ с тегом latest, он будет качать новый образ или будет брать образ который уже использовался до этого? потому что у меня он чето берет тот который уже был, может просто че не так делаю?