Maksim
до этого впилили —config
Maksim
Вообще это мания с докера пошла
Maksim
выпиливаем ключи и те или иные функцие. а вы сами разбирайтесь какие и что вам теперь делать
G72K
а заплатки из git как этому помогают?
G72K
раз выпиливают,то врят ли впилят обратно
Maksim
ну про ключи то ладно)
Maksim
а вот что сейчас делать с ошибкой на fs/cgroup пока не оч ясно
Maksim
мне почему то вспоминается анекдо про японский автомат, автоматического бритья...до первого раза лица у всех разные
Aleksey
Подскажите, а есть ли механизм позволяющий прописать зависимости или ожидания? Хочу, чтоб деплоймент не запускался, пока не запущен такой-то сервис. Сходу не нагуглил, прошу простить, если вопрос избитый.
Denis
init containers
Denis
https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
Denis
Кто нибудь знает есть ли возможность кастомизировать порядок роллинг апдейта?
Vitalii
Посмотрите в сторону stateful set, но я сам не юзал
Vitalii
Вообще следить за порядком запуска - не kubernetes way
Maksim
Вообще следить за порядком запуска - не kubernetes way
Один момент, обычно разрабы видят Кубер и начинают вливать свой compose
Maksim
а там они очень сильно извращают, да ещё у них там и host alies и порядок запуска и вообще детская песочница, а у нас тут взрослый сервис с fqdn и т.п.)
Maksim
да ещё иногда и сервисы зависимы друг от друга
Maksim
Посмотрите в сторону stateful set, но я сам не юзал
ну он всё ещё поддерживается а Ordered ввели в 1.7, так что kubernetes way в эту строну то же смотрит
Denis
Посмотрите в сторону stateful set, но я сам не юзал
Ну это немного для другого все таки
Denis
Хотя The RollingUpdate update strategy will update all Pods in a StatefulSet, in reverse ordinal order то что нужно прям :)
Maksim
In Kubernetes 1.7 and later, StatefulSet allows you to relax its ordering guarantees while preserving its uniqueness and identity guarantees via its .spec.podManagementPolicy field
Maksim
Это раз
Maksim
The RollingUpdate update strategy implements automated, rolling update for the Pods in a StatefulSet. When a StatefulSet’s .spec.updateStrategy.type is set to RollingUpdate, the StatefulSet controller will delete and recreate each Pod in the StatefulSet. It will proceed in the same order as Pod termination (from the largest ordinal to the smallest), updating each Pod one at a time. It will wait until an updated Pod is Running and Ready prior to updating its predecessor
Maksim
Это два)
Maksim
Так что да копать StateFull set
Anonymous
Народ, будучи в отпуске я решил проанализировать все доступные источники информации (хайповые и не очень), и составить таблицу наиболее интересных транспортов между сервисами сети (с прицелом на перенос инфораструктуры, так что требования субьективные да и сравнивается там не технологии одного уровня а теплое с мягким). В общем, попытка определить "хайповость" технологии и решить на чем делать следующий проект чтобы потом не обосраться. Накидал вкратце примерный список фич и штрихами заполнил часть из них, без выводов пока и всего остального. Если кому интересно пишите свой фидбек (какие фичи были бы еще полезны, что из того что написал неправильно или непонятно), можно в приват. Нужны любые ваши комментарии, очень хочу их услышать даже если у вас есть всего пара слов по этому поводу. Заранее спасибо :) Да и табличка может потом пригодиться коллегам. https://docs.google.com/spreadsheets/d/1l-jbEGlkW83Hcb122oHZZ8SGTdE1nRQVOT5gnWvbXO0/edit?usp=sharing
Alexander
Народ, будучи в отпуске я решил проанализировать все доступные источники информации (хайповые и не очень), и составить таблицу наиболее интересных транспортов между сервисами сети (с прицелом на перенос инфораструктуры, так что требования субьективные да и сравнивается там не технологии одного уровня а теплое с мягким). В общем, попытка определить "хайповость" технологии и решить на чем делать следующий проект чтобы потом не обосраться. Накидал вкратце примерный список фич и штрихами заполнил часть из них, без выводов пока и всего остального. Если кому интересно пишите свой фидбек (какие фичи были бы еще полезны, что из того что написал неправильно или непонятно), можно в приват. Нужны любые ваши комментарии, очень хочу их услышать даже если у вас есть всего пара слов по этому поводу. Заранее спасибо :) Да и табличка может потом пригодиться коллегам. https://docs.google.com/spreadsheets/d/1l-jbEGlkW83Hcb122oHZZ8SGTdE1nRQVOT5gnWvbXO0/edit?usp=sharing
А http? Можно было бы еще добавить список фреймворков, где транспорт реализован на каждой из технологий.
Anonymous
о, и ты здесь :) привет у меня там в таблице не столько сравнение (нельзя сравнивать теплое с мягким), сколько попытка описать характеристики спасибо за инфу, подумаю как вставить в таблицу grpc использует http2 под капотом, graphql не регламентирует протокол но из коробки идет http1 - то есть я не рассматриваю отдельно http так как он в комплекте идет если ты имел ввиду чистый http1 со всеми своими косяками то он не прошел предварительный отбор в таблицу :) по поводу фреймворков, прикол в том что только gRPC дает возможность взять и написать бизнес-логику на определенном списке языков (а дальше админы пусть думают как ее в воркфлоу встроить) остальные претенденты не обладают мультиязыковым фреймворком к сожалению (ваш amqp-фреймворк хорош но только под ноду к сожалению... а собственно, почему "ваш", я тоже в начале разработки руку приложил :), то есть надо создавать спецификацию и при входе новой команды в разработку (или желании сменить язык) надо заново фреймворк писать... если я не ошибаюсь, поправьте меня
G72K
Народ, будучи в отпуске я решил проанализировать все доступные источники информации (хайповые и не очень), и составить таблицу наиболее интересных транспортов между сервисами сети (с прицелом на перенос инфораструктуры, так что требования субьективные да и сравнивается там не технологии одного уровня а теплое с мягким). В общем, попытка определить "хайповость" технологии и решить на чем делать следующий проект чтобы потом не обосраться. Накидал вкратце примерный список фич и штрихами заполнил часть из них, без выводов пока и всего остального. Если кому интересно пишите свой фидбек (какие фичи были бы еще полезны, что из того что написал неправильно или непонятно), можно в приват. Нужны любые ваши комментарии, очень хочу их услышать даже если у вас есть всего пара слов по этому поводу. Заранее спасибо :) Да и табличка может потом пригодиться коллегам. https://docs.google.com/spreadsheets/d/1l-jbEGlkW83Hcb122oHZZ8SGTdE1nRQVOT5gnWvbXO0/edit?usp=sharing
zeromq, nanomsg, mqtt
Салтыдык
https://nats.io
Anonymous
это все event-driven паттерны (объединил их в amqp, хотя и не обязательно там должен быть amqp - mqtt тоже ттуда же например :)
Sn00part
 fedora atomic - неплохо придумали и сделали.
