Etki
Ну чисто технически это кейвелю сторедж с кучей моделей данных и хранит он их в озу, с возможностью скидывается на диск
практически это инструмент, который сто раз ловили на разных моделях проеба данных
Sergey
Потому из-за мемори хранения его как кеш и юзают
Etki
Архитектура всеми нами любимого стековерфло, у них редис как раз как кэш используется.
Можно просто посмотреть на дизайн SO, чтобы понять, насколько это действительно продуманный продукт. Не то что я его не люблю, просто все эти аргументы к авторитету не стоят ничего.
Sergey
Да все что ин мэмори это можно сказать про кеш
Kirill
Ну про надежность это когда имеется в виду что кэш 1 упал и мы живем, с другим, а не то что у нас система от него очень зависима.
Kirill
Если приложение класса highload и кэш приоег это большие проблемы) поэтому имеется виду его устойчивость
Etki
класса highload?
Dmitry
Вы всё ещё не договорились насчёт редиса?
да, это я
class highload: i = habraeffect def f(self): return 'pizdec'
bebebe
коллеги, надеюсь релевантный вопрос сообществу особенно интересно мнение людей у которых k8s крутится в CI/CD, или те у кого часто меняются окуражения. вы как-нибудь дебаг окружения автомазириуете? или каждый раз в ручную консоли октрываете, ssh, запоминая ip адреса, запуская tmux/screen и открывая нужные файлы-логи на удаленных нодах? У кого-нибудь автоматизирован такой процесс? или никому не нужно?
Dmitry
Кстати, у кого живёт кластер с сентинелами без персистент - попробуйте пошатать ноды, чтобы оно показалось активно
Roman
Шатал - работает. Но пару раз сходило с ума
Maksim
А как его надо автоматизировать? Дебаг он на то и дебаг....При деплое логи вручную, как и окружение. Потом прометеус ElK
Dmytro
http://www.tedinski.com/2018/04/03/why-containers.html немного оффтоп но больно уж статья хорошая - не удержался
Alexander
Ребята, есть кластер и пару нод, например подниму я postgres, какое вы рекомендуюте хранилице организовать для баз? Cerh стрёмно как-то или по старинке iSCSI?
Sergey
когда стабилизируют local я бы для постгри прям девайс в контейнер прокидывал
Sergey
а так я не любитель реалиционок в кубере
Sergey
еще вариант hostPath
Mikhail [azalio]
когда стабилизируют local я бы для постгри прям девайс в контейнер прокидывал
А чем локал лучше hostpath? Тем что диск можно прокинуть?
Sergey
А чем локал лучше hostpath? Тем что диск можно прокинуть?
ну да, ты монопольно блочное устройство отдаешь под постгрю
Sergey
как по мне - это самый лучший вариант
Mikhail [azalio]
как по мне - это самый лучший вариант
Ну умрет нода и все. Нету устройства. iScsi выглядит как-то более надежно :)
Sergey
все может умереть, тем более, хотя бы стриминг в постгре
Sergey
ну никто же не будет юзать в проде базу, хотя бы без минимального ручного фейловера + плюс бэкапы
Mikhail [azalio]
Ага. Цеф то кто-нибудь заюзал интересно на петабайты данных. А то мне тут предстоит поднять сторадж и я в раздумьях.
Sergey
на 0.8 версии
Mikhail [azalio]
И как? Что за конфигурация по железу?
Sergey
если просто - ужас
Sergey
по железу - были серваки деловские, двух головые, по 64 гига памяти, на каждом дисков штук 30 сасовских
Mikhail [azalio]
А сеть?
Sergey
плавно размазаные на все реки в дц
Sergey
сеть 10Г
Sergey
короче проблема в том, что бы не допускать сильно жирных точек отказа, которыми являлись серваки с 30 терабайтными дисками
Sergey
ну на активном ребалансе осд наедались озу и к ним приходил оом
Mikhail [azalio]
Ага. Серверов побольше дисков поменьше.
Sergey
это помножалось на то, что не все диски были одинаковой свежести и многие начинали сбоить под нагрузкой
Sergey
ну и не пологаться на дефолтный круш мап
Sergey
все же придется рцчками разбивать диски на реки
Sergey
ну топологию строить
Mikhail [azalio]
Угу. Спасибо!
Sergey
да не за что, но если упароться и с умом подойти к вопросу и не пытаться сыкономить или впихнуть его в свои реалии - то все даже норм
Sergey
я пишу как мне удобно, если это дискомфорт то я легко покину чат
Й
🙈
G72K
Ребята, есть кластер и пару нод, например подниму я postgres, какое вы рекомендуюте хранилице организовать для баз? Cerh стрёмно как-то или по старинке iSCSI?
осторожно с iSCSI, оно с multipath не очень дружно живет, но в целом если есть железка, то iSCSI/FC лучше чем любая хрень на коленке
G72K
А чем локал лучше hostpath? Тем что диск можно прокинуть?
для приложение и то и то выглядят одинакого, разница в том, что внутри куба происходит до запуска приложения. в случае Local там есть хак для планировщика, так что не надо пистаь nodeAffinity, ну и локальные вольюмы все-таки создаются под под, т.е. workflow становится ближе к другим хранилищам, можно делать штуки вроде создавать LVМ том,учитывать потребленные гигабайты
G72K
т.е. в случае hostPath, место под данные готовится на этапе конфигурирования ноды и нет учета кто, что уже использует. в случае Local конфигурирование идет перед созданием пода, динамически, ресурсы потом могут вернуться в пул для переиспользования
Vadim
localprovisioner еще и значительно безопасней
G72K
yaml ноды https://pastebin.com/PAkEnyNb yaml пода https://pastebin.com/hb9wqr4j Возможно я не вижу чего-то очевидного :)
все разрешилось :) Из любопытства, зачем используете свой конфиг для scheduler?
Aleksandr
все разрешилось :) Из любопытства, зачем используете свой конфиг для scheduler?
Это тянется еще с 1.3 версии. Хотел разобраться как куб работает, чтобы не было магии и черной коробки. Подправил шаблон шедуллера в puppet'е и взлетело. Спасибо Максим =) p.s. https://github.com/kubernetes/kubernetes/blob/master/examples/scheduler-policy-config.json в примере про taint'ы ничего нет, в хелпе шедуллера тоже. И на сайте k8s голяк. Узнать про существование PodToleratesNodeTaints только из исходников можно или из документации на сайте openshift'а
Aleksandr
Прибить кроны к одной ноде тоже кстати не просто так хочу. На тех нодах где шедулятся кроны начинаются потери пакетов, причем на интерфейсах счетчики не увеличиваются, а mtr'ом потери видно
Dmytro
а то у меня приложение где десятки если не сотни кронов - может мне тоже такое грозит
A
а то у меня приложение где десятки если не сотни кронов - может мне тоже такое грозит
Если у вас нет веской причины использовать имеено кронджобы куба, можно использовать прибитые к ноде поды с supercronic, например.
Aleksandr
cbr0 - 10.40.161.83 в конфиге докера прописано -b=cbr0 --fixed-cidr=10.40.164.0/24 - подам выдаются ИПы только из этой подсети. Когда кронджобы запускаются на ноде, то возникает ситуация когда ip бриджа оказывается заюзаным на ~1-2 секунды в контейнере докера, вот пример дампа https://imgur.com/a/Iltbj
Aleksandr
и вывод sar -n DEV 1 https://imgur.com/a/TdxGm Как видно в определенный момент времени сеть офигевает
Dmytro
кронджобы куба - для моего кейса (куча мелких до 1гб по памяти и single threaded пхп скриптов) думаю не лучший вариант
Dmytro
сеть офигевает потому что интерфейс уже заюзан другим контейнером (т.е. сильно много контейнеров спавнится кроном)?
Aleksandr
спавнится от 7-ми до 12-ти кронов, каждый крон отрабатывает за 1-3 секунды, в них нет ничего тяжелого.
Aleksandr
сеть офигевает потому что айпишка с бриджа каким-то магическим образом оказывается в контейнере на 1-2 секунды
Dmytro
вот для таких кейсов я считаю что лучше запихнуть кроны в контейнер с кронтабом вместо того чтобы спавнить контейнеры
Dmytro
это явно лучше чем прибивать их на одну ноду
Dmitrii
Может докер старый? Сейчас смотрю на кластер через mtr, там где-то 30 кронджобов, часть их которых */3, */5 - потери по нулям вообще.
Aleksandr
17.12.1-ce
Aleksandr
на 18.03 тоже проверял
Dmitrii
У меня аналогично, тоже 17.12.1
Aleksandr
у меня calico / flannel / weave не юзаются еще. обычный l2 segment
Aleksandr
вот для таких кейсов я считаю что лучше запихнуть кроны в контейнер с кронтабом вместо того чтобы спавнить контейнеры
ну изначально хотелось определить это из-за крон джобов или нет. поэтому и решил прибить к одной ноде. нужно еще issue куда-то написать, толи в куб, толи в moby )
Dmytro
да тут имхо концептуальная больше проблема. Контейрены которые живут меньше минуты и стартуют кажду минут или там 3 минуты - мне кажется это неправильно
Dmytro
зачем создавать виртуальные интерфейсы и прочее чтобы 3 секунды отработал скрипт и сделал 5 запросов в базу
Aleksandr
угу. ну еще есть кроны которые не должны запускатся больше чем 1
Aleksandr
если кроны запихнуть в контейнер, то возможна ситуация когда два крона таки запустятся одновременно