Aleksey
потому что хеш от манифеста не меняется.
А-а-а-а... Вот где собака зарыта =) Премного благодарен!
George
хочется, чтобы было написано, например, ubuntu:16.04, но при этом sha был зафиксирован
Rainbow
к сожалению, это не человекочитабельно
я использую git sha1 для тегов, плюс минус одинаково, привык. Только git sha1 можно использовать для git show
Rainbow
Вот сейчас подумал закидывать в meta ссылку на gitlab страницу комита. Может будет удобно, нужно попробовать.
Rainbow
В grafana можно запилить плагин который будет вытаскивать commit message по sha1, если такого нет.
Rainbow
спасибо, буду знать
так много кто делает, из неудобств - засирается registry быстро разными тегами с одинаковым контентом.
cent
Привет всем!
cent
Коллеги, такой вопрос, а кто чем собирает проекты в CI? Сейчас вот пытаюсь напилить более менее стабильную систему сборки и столкнулся с проблемами Чтобы: - сборка была в одном конфиге (потому часто бывает, что не один контейнер) - сборку можно отделить от gitlab-runner, потому что дебажить gitlab-runner exec - это боль - удобный дебаг с остановкой itrospect Судя, по коду, я виду, что werf - это явно не в моем вкусе. Но не вижу альтернатив просто Он, вроде как, одним бинарем идет и как раз отвечает только за сборку. Но даже внутри приходится постоянно костылить
cent
А какие еще есть альтернативы? ansible-container ? Чем он лучше?
cent
а дженкинс чем плох?
А CI тут при чем? Меня и gitlab-ci вполне устраивает
Alegro
А CI тут при чем? Меня и gitlab-ci вполне устраивает
сорян. я значит не совсем понял в чем проблема
cent
один конфиг – это типа на несколько проектов?
Нет. Просто проект может состоять не из одного контейнера. Знаю, не микросервис. Но уже такое есть
Puma
Гитлаб раннер умеет что запускать а докер контейнерах
cent
Гитлаб раннер умеет что запускать а докер контейнерах
Умеет, но это из другой задачи совсем
Alex
Нет. Просто проект может состоять не из одного контейнера. Знаю, не микросервис. Но уже такое есть
ну так в .gitlab-ci.yml просто разбивается сборка на несколько этапов, которые параллельно могут проходить... плюс можно инклудить yml файлы для сборки чтобы не повторять одно и тоже
Puma
Ну я тогда не понял что вам не устраивает в гитлаб ци ?
Alex
или проблема в другом?
cent
ну так в .gitlab-ci.yml просто разбивается сборка на несколько этапов, которые параллельно могут проходить... плюс можно инклудить yml файлы для сборки чтобы не повторять одно и тоже
А как дебажить чисто сборку? gitlab-runner exec может дернуть только одну джобу. Как мержить артефакты между контейнерами? Гитлаб не умеет монировать что-то к контейнеру. Или другие плюши docker run
Салтыдык
не умеет
cent
не помню в каком docker, но вроде ещё в 17-ом году появился multi-stage
multi-stage не умеет монтирование Хотя сам докер уже в последних версиях умеет. Но у нас есть лок на не последнюю версию
Салтыдык
а зачем оно?
cent
а зачем оно?
Всякие там apt кэши или например ssh socket
Салтыдык
Всякие там apt кэши или например ssh socket
кэш вроде есть в раннере, с остальным плохо
Alex
Всякие там apt кэши или например ssh socket
хм, а зачем нужен ssh socket? (просто интересно)
cent
кэш вроде есть в раннере, с остальным плохо
Кэш - это там просто общая папка
Салтыдык
в раннер можно прокинуть что-то, насколько я помню, но статически. Через конфиг раннера
cent
хм, а зачем нужен ssh socket? (просто интересно)
Ну, чтобы клонить из приватных реп
cent
в раннер можно прокинуть что-то, насколько я помню, но статически. Через конфиг раннера
Как это относится к прокидыванию в контейнеры, которые он собирает?
Alex
secret variables?
угу, с multi-stage вполне решает проблему
Rainbow
говорите про коня в вакуме. Кейс целиком лучше описать и получить ответ.
cent
secret variables?
Для чего конкретно? Oauth токен? Скомуниздят же. У нас еще не настроены one shoot токены на гитлаб(
Салтыдык
Rainbow
Для чего конкретно? Oauth токен? Скомуниздят же. У нас еще не настроены one shoot токены на гитлаб(
чем submodules в gitlab не устроили вместо клонирования приватных реп?
cent
чем submodules в gitlab не устроили вместо клонирования приватных реп?
А чем субмодули то отличаются?) Это же клон в фоне)
cent
тем что gitlab делает все сам.
При чем здесь гитлаб? Речь о клоне внутри контейнера. npm install или composer install Который уже дергает git, который дергает ssh коннект
cent
мы только сейчас об этом узнали
О чем? О том, что я изначально спросил что использовать для сборки контейнеров?)
Rainbow
Все deps из git стоит копирнуть в свой gitlab. А там проще подключить через submodules в обход npm/composer. И не будет проблем с тем, что нужен git для npm install.
cent
И как контейнер все равно будет к ним стучаться? Это же вызов из composer install
Rainbow
Ну, это практически не реально)
Я понимаю, нужно чем-то оправдывать возню на пустом месте.
engelbart
kube-system 2019-04-23 15:53:19 +0700 +07 2019-04-07 14:02:27 +0700 +07 594 l7-default-backend-7ff48cffd7-jb4x5.15931f26c38ac332 Pod spec.containers{default-http-backend} Normal Started kubelet, gke-data-custom-vm-6-25-0cbae9b9-zz6w Started container kube-system 2019-04-23 16:08:24 +0700 +07 2019-04-07 14:38:54 +0700 +07 1710 l7-default-backend-7ff48cffd7-jb4x5.15932123e3ff4a25 Pod spec.containers{default-http-backend} Warning Unhealthy kubelet, gke-data-custom-vm-6-25-0cbae9b9-zz6w Liveness probe failed: Get http://10.8.0.19:8080/healthz: net/http: request canceled (Client.Timeout exceeded while awaiting headers) kube-system 2019-04-23 15:32:39 +0700 +07 2019-04-07 14:40:59 +0700 +07 734 l7-default-backend-7ff48cffd7-jb4x5.15932140fea8a04d Pod spec.containers{default-http-backend} Warning Unhealthy kubelet, gke-data-custom-vm-6-25-0cbae9b9-zz6w Liveness probe failed: Get http://10.8.0.19:8080/healthz: dial tcp 10.8.0.19:8080: connect: connection refused kube-system 2019-04-23 15:57:41 +0700 +07 2019-04-07 15:14:00 +0700 +07 1630 l7-default-backend-7ff48cffd7-jb4x5.1593230e520fef71 Pod spec.containers{default-http-backend} Warning BackOff kubelet, gke-data-custom-vm-6-25-0cbae9b9-zz6w Back-off restarting failed container что то у меня l7-default-backend падает. Чего это он?
engelbart
пересоздает его, нет логов
Kirill
Всем привет. В кубере поднимаю efk в тестовых целях. С пода кибаны не работает сервис эластика. curl http://elastic_ip:9200 работает. curl http://service_elastic_ip:9200 не работает. С другого тестового пода curl http://elastic_ip:9200 работает. curl http://service_elastic_ip:9200 работает. Почему так может быть, куда смотреть? На что обратить внимание? В iptables ещё не смотрел.
engelbart
po/l7-default-backend-7ff48cffd7-jb4x5 1/1 Running 599 16d Однако падает то он у меня как из пушки. 599 раз
engelbart
> kubectl logs -f -n kube-system l7-default-backend-7ff48cffd7-jb4x5 stopping http server... вот такие логи
engelbart
А вот кто его дергает kube-system 2019-04-23 16:22:54 +0700 +07 2019-04-07 14:39:42 +0700 +07 598 l7-default-backend-7ff48cffd7-jb4x5.1593212f0998de57 Pod spec.containers{default-http-backend} Normal Killing kubelet, gke-data-custom-vm-6-25-0cbae9b9-zz6w Killing container with id docker://default-http-backend:Container failed liveness probe.. Container will be killed and recreated.
engelbart
вопроса два, какого хрена,и как предотвратить
Салтыдык
ну вот и ответ
engelbart
А чего он не отвечает то
Салтыдык
хз, может порт другой, может путь
engelbart
да не , он обычно то отвечает. это он под нагрузкой так
Rainbow
default-http-backend под нагрузкой, мне бы так
engelbart
мда, чего это я.
engelbart
Как же это объяснить. Может так быть что какой то другой service падает, и всё начинает сыпаться в default ?
Rainbow
если сервис падает там будет 502 bad gateway
Rainbow
404 от default будет только, если запрос промазал мимо kind: ingress всех.
Rainbow
и default backend там простейший гошный сервис, он должен держать дикие нагрузки. Скорее проблем, что kubelet теряет где-то его и убивает без liveness.
Rainbow
* проблемы с iptables, kube-proxy и тп. cni прекрасен же =)
engelbart
Спасибо
engelbart
я как то проглядел что это backend
engelbart
думал этосам балансировщик
engelbart
Нашел впрочем вот человек тоже страдал https://github.com/kubernetes/kubernetes/issues/22266
engelbart
сто лет назад правда
Rainbow
то, что он падает - проблема. он не должен падать, там нечему падать кроме проблем k8s.
engelbart
вот вот