Sn00part
наверное повезу ее в прод
Роман
Когда использовал просто докер, gitlab-ci-runner нормально работал. Теперь поставил его в кубер. Но уже несколько дней не могу понять в чём проблема. Раннер создаёт три контейнера, среди них есть svc-0, который не стартует. Причина: не может сменить группу у /var/run/docker.sock на docker, так как группы не существует. И действительно: в контейнере есть группа 999, но называется она ping. Используется образ docker:dind. В то же время, аналогичная схема работает, если используется просто контейнер с этим образом вне кубера. Раннер используется для сборки образа и запушивания его в регистри. Кто-нибудь сталкивался? Как победили? Я уже всё перечитал, что нашёл по этому вопросу. Ответ один: всё должно работать...
Rinat
всем привет, может кто знает перестали работать сервисы снаружи кластера т.е. зайти по внешнему ip на них не могу wait response и все внутри куба ответ есть
Rinat
думал yaml косячный у меня, проверил на дашборде_, тоже перестал работать
Rinat
Нет
Rinat
Service loadbalancer
Igor
Service loadbalancer
Ого, эту штуку используют? 🙂
Igor
она вроде как - брошенный проект
Igor
альтернатив понавыпускали типа appcode/voyager
Rinat
хз в доках нету про depricated
Rinat
https://kubernetes.io/docs/concepts/services-networking/service/#services-without-selectors
Denis
А нужно какие нибудь особые tolerations прописывать для DS, чтобы он точно и всегда был запущен на всех нодах? Или это уже из коробки?
Rinat
вопрос)) а как ingress понимает какой ip использовать? делает резолвинг ?
Igor
Пример: на мастере стоит node-role.kubernetes.io/master=true:NoSchedule Чтобы туда DS задеплоил, надо: tolerations: - key: node-role.kubernetes.io/master value: "true" effect: NoSchedule
Dmitry
Ребят, раз уж вопрос о ingress возник. Такой кейс: есть helm чарт в проде с ингрессами и kube-lego. Хочу на minikube его перенести для разработки и тестов. Как без отключения tls секции его перенести? или слишком много хочу?
Ivan
if-чиком в чарте?
Роман
Если у пода нет доступа в интернет - куда смотреть?
Sn00part
какой оверлей?
Sn00part
фланель-калико-чтотоеще?
Роман
какой оверлей?
Разобрался. Всё обстоит хуже. Это докер в докере. У контейнера в контейнере нет интернета. Ему можно сделать —net=host. Но это сложный очень путь. Я по другому сейчас пробую.
Sn00part
ты внутри пода запускаешь докер и там внутри интернета нет?
A
Привет всем! Есть вопрос по TCP настройке. У меня веб приложение работает по http 80 и вебсокету. Эта часть работает нормально через ingress. Но в этом же приложении есть tcp server (port: 6666). Который не понимаю как выпихнуть его наружу. Может кто - то подскажет как это сделать? Могу расшарить конфиги посмотреть если это чем - то поможет. Не могу как - то нагуглить как сделать.
A
Если сделать port-forward и потом через telnet то подключается
kås
шарь
A
https://gist.github.com/oivoodoo/bc047b48a1b31ba019f2b420c03636b4
A
nodePort
ок попробую почитать документацию про NodePort. спасибо
Sn00part
Ага.
может быть подкрутить попробовать iptables? замаскарадить все по ступеням
Sn00part
хотя, кажется, попробовать вообще убрать второй докер будет быстрее
A
nodePort
Работает, спасибо большое!
Роман
йа тебе сюда https://docs.gitlab.com/runner/configuration/autoscale.html#distributed-runners-caching
Не получается. Который день мучаюсь уже. Какие там нюансы?
Logan
Не получается. Который день мучаюсь уже. Какие там нюансы?
не получается - это плохое описание проблемы
Роман
не получается - это плохое описание проблемы
Более подробно: Вот часть конфига раннера: [runners.kubernetes] namespace = "gitlab" privileged = true image_pull_secrets = ["deploy-robot"] [[runners.kubernetes.volumes.host_path]] name = "docker-socket" mount_path = "/var/run/docker.sock" host_path = "/var/run/docker.sock" [runners.kubernetes.node_selector] gitlab-runner = "true" Деплоймент - самый обычный, там в нём просто инструкция запустить образ и примонтировать hostPath с этим конфигом. Получается следующее: раннер создаёт три контейнера в поде. Один из них (srv-0) сразу же падает с ошибкой: can't create unix socket /var/run/docker.sock: device or resource busy Второй, который build, пытеется собрать мой проект, но не может, так как route -n в нём показывает дефолтный шлюз - 169.254.1.1 и никакие сервисы недоступны (не пингуются). Однако днс резолвит адреса из внешнего интернета.
Роман
В связи с этим вопрос: как заставить раннер не монтировать docker.sock в контейнер svc-0, но монтировать в контейнер build?
Sn00part
поправь host_path
Sn00part
а у тебя в поде два контейнера ?
Sn00part
тьфу
Sn00part
сорри протормозил
𝚔𝚟𝚊𝚙𝚜
а кто-нибудь может объяснить зачем сервисам типа nodePort вообще нужен параметр clusterIP?
Logan
а если у вас несколько внешних ип? вот для этого и нужен
Logan
причем, как я понимаю, он маршрутизирует к нужному контейнеру сам - у меня работал сервис с IP одного сервера, но с контейнером на другом
Vasiliy
хм, а в каком чатике можно обсудить закон о защите персональных данных (типа что надо их хранить на территории РФ)? я так понял придется отказываться от google cloud platform если хранишь/обрабатываешь персональные данные. хотя у меня только телефон хранится, но сим-карты привязываются к паспорту гражданина РФ сейчас, и хз можно ли считать номер моб. телефона персональными данными, мне вот говорят, что да (ну и инфа из открытых источников это подтверждает)
Lev
Просто номер?) или номер и имя?