Denis
Отлично?
Andrey
Я про это, bus-queue да и многое другое
https://coreos.com/etcd/docs/latest/v2/api.html#atomically-creating-in-order-keys
Andrey
еслинственный неоднозначный нюанс в отношениях с coreos - это "дружба" с ансиблом
Etki
очень эм странное решение
Etki
Непонятно, что делать с классическими проблемами роутинга и сообщений, о которых консьюмер слишком долго не отвечает (которые должны спустя какое-то время вернуться в очередь, если не пришел ack). Судя по всему, для сортировки ему нужно прочитать индекс целиком, что вызывает некоторые опасения.
Andrey
ну для этого есть механизм блокировок и ничего не мешает разделить очередь на 2 - ожидающих и выполняющихся, также ttl сничает часть проблем
но согласен, что не для всех случаев подходит
и у нас пока всего пара десятков тысяч "сообщений" на 3 ноды и с масштабируемостью пока не столкнулись,но спасибо за идею
Etki
Ну, окей, она выполняется уже час, и ее кто-то должен перекинуть обратно. Кто это делает и как это происходит?
Andrey
ну если нужно имнно такое условие, то очевидно, что какой-то дополнительный процесс, имхо - это слишком специфично для приложения
Etki
в общем, у меня ощущение, что это тоже кончается чтением всего индекса, только уже не в самом etcd, а снаружи, предварительно передавая его по сети
Andrey
стоит проверить, место, действительно, узкое
denis
Etki
Деплоймент, ингресс я даже не пробовал (но, емнип, у него нет функционала для таких перенаправлений)
denis
ага, получатеся это обычный pod с развернутым nginx
denis
@etkee И в нем nginx.conf который делает простой редирект по значению сабдомена. А балансировка, если поды сервиса в нескольких репликах, происходит уже в самом сервисе, правильно понимаю?
Etki
да, все верно
Etki
Единственный caveat - что nginx, судя по разговорам на гитхабе, идет в обход стандартных вызовов для резолва днс (насколько понял), поэтому без собственного резолвера не обойтись, и для получения ip kube-dns при запуске контейнера пришлось вызывать getent hosts kube-dns.kube-system.svc.cluster.local или что-то такое и впиливать в конфиг перед exec. Но есть еще, как минимум, traefik и haproxy, nginx я взял как решеине, с которым больше всего знаком.
Denis
Всем привет. Подскажите конфиг для того, чтобы мониторить кластер через Prometheus + получать уведомления на SMS и email?
Denis
Grafana ещё не научилась это делать?
Victor
Я вот эти за основу брал
https://github.com/kayrus/prometheus-kubernetes
https://github.com/giantswarm/kubernetes-prometheus
grafana тоже умеет, но все лень настроить
Denis
Спасибо! Он нормально, не много памяти съедает? У нас что-то на тестовом кластере до 10 Гб за пару дней разошёлся
Denis
В такой схеме выходит Prom и Grafana будут дублировать друг друга? А как только у Grafana настраивается SMS + email алерты, то Prom уже не нужен становится? Или у него ещё полезное что то может есть?
Denis
Вроде ребята из Monzo что то рассказывали про полезные фильтры в Prometheus
Denis
http://docs.grafana.org/alerting/rules/
Denis
вуаля!
Denis
SMS / E-mail / Slack
Victor
У нас ограничение в 1гигабайт стоит, за последний месяц пару раз рестартовал, данные за пару секунд потерял, пока не критично для нас
Prom не ставил, только Grafana.
Алерты сделал на Prometheus, хотя Grafana красивые скрины дашбордов иногда в slack присылает
Denis
Она ещё и в Slack умеет слать скрины?
Denis
http://docs.grafana.org/alerting/notifications/#slack вот это?
Denis
Вот ещё что то https://github.com/raintank/kubernetes-app
Denis
Pavel
Всем привет!
Столкнулся с такой проблемой. В k8s 1.2.5 + Docker 1.13 не публикубтся порты через k8s сервисы (services type: NodePort).
Вернее публикуются, но они недоступны:
$nmap -p 31220-31230 <host>
PORT STATE SERVICE
31222/tcp filtered unknown
Проблема воспроизводится на Debian 8, Ubuntu 16.04 LTS.
C Docker 1.12 все ок было.
Никто не сталкивался с подобным?
Pavel
C k8s 1.5.2 баг повторяется.
Anonymous
это баг 1.13... вообще очень нехороший релиз вышел 1.13, ожидаем патчей...
Igor
@devosx а знаешь какое ишью в docker по этому поводу есть?
Igor
хочу почитать детали
Pavel
+1
Pavel
Если что создал тикет https://github.com/kubernetes/kubernetes/issues/40349
Logan
yolkov
а сеть на чем в кубе?
Ivan
Pavel там ответили в тикете https://github.com/kubernetes/kubernetes/issues/40349#issuecomment-274801624 По ходу совсем хорошего решения пока нет
Victor
А что там решили с организацией митапа на февраль?
Denis
Формируем доклады. Пока лайнап такой:
1. Интро в Kubernetes
2. Опыт с Kubernetes от Avito
3. Экосистема Mirantis для Kubernetes
Denis
Etki
Я не в москве, но мне было бы очень интересно послушать о том, как устроен какой-нибудь CI с выладкой в куб у других (это, насколько понимаю, и есть куб + гитлаб)
Ivan
насчёт п.3 - Мирантис - подтверждаю, только название может немного другое придумаем, поговорю с менеджментом
Denis
Denis
Victor
Anonymous
Видео будет?
Anonymous
Щас как раз начал делать jenkins/k8s
yolkov
от площадки зависит
Denis
Скорей всего сделаем что-нибудь)
Denis
Запись или трансляцию
Etki
Anonymous
я кстати не до конца уверен что jenkins мне подходит с его "богатым набором возможностей", потому то по факту мне нужен только pipeline, интеграция с docker/kubernetes и возможность билдить на удаленных агентах
поэтому, если у кого есть положительный опыт с более простой системой подходящей под эти требования то говорите пока не поздно :)
Vladimir
Concourse CI выглядит довольно няшно. там каждый pipeline описывается yaml файликом. подход похож на k8s. но я не использую, только игрался
Etki
++
Etki
если б там еще и артефакты сохранять можно было, да еще blue ocean ui припаять )
Denis
🎉🔆🚀 Друзья, мы рады анонсировать первый митап по Kubernetes, который состоится 15 февраля в Москве! Приходите, будем рады пообщаться про Kubernetes с самых разных сторон.
Предварительная программа:
19:00 – сбор гостей и знакомство
19:30 – вступительное слово и дайджест
19:45 – от CoreOS к Kubernetes и Concourse CI, Денис Измайлов
20:10 – Grafana, Prometheus и GitLab CI с Kubernetes, Виктор Логин
20:40 – кофе-брейк
21:00 – Экосистема Mirantis для Kubernetes, Иван Шведунов, Kubernetes Senior Engineer
21:30 – свободное общение
https://www.meetup.com/Moscow-Kubernetes-Meetup/events/237164023/
Denis
Будем пинить с уведомлением? )
Denis
Anonymous
Denis
Там есть подводные камни
Denis
Если время сборки важно
Anonymous
для меня вот это все пока непривычно... просто скажи, имеет смысл ресерчить чтоб jenkins заменить?
Etki
да, потому что в дженкинсе (и go.cd) все очень плохо с менеджментом и воссозданием джоб, а в concourse ты просто используешь yaml-файлы, и, при необходимости, можешь хоть шаблонизировать их
Anonymous
а есть пример пайплайна а-ля "посмотрели новый тег в гите, сбилдили докер, запустили в нем тесты, положили докер в регистри"? чтоб просто понять как это выглядит :)
Vladimir
может и есть где-то, я уже не помню, но вот их туториалы/примеры https://github.com/starkandwayne/concourse-tutorial
Anonymous
https://stackshare.io/stackups/drone-io-vs-concourse
Alex
Всем привет, Я Александр Хаёров (Alexander Khaerov), руковожу отделом в Ingram Micro (ex Parallels), вероятно мы будем хотингом для митапа и сделаем доклад конечно. Немного о наc - пишем на JS (angular1,2), python, ansible, разворачиваемся в Google Cloud Platform, используем AppEngine, конечно docker и немного kubernetes также в GCP #whois
Anonymous
кто-нибудь запускал в облаке контейнер с поддержкой docker на борту?
Etki
А на чем застопорился?
Anonymous
на том что вообще не знаю как это сделать :)
Etki
Емнип поставить privileged флаг и, возможно, докинуть capabilities, в качестве референса можно брать jpetazzo/dind, там в доке все должно быть. Единственное что сам куб может запрещать ptivileged флаг, но я до туда не доходил еще
M
парни а как ограничить физический размер контейнера на диске? у кубера лимиты только cpu и memory?
Logan
не давать ему томов?
размер тома можно ограничить
Ivan