
yopp
10.09.2018
12:33:51
агент k8s

Banschikov
10.09.2018
12:34:36
у k8s нет агентов. есть мастера кластера и etcd.

yopp
10.09.2018
12:35:00
а kubelet это не агент разве?
я за k8s плохо слежу, у меня знания сильно устаревшие

Google

yopp
10.09.2018
12:35:46
легко могу ошибаться

Banschikov
10.09.2018
12:36:13
это компонент k8s, который живет на каждой воркер-ноде. И по заданию шудуллера десантирует поды на ноды

yopp
10.09.2018
12:36:23
вооот

Banschikov
10.09.2018
12:37:33
Так можно сказать про любой фреймворк оркестрации контейнерами. Делаете кластера высокой доступности, что бы не отьехал кластер от малейшего чиха.

yopp
10.09.2018
12:37:36
и теперь у нас есть две версии конфигураций (топология по версии k8s и топлогия по версии монги), обе eventually consistent, которые ещё и синхроинизировать надо
это _очень_ ненадёжно

Banschikov
10.09.2018
12:38:15
Народ говорит что сложные кейсы в k8s не нужно пихать.

yopp
10.09.2018
12:38:29
даже репликасет это уже сложный кейс

Banschikov
10.09.2018
12:38:55
У меня задача просто хранить несколько реплик.
мне хватает

yopp
10.09.2018
12:39:04
когда шедуллеры смогут напрямую получать состояние из монги, тогда да

Banschikov
10.09.2018
12:39:29
Реализовывай хэлтчеки

yopp
10.09.2018
12:39:36
но это требует и со стороны монги апи для топологий высунуть или шедуллерам иметь встроенный клиент монги, чтоб изменения топологии видеть

Google

AstraSerg
10.09.2018
12:39:39

Banschikov
10.09.2018
12:39:39
kubelet это умеет делать

yopp
10.09.2018
12:40:40
это всё в теории хорошо выглядит, а когда вы попробуете сделать стерсс-тест ваших вотчдогов, вы на практике поймёте как легко получить вместо реплики с данными, пустую реплику
потому что хелсчек увидел что нод нет и решил развернуть кластер по новой
почти все деплоилки которые я видел ориентируються на количество нод в кластере
а это ужасный способ

Banschikov
10.09.2018
12:41:35
а чем он ужасен?

yopp
10.09.2018
12:41:47
всем?

Banschikov
10.09.2018
12:42:06
Вообще у меня не было проблем не каких

yopp
10.09.2018
12:42:06
количество нод это не представление топологии

AstraSerg
10.09.2018
12:42:49

yopp
10.09.2018
12:43:25
я пытался в своё время на cattle в ранчере сделать автоматический деплой и скейлинг
не думаю что в k8s что-то принципиально иначе
простая ситуация: у нас отвалился линк до части инфраструктуры
шедуллер это увидел и решил что надо катать ноды
я пытался кешировать топологию в etcd, но это тоже плохо кончилось
в итоге приходится дублировать весь стек управления топологией в шедуллере и жить с надеждой что были учтены все кейсы
на мой взгляд гораздо проще автоматизировать провижин и руками управлять конфигурацией, это очень мало работы

Banschikov
10.09.2018
12:47:27
я видимо не совсем понимаю ваш кейс...

Google

yopp
10.09.2018
12:47:50
нажимать кнопки в ранчере, чтоб катать новые шарды, например
автоскейл репликасета

rdcm
10.09.2018
12:50:01
вот чет ранчер не похож на нормальный инструмент судя по отзывам в чате k8s
его поливают там со всех сторон

yopp
10.09.2018
12:50:22
я тоже самое могу про k8s сказать
k8s это пример сложности для решения задач в масштабах гугла, которую переносят на масштаб «раскатаем блог»
но это уже другая тема, не для этого чята

rdcm
10.09.2018
12:53:33
если есть пара десятков микросервисов, то без оркестратора уже сложо

yopp
10.09.2018
12:58:32
современную контейнеризацию делали для stateless сервисов. а базы данных по своей природе statefull и по этому _очень_ плохо упихиваются в контейнеры
любой statefull сервис, которому нужно хранить состояние между запусками будет большой болью, потому что возникает требование иметь распределённое хранилище, которое может ездить за сервисом

Banschikov
10.09.2018
13:11:08

yopp
10.09.2018
13:15:00
он это решает вводя дополнительные ограничения на шедулинг сервисов
если там ничего не изменилось
проблема с наличием состояний — их синхронизация. Это фундаментальная проблема, которая упирается в законы физики. Попробуйте ради интереса попытаться сделать распределённое k/v хранилище, только CRUD.

Artem
10.09.2018
21:55:42
user_id: {
type: Number,
required: true,
unique: true
},
пытаюсь сделать user_id уникальным при добавлении
не работает

Naught
11.09.2018
02:37:48

ExM
11.09.2018
06:50:52

Antonio
11.09.2018
09:59:24
hello guys, i'm totally new to mongoDB, and i'm looking for help, can anyone help me? my problem is that i can't see my elements, this is the log of the DB, but I can't login with db.auth with my account "poste" neither with "admin" can anyone help me steb by step?
if I do show dbs

Google

Antonio
11.09.2018
10:03:45
this is the error
"errmsg" : "not authorized on admin to execute command { listDatabases: 1.0 }",

Constantin
11.09.2018
10:08:32

Antonio
11.09.2018
10:11:07
because my connection string is "mongodb://poste:libretti24@poste-mongodb/nasa"

Constantin
11.09.2018
10:11:56

Antonio
11.09.2018
10:12:29
i have also admin user

Constantin
11.09.2018
10:12:29
Use admin instead

Antonio
11.09.2018
10:12:48
the output is this
> db.auth(admin,iiUmBR5D0GTgbPtA)
2018-09-11T09:56:28.429+0000 E QUERY [thread1] ReferenceError: admin is not defined :

Vova
11.09.2018
10:13:23
"admin", not admin
with "
And for password too

Constantin
11.09.2018
10:15:48
mongo -u admin -p AdminPassword --authenticationDatabase admin
Try it

Antonio
11.09.2018
10:16:43
yeeess
it works

Constantin
11.09.2018
10:18:24
Good, have a nice day!

Antonio
11.09.2018
10:21:28

Google

Antonio
11.09.2018
10:21:31
hahahaha very nice ❤️

Aleksandr
12.09.2018
05:34:17
как лучше хранить ДР в монге?
при сохранении происходит смещение до UTC и в итоге дата рождения при просмотре данных в БД некорректная

Dmitrii
12.09.2018
06:03:49
время в бд всегда желательно хранить в утц

Aleksandr
12.09.2018
06:04:16
в плане дней рождений утц роли не играет
важна сама дата