Andor
ну при запуске первого пода в репликасете пусть
Andor
остальным же будет возвращать что ничо не надо делать?
Andor
но ваще конечно лучше через джобы, да
Александр
главное в джобе не забыть restartPolicy: Never
Kirill
это плохо?
Думаю не очень, дергать миграцию столько раз сколько реплик не очень, если их 100😃, с job 1 выходит, более изящно
Etki
так оно же никакого эффекта не имеет, кроме пары запросов на чтение
Kirill
так оно же никакого эффекта не имеет, кроме пары запросов на чтение
А на практике у вас работает или это в теории?
Kirill
Если работает, то действительно
Etki
что должно быть по-другому на практике?
Kirill
Есть конечно
Kirill
Он дергат update, если база уже в последней версии, то он отвечает что обновлено, если нет - делает обновление
Anton
и наверное там локи есть, чтобы одновременно не пошли миграции? =)
Andor
а зачем они одновременно-то будут, поды же не одновременно запустятся?
mAX
товарищи, почему-то вот такой шаг в докер файле выполняется, но не кэшируется.. не подскажите в чем может быть проблема? RUN git clone -b $(curl -L https://grpc.io/release) https://github.com/grpc/grpc \ && cd grpc \ && git submodule update --init \ && make && make install
Ivan
подозреваю из-за $(curl -L https://grpc.io/release)
mAX
да там сразу FROM стоит.. и он у меня закеширован нормально..вроде и сетевые запросы вроде curl/git/wget всегда кэшились..странно
Etki
Если поставить первой директивой run touch /tmp/poc, он закешируется?
bama^boy
Доброго дня, кто-то уже гонял AWS EKS (нативный k8s для aws)? Как оно работает?
mAX
Если поставить первой директивой run touch /tmp/poc, он закешируется?
Step 2/8 : run touch /tmp/poc ---> Using cache да, закешился..буду разбираться
bama^boy
Step 2/8 : run touch /tmp/poc ---> Using cache да, закешился..буду разбираться
In most cases simply comparing the instruction in the Dockerfile with one of the child images is sufficient.
bama^boy
Т.е. если инструкция не ADD или COPY, то просто проверяется, что она не изменилась и предыдущие слои тоже
Etki
Step 2/8 : run touch /tmp/poc ---> Using cache да, закешился..буду разбираться
Расскажите, если вдруг найдете причину. Они конечно могли бы не кэшировать слой в случае любой сетевой активности, но это как-то уж слишком + ADD http вполне себе кэшируется, судя по доке
bama^boy
https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#build-cache
mAX
команда долго очень выполняется..репозитории там вроде бы не очень тяжелые
Etki
Аргументов в Dockerfile нет?
mAX
не, ни переменных, ни аргументов..файлы копирую в образ, но позже этой команды разбил ее на отдельные шаги)буду смотреть когда кеш поломается
mAX
RUN git clone -b v1.10.0 https://github.com/grpc/grpc вот такое закешилось
Vadim
товарищи, почему-то вот такой шаг в докер файле выполняется, но не кэшируется.. не подскажите в чем может быть проблема? RUN git clone -b $(curl -L https://grpc.io/release) https://github.com/grpc/grpc \ && cd grpc \ && git submodule update --init \ && make && make install
For example, when processing a RUN apt-get -y update command the files updated in the container are not examined to determine if a cache hit exists. In that case just the command string itself is used to find a match. раз command string у тебя меняется, то и кэша не будет
mAX
я не менял текст самой команды.. RUN git clone -b $(curl -L https://grpc.io/release) https://github.com/grpc/grpc тоже нормально закешилось
Etki
For example, when processing a RUN apt-get -y update command the files updated in the container are not examined to determine if a cache hit exists. In that case just the command string itself is used to find a match. раз command string у тебя меняется, то и кэша не будет
команда воспринимается текстом, еще до процессинга шеллом (иначе ее невозможно было бы проверить наличие кэша для нее до ее выполнения)
Ivan
Переменные точно учитываются для кеша
Etki
Так это все равно не поможет, если часть данных, как здесь, лежит на внешнем серваке - без реального вызова курла не узнать, годен кэш или нет. А если вызывать, то и кэш уже не нужен.
Vadim
Так это все равно не поможет, если часть данных, как здесь, лежит на внешнем серваке - без реального вызова курла не узнать, годен кэш или нет. А если вызывать, то и кэш уже не нужен.
hot take: кэш, которых не в курсе о формате данных, вообще не нужен. Лучше бы дали ручками лейер делать, как это сделано в buildah
Etki
Ох набросились, я же просто про то, как оно работает изнутри. Могу в ответ кольнуть тем, что формат данных там единственный - собственно слой
Andrey
перед установкой, это альтернатива kickstart
Slava
Еще одна причина начать шифровать секреты/configmaps в etcd.
Й
Причем, не сказать что это прям мегасложная задача
G72K
тоесть перед вызывом /sbin/init? - интересно, надо поковырять..
Да, initrd читает из /proc/cmdline откуда брать ignition json, собирает его (конфиг может ссылаться на другие по http/s3), затем готовит будущий / (рут) согласно конфигу, затем pivot_root и стартует основной /sbin/init . torcx пакеты реализованы как systemd generator, т.е. выполняются и раскладывают юниты до момента как systemd собирает все дерево
Etki
Еще одна причина начать шифровать секреты/configmaps в etcd.
- Как мы будем бороться с открытыми на весь мир сервисами? - Шифровать содержимое?
Й
- Как мы будем бороться с открытыми на весь мир сервисами? - Шифровать содержимое?
Пароли же не хранятся в ОС, в БД в в открытом виде, верно
Й
И никого это не смущает
Etki
И никого это не смущает
Ребят, вы там серьезно собираетесь латать брешь в доступе шифрованием внутрянки вместо, в первую очередь, закрытия самой бреши?
Etki
Насколько я по диагонали понял, там и записать что угодно можно
Й
Потому что, если фаервол "вдруг" окажется выключенным...хотя бы креды от авс не уплывут
Etki
Это как давайте сделаем кровь человека ядовитой, потому что вдруг кожа куда-то денется, и ее всякие вампиры пить начнут
Slava
Ребят, вы там серьезно собираетесь латать брешь в доступе шифрованием внутрянки вместо, в первую очередь, закрытия самой бреши?
Нет. Это было во вторую очередь, как дополнительная мера защиты (в т.ч. и от утечки бэкапа базы)
Vadim
Нет. Это было во вторую очередь, как дополнительная мера защиты (в т.ч. и от утечки бэкапа базы)
Утечки бекапов вряд ли частый случай, а на расшифровку время тратится. Впрочем, опциональное включение было бы крутой фичей
Logan
Сегодня утром уже обсуждали :)
Stanislav
Кемерово
Dmytro
Доброго дня, кто-то уже гонял AWS EKS (нативный k8s для aws)? Как оно работает?
я не гонял, только видел презентацию от хлопца из амазона - пока то что он показал сложно назвать работает
bama^boy
там надо кастомный kubeсtl ставить
Dmytro
Пароли же не хранятся в ОС, в БД в в открытом виде, верно
так это же разные вещи - шифрование и хеширование
Dmytro
потом сразу возникает вопрос - а где взять ключ для расшифровки (что в случае паролей в базе или ос не нужно)
Dmytro
Это как давайте сделаем кровь человека ядовитой, потому что вдруг кожа куда-то денется, и ее всякие вампиры пить начнут
у меня есть пример получше. В 2009-2010 году у меня был проект (я тогда еще девелопером работал) и заказчик просил сделать бекдоры в коде, чтобы если украдут код (у них уже 2 раза крали код до того как я туда пришел) можно было зайти через бекдор и все удалить. Вот это из этой серии походу
Dmytro
там надо кастомный kubeсtl ставить
в презентации было вообще что дадут кастомный AMI - надо его заюзать при старте воркеров. Потом он показывал как через веб интерфейс можно будет проапргрейдить версию кубера, но когда я спросил этого парня а что же будет на моих воркерах - там же версия из вашего AMI, там каким-то магическим образом версия тоже проапгрейдится? - ответ был не знаю.
Dmytro
как по мне это какое-то поделие, мне непонятно зачем я должен менеджить воркеры вообще
Dmytro
в чем профит что они менеджат мастера и etcd для меня а я должен непонятно как апдейтить воркеры, ну и делать им обычный maintenance - накатывать секьюрити фкисы и т.п.
Dmytro
сделали бы уже как у гугла где нет доступа к хосту
Dmytro
вот например если новый воркер не коннектится к мастеру - я же не зайду на мастер и не подебажу, надо создавать им тикет и т.д.
Dmytro
и таких тпипчных кейсов где нужно бежать создавать тикет будет миллион
bama^boy
сделали бы уже как у гугла где нет доступа к хосту
у гугла есть доступ к хосту, по крайней мере, когда я щупал два года назад, то был. Там дебьян стоял.
Dmytro
но там ведь не надо самому раскатывать AMI и т.д., правильно?
bama^boy
но там ведь не надо самому раскатывать AMI и т.д., правильно?
ну там тоже рекомендуемый образ, при желании можно свой велосипед собрать
bama^boy
они же деньги за сервера воркеров получают, а сам кубернетес как сервис почти ничего не стоит
Dmytro
ага нашел, кастомный image из командной строки доступен https://cloud.google.com/kubernetes-engine/docs/how-to/creating-a-container-cluster#creating_a_cluster но вот то что показал амазон (вернее, то что я видел на презентации которая по сути была сплошным маркетингом fargate) очень далеко от того что есть в гугле (и наверное есть уже 2 года как) clusters create NAME — zone ZONE — num-nodes=30 \  — enable-autoscaling — min-nodes=15 — max-nodes=50