Pull to refresh
19
0
Алексей @mobilesfinks

User

Send message

Да нет там проблем. У человека видимо проблемы с железом. Мы работаем на Проксах в продакшене уже лет 5 минимум. За последний год было наверное 2 момента, когда непонятно почему iowait диска на БД был. Но опять же - это скорее всего железо, а не сам прокс.

Это полноценный фреймворк, в который входит CLI-интерфейс, который сильно упрощает разработку и эксплуатацию приложений на Tarantool Cartridge.

Cartridge - это фреймворк, с помощью которого может поднять свой кластер. В том числе, он может быть удаленным.Cartridge CLI - специальная утилита, упрощающая жизнь при локальной разработке с использованием Cartridge.

Кто-то включает заднюю? Про только локальную разработку не сказано. Везде и в статье и в документации эта "утилита" позиционируется как полноценный инструмент для работы с кластером. Только постоянно забывается, что кластер оказывается локальный.
Вот потому и у вас документация хреновая - вы подменяете понятия, придумываете свои велосипеды и пытаетесь протолкнуть сырое поделие как нечто готовое к серьёзной эксплуатации.

Команда ``cartridge replicasets`` (как и в целом Cartridge CLI) предназначена для локальной разработки.

Тогда вам просто необходимо научиться называть статьи правильно

Управляем кластером на Tarantool из командной строки

Так управляем кластером или всё же для локальной разработки?

Настройка набора реплик и failover

Да, управление через GUI нельзя называть проблемой. Для кого-то, может быть, это будет плюсом. Но я всё равно решил выделить как отдельное преимущество Cartridge CLI, и сейчас объясню почему:

Нафига всю статью рассказывать как красиво ваш CLI управляет кластером, когда ваш кластер это мулька локальная к реальности не имеющая отношения вообще?

Вы уже несколько раз смешиваете понятия Cartridge и Cartridge CLI:

CLI - command line interface - в "народе" эта приставка ставится к утилитам которые работают в командной строке.
Зачем утилиту для локальной разработки называть именем фреймворка который используется для боевой задачи?
Вы сами вносите путаницу во всю документацию и приставка CLI и никакая другая тут вам не помогут.

Сборка образа картриджа описана здесь: https://www.tarantool.io/en/doc/latest/book/cartridge/cartridge_cli/#build-and-runtime-images

Спасибо кэп. Вместо этого можно было сделать один мультистейджовый Докерфайл и не захламлять сознание вот тем бредом, что там написан. Но вы идёте своим путём.
Хотя вот сейчас я увидел по крайней мере, что там есть ссылки на ссылки в которых описано как собирается это всё. Ок, теперь мне их этого раздербанненого документа нужно будет составить пайп сборки. Крайне непонятно при первичном чтении. Я ожидаю, что все пункты будут освещены в главе, а вы просто ссылок повыткали и радуетесь.
Да, ещё можно же просто предоставить свой офф образ и собирай туда какой хочешь картридж, там уже всё будет готово, но увы - это не про ваш продукт.

Ну так попробуйте Kubernetes operator для Tarantool.

Знаете, первым делом это и сделали
Как оказалось он кластер не собирает. Вдруг кластер остаётся в позиции "все сервера Unconfigured". Ну и что там ваш оператор делает? Умеет из шаблонов собирать стейтфулсет манифесты?
А где конфигмапы для инстансов?
Как вы конфигурите это безобразие? Никак. Ручками похоже.

А что вы хотите сделать?

Ну например сделать так как написано в статье

cartridge replicasets list

и увидеть что там на поднятом кластере с репликами.
А не лезть в консоль и не искать какие же команды ввести. Ну вот я первый раз поднимаю кластер тарантула и вообще тарантул в глаза первый раз вижу. Вместо помощи пользователю у вас постоянные отсылки в документацию, в которой непонятно, что и как описано.
Я же писал, документация есть, её много, но она бестолковая.
Мне как новому пользователю ваш продукт непонятен, неясен, плохо документирован, имеет множество проблем на старте подготовки к старту и на базе бутстрапа.

Вроде, ничего сложного.

Так мы это и без вас знаем. Только вот по ссылке указано как установить тарантул, а не картридж.
Попробуйте запихнуть `cartridge pack docker` в докер раннер гитлаба например. Вы огребётесь. Потому, что ваш сборщик это велосипед, который собирает сначала билд образ, потом в билд образе второй образ, монтирует сам что-то куда-то из основной системы и тд. Если я верно понял вы реализовали мультистейдж на уровне своего велосипеда. FYI В докерфайлах мультистейдж уже давно реализован.

Намного правильней было бы, если бы вы просто описали процесс сборки образа без картриджа и показали, потом, как он собирает это одной командой - так было бы правильнее и логичнее. И каждый мог бы выбрать самостоятельно - собирать самому или через pack docker.

