Andor
лажа у тебя какая-то
Rainbow
лажа у тебя какая-то
Обычный nodejs на babel
Andor
Обычный nodejs на babel
я это и сказал
Валентин
@evvProFfeSsoRr Пока тут новый сервис писал. Я фиг знает как можно поддерживать идентичное окружение на dev|prod, потому что огромные расхождения начинаются уже с Dockerfile. Dev: FROM node:10.8-alpine WORKDIR /app COPY package.json yarn.lock .babelrc /app/ RUN yarn Prod FROM node:10.8-alpine as build WORKDIR /app COPY package.json yarn.lock /app/ RUN yarn COPY . /app/ RUN yarn babel src --out-dir lib FROM node:10.8-alpine RUN apk add --no-cache tini ENTRYPOINT ["/sbin/tini", "--"] WORKDIR /app ADD package.json yarn.lock /app/ RUN yarn --production COPY --from=build /app/lib /app/src CMD ["node", "/app/src/index.js"] В файлах окрестратора примерно такие же отличия. Пару строк в dev и 20-50 в проде.
Тут не особо видно окружение, ты сам контейнер скинул. А вокруг него что? Окружение-то все, что вокруг, ну и у меня вокруг все по тем же именам-энтрипоинтам во всех окружениях, но ведет в разные места. Условно "api" в любом окружении апи, нотв деве - дев, в проде - прод. А разработчик не парится, фигачит в апи всегда и рад. Я ж об этом говорил
Rainbow
я это и сказал
graphql на golang писать - себе дороже. Единствннный кейс где у нас nodejs остался
𝚔𝚟𝚊𝚙𝚜
я это и сказал
@vrutkovs В цитатник:)
Vadim
нет уж, теперь другая стратегия - буду в конце недели ревьюивить наверное
Rainbow
Код должен быть гибким, а не "мы запускаем только в docker" или "мы запускаем только в k8s".
Vadim
вот-вот, пишем докерфайл чтобы его можно было запустить вне докера
Rainbow
кому?
@evvProFfeSsoRr @coltparamonov может быть, а так больше себе скорее всего 😁
Rainbow
вот-вот, пишем докерфайл чтобы его можно было запустить вне докера
как доку, которая описывать адекватно шаги сборки? Далеко не самая плохая дока.
Andor
да ладно тебе, обычный шелл скрипт
Rainbow
Рад, что вы не работали в командах, где на старте нужно неделю проходить квест "как собрать проект", проходясь по всем коллегам.
Александр
вот-вот, пишем докерфайл чтобы его можно было запустить вне докера
На самом деле программисту не важно, через докер или нет. Под продом ппц долго собирается и убирается весь дебаг, поэтому у него априори не будет идентичного окружения, можно полагаться на идентичность только между тестовым и боевым сервером
Семён
test > stage > pro на стейдже уже ведь не должно быть дебага
Arty
#освящено
Gunslinger
А если ты посмотришь, как фронтендер разрабатывает, вообще очумеешь. Через какой-нибудь локалхост локальным node запускает и ему пофиг на контейнер, и он ни за что не будет собирать для прода при разработке
у нас хорошие фронтендеры: vue + nuxt, приучены к докеру (локально докер-композ запуск через шелл скрипт), сидят в убунте, за локалхост получают по голове :D
Александр
Все равно они при разработке не собирают под прод)
Etki
цуизфсл -з
Etki
оче сложна
Andor
дайте мне кто-нибудь пример конфигуряния ингресса жсоннетом
𝚔𝚟𝚊𝚙𝚜
дайте мне кто-нибудь пример конфигуряния ингресса жсоннетом
https://gist.githubusercontent.com/kvaps/f77055e97984b415f73396ee53af7dbf/raw/542c372c2f445219af95e26d7e5d0951b9d7c95a/ing-example.jsonnet
𝚔𝚟𝚊𝚙𝚜
или тебе самого ingress-controller ?
Andor
не ну это просто жсон собраный
Andor
я думал как-то по-хитрому его генерить
𝚔𝚟𝚊𝚙𝚜
такой еще есть https://github.com/coreos/prometheus-operator/blob/master/contrib/kube-prometheus/examples/ingress.jsonnet
Andor
блин какого хрена он не выгрузился по зависимостям kube-prometheus'а?
Andor
спасибо, именно это и надо было
Даня
тут есть люди которые пользовались weave flux в продакшене?
Project Daemon
народ
Project Daemon
metalLB для on premise это хорошая идея?
Project Daemon
или есть какая то альтернатива?
Project Daemon
если нету LB в сети
Mikhail
всем привет. помогите плз раобраться с spec.containers[].resources.limits.cpu и spec.containers[].resources.requests.cpu. я правильно понял, что requests - это то, что выделяется контейнерупри старте, а limits - это то, что может быть выделено контейнеру в принципе?
Andor
Нет
Rainbow
metalLB для on premise это хорошая идея?
через bgp можно попросить хостера сделать балансировку на случай падения ноды
Andor
Requests - инструкция для шедулера, Limits - фактический лимит который будет выстален контейнеру
Mikhail
Requests - инструкция для шедулера не понимаю :(
Andor
Есть штука, которая решает на какой ноде что запустить, называется шедулер
Mikhail
то есть requests до контейнера вообще не доходит?
Andor
Шедулер видит этот "реквестст", смотрит на каких нодах столько есть свободных и шедулит
Andor
Там ещё несколько особенностей, но они в доке описаны
Andor
то есть фактически реквест должен быть равен лимиту?
Если хочешь надёжную и предсказуемую систему - да
Andor
Шедулер видит этот "реквестст", смотрит на каких нодах столько есть свободных и шедулит
Например у тебя есть нода с 4 кпу, на ней запущено два приложения, в одном реквестс=2, в другом 1, другое приложение с реквестс=2 уже не будет на этой ноде запускаться
Mikhail
Если хочешь надёжную и предсказуемую систему - да
Horizontal Pod Autoscaler смотрит на requests или на limits? и как себя поведет шедулер, если лимиты заданы, а реквест - нет
Andor
А с реквестс=0.5 может
Andor
(вроде)
Andor
Аналогично может быть задан реквестс, а лимит - не задан
Andor
Варианты есть в доке
Mikhail
Аналогично может быть задан реквестс, а лимит - не задан
меня как раз волнует вариант с явно указанным лимитом для работы автоскейлера
Andrey
Auto scaler и лимиты с реквестами не связаны
Andrey
Это три разные сущности
Andor
Автоскейлер связан с лимитами, но не напрямую
Andrey
Не напрямую там всё связано :)
Huan
привет всем, подскажите плз как через kubectl заменить serviceName в ингрессе? или как сделать replace? чтоб без kubectl edit
Andrey
А так автоскейлер на лимиты не смотрит
Light Mushroom
Господа, кто сталкивался? k8s on aws eks
Light Mushroom
как такое лечить?
Andrey
В Гугле забанили?
Light Mushroom
нит
Семён
Вольюм запрашивается из другой az
Семён
Конфигурация сторадж класса думаю некорректная
Mikhail
Автоскейлер связан с лимитами, но не напрямую
У меня как раз сложилось впечатление, что напрямую. Автоскейлеру нужна метрика для принятия решения о масштабировании, и по дефолту это лимиты цпу.
Andrey
Topology-aware volume scheduling в 1.12 только завезли как бета-фичу
Light Mushroom
Конфигурация сторадж класса думаю некорректная
Ok спасибо. Буду ковыряться в том направлении