All streams
Search
Write a publication
Pull to refresh
32
0
Silenkov Artem @sn00p

DevOps Advocate

Send message
У меня есть кластер из ~40 нод, там докер и atomic-fedora-29, проблем нет. Но там и записи почти нет, volumes все в цефе, свап не нужен. Ничего из функционала не используем. Пару блэкаутов было, пережили нормально. Подозреваю, сломается, если начать туда сильно писать.
Как storage driver для докера, претензий нет.
Зато у него есть много прекрасного на его сайте )) Очень поднимает настроение, рекомендую )
Так вы попробуйте, может и у вас получится.
Мы к марту доделаем четвертый проект уже за год по похожей схеме. Kubernetes+JenkinsX+Gitlab, Hadoop
Приезжайте в мае на kubecon, я вам расскажу в деталях, без проблем.
Cистемная архитектура тут причем? А чего системная архитектура-то? Там много курсов про системную архитектуру, вы на каких были? Вот там есть, например, системная архитектура ПО, но это вроде не оно.
На каком конкретно рассказывают про костыли в rc скриптах FreeBSD?
это вот так надо делать, ога?
rctl -a jail:httpd:memoryuse:deny=2G/jail

или как? Потому как иных лимитов я не нашел для процессов.
А как это добавить вот к вашему коду из 30 строк? Там релоад можно будет сделать? Или только рестарт?
А если процесс запущен из-под юзера с одними лимитами, а rctl задаст другие, что будет? Как вообще проверить это при старте системы? У меня что-то в телефон не влазит вся инфа эта, можете вкратце описать? Или опять сольетесь? Да вы не переживайте, у меня много еще вопросов.
А чем wants от require отличается, вы таки не осилили изучить, ога? Зря.
С таймауатми понятно, они тут по количеству лампочек в потолке, акей.
Остальную часть сообщения вы опять тактично проигнорировали.
Хехе
Добавляем условия, которые в systemd решаются очень сложными для понимания и длинными двумя строками.
After=network.target
Wants=redis.service
И уже все не так радужно, ога? Да и redis во FreeBSD так нормальный и не завезли, так что придется его еще собрать.
Добавляем еще
CPUAccounting=true
CPUQuota=10%
MemoryAccounting=true
MemoryLimit=50M

И становится уже интереснее.

у вас там вот это зачем, кстати?
const path = require('path')

Почему таймауты 100 и 500, а не 200 и 300?

Вот и все у вас так, через назад.
Нет, я запущу кубернетес кластер, например, и там буду делать map-reduce, например, с использованием по максимуму всех возможностей kubernetes, автоматическое скалирование, например.
Что даст мне возможность сконцентрироваться на задаче обработки данных, за которую мне в итоге и платят. А задачи масштабирования, скалирования, HA и прочего с разработчиков будут сняты по максимуму. При этом разработчики будут коммитить по сто раз на день, а не раз в полгода. С моментальной выкладкой кода на прод, а не раз в полгода, на что будeт автоматически запускаться куча тестов, уменьшая в итоге количество ошибок и увеличивая качество продукта.
Что увеличивает эффективность, уменьшает косты и позволяет в итоге зарабатывать больше, а тратить меньше.
Сколько сейчас доля FreeBSD/NetBSD/OpenBSD в интернете?
это дурацкий вопрос? Как запустить на этом всем что-то сложнее мейлрелея и фтп — дурацкий вопрос?
Хехе. Что же в них дурацкого?
Я троллей не кормлю, кстати, так что предлагаю на этом и завершить. Идите погружайтесь в свое чувство собственного величия где-нибудь в другом месте.
Ответов на два моих простых вопроса и финальный третий, я так понимаю, не будет. Именно поэтому я некомпетентен. Ну акей, кто бы сомневался.
Вопросы о моей компетенции я оставлю своим работодателям и партнерам все же. Вы бы лучше о своей позаботились.
Я вам конкретные вопросы задал
Сколько сейчас доля FreeBSD/NetBSD/OpenBSD в интернете?
Как скоро я смогу там запустить...

Вы постеснялись почему-то ответить. Вместо этого занимаетесь демагогией про генный код. Зачем?
init здесь при том, что все вышеописанное предполагает одновременное использование минимум пяти десятков разных сервисов на каждом сервере, общим количеством более сотни, часть из которых вам вообще не принадлежит.
Мы до бекендов еще даже не дошли, давайте с фронтендами хотя бы закончим.