У вас в документации упор на "соберите приложение". Мне это приложение не нужно. Мне нужен кластер. Поднять несколько инстансов, указать им конфиг, и чтобы они собрались. Так сделано в эластике, монге и многих других кластерных решения. В вашем случае в документации описаны вроде файлы конфигурации, но Где они? Как их указывать при старте? Что писать? Местами какие-то упоминания про конфигурирования есть, но это настолько всё неявно, настолько всё размазанно, что непонятно про конфигурацию ничего.
Сгенерите приложение и радуйтесь - вот посыл который исходит из вашей документации.

Используйте ansible. 

Да, я видел. Теперь расскажите как раздеплоить ваш тарантул через докер контейнеры. Ваша роль такого не умеет. Моя инфраструктура не предполагает деплой приложений вне докера.

Используйте cartridge connect:

Это называется издевательство. Я же отписал в комментарии - я попадаю в консоль картриджа. И? Что мне с этой консолью делать? запрос хелпа опять шлёт в документацию тарантула - где хочешь там и ищи команды.
В документации (по вашей ссылке) ссылка на "enter and connect" - выдаёт 404 ошибку - такой страницы не существует.
Это называется Уровень сопровождения и тех документации - он крайне низкий, если не сказать никакой.

По поводу деплоя на 500 инстансов

Вскоре мы нашли оркестратор, который не требует постоянных root-привилегий — supervisord.

Шёл 2021 год, докер медленно сдавал позиции демонлесс утилитам, а разработка тарантула только открыла для себя supervisord
Ау! Вы реально? Сразу скажу, что я сам использовал supervisord для части своих задач. Но блин, у вас картридж вроде как образы собирает, а вы на это просто забили. Но учитывая как у вас эта сборка организована, там тоже понятно всё.

Cartridge CLI содержит удобный и унифицированный интерфейс для управления приложением и позволяет не придумывать велосипед.

Да весь этот картридж состоит из сплошных велосипедов:
* сборка Докер образа через `cartridge pack docker`, который внутри себя генерит какой-то Докерфайл, который непонятно как работает. В темплейте приложения присутствуют пустые темплейты докерфайла. Попытка обвязать это всё в CI выливается в нехилый такой велосипед. А ведь можно было просто добавить чистый Dockerfile
* в instances.yml описаны инстансы на локалхостах которые "запускаются командой cartridge start" - вы там docker-compose впилили ещё в картридж?
* в статье ни слова о том, как управлять реальными инстансами, а только всё на кошках, которые подняты локально
* как подключиться к уже существующему кластеру не описанному в instances.yml и поглядеть его состояние? не, я увидел команду connect, но я подключаюсь напрямую в cli чего-то (то ли тарантула, то ли картриджа). На help меня шлют в документацию. А добавить хелпа по командам не судьба? Хотелось бы увидеть, что там с удалённым кластером то творится без залезания в cli
Я попробовал:

  • описал сервера в instances.yaml.

  • Сделал cartridge replicasets list.

  • Получил: ⨯ Failed to find some instance joined to cluster: No running instances found

Что там было про "не придумывать велосипеды"?

Там ещё много чего можно было бы перечислить, но не хочется. Документации много, прям много. Но толку от неё вообще мало.
Попробуйте найти список переменных окружения используемых для конфигурации тарантула в контейнере картриджа. В документации этого я не нашёл. Знаете где? В файлике cartridge.yaml во вновь сгенерённом приложении. С одной стороны логично, с другой - в документации опишите.

Все что вам нужно это положить CA-сертификат вашего OIDC-сервера в /etc/kubernetes/pki/oidc-ca.pem

* А что это за CA сертификат? Откуда его взять.
* OIDC сервер это же keycloak? (Если я верно понимаю)
А что на замену мышам и клавиатурам есть? Я пока кроме как каких то невнятных концептов ничего не видел
Тем кто минусит данное сообщение (^^^) — вы статью по ссылке прочитайте, для начала.

Я сам на себе ощутил это всё. Уже полежал в больничке с инсультом (35 лет). Знаю ещё несколько человек младше меня которые тоже с инсультом уже слегли. Кто-то легко отделался (как я), кого-то даже частично парализовало.
Последние два года у меня идёт борьба с моим организмом. Я пытался долго понять почему это произошло и почему я до сих пор не могу прийти в норму

Одна из проблем — неправильная поза при работе (голова наклонена вперёд и постоянно в напряжении). Причём я сам (почти) дошёл до этого момента. И то что в статье сказано про кресла — всё это верно.
Так что темой здоровья, эргономики и правильного положения во время работы нужно озаботится. И чем раньше, тем лучше будет.

Это не пугалка для молодого парня, это просто обращение внимания на очень важный вопрос который очень серъёзно может повлиять на его будущую жизнь.

Жора, ты молодец, рад, что есть такая молодёжь как ты. Успехов.
Без докера пришлось бы последовательно обновлять весь стек приложения до самых новых зависимостей, попутно устранять баги, оптимизировать. Но зачем?

Любой разработчик работает не на себя, а на бизнес. Даже если этот бизнес свой это всё равно бизнес. И разработчику необходимо либо быстро сделать и выкатить, чтобы получать уже деньги, либо сидеть месяуами и полировать код, но не получать ни копейки.
Думаю тут выбор очевиден.
Дальше, есть рефакторинг. Это позволяет отполировать/переписать уже имеющийся код. Тут тоже чуществует такой же баланс НАДО и ХОЧУ.
И вся бизнес структура на всё этом балансе строится.
А вы транслируете только одну точку зрения «ХОЧУ» в то время как бизнесу требуется «НАДО».
Они сложны потому что их сложно заставить работать вместе и сложно использовать за рамками примеров из документации.

Правда? Ужас то какой. Как же я это всё запускаю то?
Документация бывает конечно ужасной и зачастую приходится либо искать хаутушки (тоже кривые зачастую) или сидеть и самому глубоко вникать. Обычно эти проблемы только в начальных релизах, если софт становится популярным, то эти проблемы зачастую уходят сами, в процессе развития.
Докер это не только решение «dll hell», это ещё унифицированный интерфейс и снэпшот кода приложения. Независимо от рантайм окружения вы получаете одно и тоже приложение что на Ubuntu, что на CentOS, что в любом другом линукс дистрибутиве (с виндой дел не имел, не скажу).

beduin01 просто не понимает всех возможностей докера и тех задач которые он решает. Я думаю он просто не умеет им пользоваться или не сталкивался с задачами в которых придётся костыли подпирать костылями если нет докера.
Если бы всё было так красиво как он описал про компиллируемые языки, то докера бы не было и все бы писали и компиллировали, а скриптовые языки были бы малоразвиты.
Докер популярен именно потому, что он решает требуемые задачи с минимальным оверхедом и со стороны ресурсов и со стороны администрирования.
Когдя я пришёл, то тоже был очарован тем как всё устроено. До сих пор считаю, что сделано всё круто. Но только в той команде в которую я тогда попал. К сожалению очень многое зависит от Тимлида. Мне тогда повезло с тимлидом, а потом не очень.
Ну и ноут обещали, обещали, но так и не выдали, а он мог бы мне тогда очень сильно пригодиться в работе.
А так это пока одна из лучше всех организованных галер которые я знаю )
Перенос сканера отпечатков на заднюю стенку подано как инновация — привет Xiaomi
Спасибо, подтолкнули меня к более глубокому изучению данного вопроса )
Пришлось поискать, мало где есть, но нашёл размеры аккумуляторов. Высчитал объёмы. Посчитал ёмкость на единицу объёма.
Да, не в 2 раза плотность увеличилась, а всего в ~1,28 раза в пользу более свежего аккумулятора.

тем не менее это всё же говорит о том, что плотность медленно но верно растёт. К сожалению не теми темпами, что обещают.
Согласен, не совсем корректное сравнение, но по размерам они примерно одинаковы. Так что сравнивать на вскидку считаю допустимым.
FYI: Сравнивал SGS 3 и Xiaomi Redmi 3s
В данный момент по цене они примерно одинаковы, а вот по начинке Redmi в 2 раза мощней S3.
Пишут про открытие новой технологии. От технологии к массовому производству период несколько лет.
У меня сейчас батарейка в телефоне 4200мАч, примерно такая же батарейка всего 4 года назад — 2000мАч
Движение идёт, только просто очень медленно. А так, то за последние годы ёмкость аккумуляторов растёт очень быстро.
Рад что пригодилось.
я правильно понимаю, что в третьем примере ошибка из-за копипаста

Совершенно верно.

как микротик определяет, где заканчивается один маршрут и начинается второй

Чуть выше вашего комментария скрипт oldengremlin который собирает в одну строку.
Маршруты разделяются по маске подсети.

LEN (маска подсети назначения) = 8 = 0x08
DESTINATION = 10.0.0.0 = 0A

Маска подсети — 8 бит. Это означает, что сетевая часть адреса — первый октет. Всё. Больше искать смысла нет т.к. остальное это адреса хостов подсети.
Если сетевая маска 24 бита, то сетевая часть адреса это 3 октета. Как то так ))
Спасибо. Всегда думал, что текущие с БД беруться.
1
23 ...

Information

Rating
Does not participate
Location
Калининград (Кенигсберг), Калининградская обл., Россия
Registered
Activity