@MongoDBRussian

Страница 302 из 342
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 это умеет делать

но это требует и со стороны монги апи для топологий высунуть или шедуллерам иметь встроенный клиент монги, чтоб изменения топологии видеть
это уже софтварная проблема. k8s тут не причем. это всего лишь фреймворк аркестрации, а не комбаин.

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
почти все деплоилки которые я видел ориентируються на количество нод в кластере
по идее не должны тригерить если нод больше 0, ведь даже одна нода может отвечать

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 сервис, которому нужно хранить состояние между запусками будет большой болью, потому что возникает требование иметь распределённое хранилище, которое может ездить за сервисом

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 уникальным при добавлении

не работает

ExM
11.09.2018
06:50:52
user_id: { type: Number, required: true, unique: true }, пытаюсь сделать user_id уникальным при добавлении
ключ индекса {"user_id.type": 1, "user_id.required": 1, "user_id.unique": 1} но кажется, что ты странное делаешь. Можешь описать решаемую проблему?

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 }",

Antonio
11.09.2018
10:11:07
Hi there! Could you send to us, how do you use your user to access the database?
yes i wrote this "mongo -u poste -p libretti24 --authenticationDatabase nasa"

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
Don't share your passwords with strangers =)
it's randomly generated and it's in a closed ecosystem, i'm not afraid, but thank you for the advice. now i try this

yeeess

it works

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

Antonio
11.09.2018
10:21:28
Good, have a nice day!
thank you so much, this is the first time a community helps me

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
в плане дней рождений утц роли не играет

важна сама дата

Страница 302 из 342