Как вы будете решать эту проблему с помощью FreeBSD/NetBSD/OpenBSD, где у вас c 1994 года ничего не взрывается?
Да конечно были, только сейчас 2019 год, количество информации в единицу времени растет по экспоненте. Старые подходы и старые технологии уже не работают, придумывают новые. Нормальный процесс, разве нет? Как вы будете, например, 10 гигабит данных в секунду обрабатывать, скриптом на перле? 3 года писать надежный сервис для этого? Ну, успехов чо
Нет, минусуют из-за другого. Сейчас 2019 год, не 1994.
Сколько сейчас доля FreeBSD/NetBSD/OpenBSD в интернете?
Как скоро я смогу там запустить Clickhouse, например, добавить еще 20 фронтендов, пяток базенок mysql в HA, добавить немного мониторинга и автоматическое скалирование в случае изменения метрики, которая состоит из нескольких параметров, вычисляемых lua скриптом, который встроен в балансировщик? Часть системы надо еще разбалансировать по географически регионам, потому как клиенту важно получить ответ по наиболее коротким проводам. Часть системы в облаках надо разместить разного рода, потому как по стоимости это будет подешевле, чем свою SDN строить.
понимаете про что я?
Я предлагаю вам пойти еще дальше. Зачем нужна виртуализация, если все можно запускать в bare metal? Зачем вообще что-то нужно, если вы этого не понимаете?
Что плохого в том, что «быстро поднятое упавшим не считается»?
Вы читали вообще про 12-factor-app?
Нормально они это делают. Если вам не нравится, можете сделать PR и поправить, кто вам не дает? Можете показать хоть один ваш issue в гитхабе на эту тему?
Еще раз.
Утверждения были такие.
1. systemd умеет cgroups. Зачем это нужно, уже указали, не раз. В ответ на это наш коллега с «простой и понятной системой» с инит скриптом из 300 строк заявил, что ему это не надо, есть вот же докер, что еще надо.

На вопрос, что делать, когда докер по разным причинам запустить вдруг нельзя, наш коллега тактично отвечать не стал.
2. Докер не замена иниту и инит не замена докера.
Хотя наш коллега с «простой и понятной системой» и думает иначе.
Я знаю что такое докер, я ничего не планирую делать для совмещения systemd и докера. Зачем бы мне это надо было?
Так это и не про докер кейс. Это про инит в целом.
что если есть systemd, то докер уже не нужен,

Это вы откуда такое утверждение взяли? Было утверждение, что systemd использует cgroups и этому есть свои причины, которые вам и привели неоднократно. Из-за этого, в том числе, использование докера необязательно, если вам нужны только cgroups.
Докер же — это не просто cgroups, это целый комбайн, там еще куча всего дополнительно намешано.
У вас в разных комментариях взаимоисключающие утверждения.
Я получил простую и очень надёжно работающую систему, требующую минимум времени на поддержку

Что может быть минимальнее, чем
dnf upgrade
, например.
А вот тут вообще песня.
Да, в списке процессов болтаются всякие самозапустившиеся «сервисы» вроде /usr/libexec/gvfs-udisks2-volume-monitor, /usr/libexec/udisks2/udisksd, gpg-agent, /usr/libexec/dconf-service etc. без нормального runit-супервизора. Это немного раздражает, но без веских причин, скорее просто по принципу «потому что тишина должна быть в библиотеке!». По факту у них просто собственный жизненный цикл, кто-то их автоматом запустил когда они понадобились, и если они крешнутся, то этот кто-то их и перезапустит когда они снова понадобятся.


Ну да ладно. Вас уже не в ту степь понесло.
Какие-то метрики уже появились. Причем тут метрики и
процесс загрузки системы?
Да, вот только чтобы докер заработал, надо дофига всего при загрузке проинитить. Настроить сеть, настроить оверлей, выделить сторадж, прикрутить iptables, поднять d-bus, поднять логгирование, разобраться с race condition при всем этом.
А только потом запустить в докере zookeper, не забыв указать ему переменные окружения. А потом разработчик с соседнего отдела приходит и говорит, там это, баг у нас походу, давай попробуем сменить файлуху вот тут в сервисе на reiserfs, например. Только тут надо на 300 машинах, там половина центос 6,8, вот тут вообще опенвз стоит, тут вот центос обновили, но не до конца. А вот тут машина грузится долго, нам полсофта надо переписывать, че за хрень? А ты ему, щас погоди, чувак, давай через неделю другую приходи, следующие спринтов 10 твои, мне тут свой суперинит поправить надо.
Есть серверы, где докер, например, не заработает, тут как быть? Например, там убунта, в которой уже выпилили апстарт. И которую обновить нельзя, там кривой aufs с проблемами с dir permissions + отключен коннтрак.
Мир он такой, многогранный. Именно поэтому там существует и runit, и upstart, и по старинке, и systemd одновременно. Если вам чего-то тут не нравится или не надо, всегда найдется несколько сотен тысяч человек, которые думают по-другому.
Например, какие такие штатные инструменты позволяют оценить, сколько твоя программа отожрала при загрузке времени, в целом и в интеграции с другими сервисами?

300 строк — это максимально краткий, простой и очевидный код? А по пять строк юниты — это код сложный и запутанный, ну акей. Пока вы саморазвиваетесь в интересных проектах, люди деньги хотят зарабатывать. Если сравнить это с такси, никому ваше такси не будет интересно, если вы приедете через месяц после заказа, с криками, смотрите какие я тут шашечки нарисовал. Для себя ок, прикольно, не спорю, хотя есть и поприятнее занятия, как по мне. Но какой в этом business value?

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity