Vladimir
#whois
▫️Какой у вас проект или где работаете?
- работаю в codefresh.io (стартап платформа ci/cd для контейнеров)
▫️В чём вы специалист?
- Devops Engneer, работаю с k8s в облаках и на железе
▫️Чем можете быть интересны или полезны сообществу?
- поживем - увидим
▫️Чем интересно сообщество вам?
- поживем - увидим
▫️Откуда вы?
- Израиль
▫️Как узнали про группу?
- набрал в поиске kubernetes
Anatoliy
Anatoliy
Правда teamcity agent вообще запустил без вольюмов, вот думаю как оно будет артефакты отдавать, да и сколько места сожрет тоже интересно.
Anton
ну из размышлений - генеришь pv сам или через provisioner. генеришь pvc для каждой реплики в деплойменте. профит
Anatoliy
в общем я пока судя повсему путаюсь немного когда и как правильно работает statefulset, он вроде данные не теряет
Anton
данные не потеряются при перезапуске из local-storage. вот если ты удалишь pvc - тогда, если класс поддерживает Delete и действия по нему, похерятся данные
Anatoliy
Неплохо я упустил такую "маленькую" деталь) Я почему то думал что они зхерятся если разрывается соединение между pvc и подом с которым он работает
Anton
чтобы не генерить persistentvolume, нужно юзать классы, которые предоставляют механизмы для автоматического выделения pv
Anton
а local-volume не умеет пока что сам генерить ничего. типа админ должен создать и позаботится
Anton
ну там диск отдельный смонтировать
Anatoliy
Хм... т.е. pvc юзает класс который ему создает pv и линкуется с ним, дальше они работаеют пока pvc не убьют? а когда pvc убивают то и pv разваливается?
Anton
pv принадлежит к какому то классу. это видно через describe
Anton
pvc запрашивает себе ресурс (pv) с какими то характеристиками, классом
Anatoliy
понятно, буду в общем разбираться как создать local storage
Anton
pvc это как limits\request по cpu\mem для пода,только для volume
Anatoliy
я просто никак не могу понять как storage class решит где надо создать папку для вольюма, или просто динамически в своей папке?
Etki
Anton
в случае с local-volume, он там ничего не решает. ты или provisioner создаете pv, которые привязанны к конкретному пути на конкретной ноде. туда и будет шедулится запуск пода, когда произойдет привязка по pvc
Anton
ты в поде используешь pvc как вольюм. а pvc закрепляется за определенным pv.
Anton
эт если rwx \ rox? не понимаю как это выглядеть будет физически
G72K
G72K
Я тут немного ОБС пересказываю, но дискуссия тут же на эту тему была убедительна пару месяцев назад
G72K
Салтыдык
Есть еще rook
кто-то пытался его потыкать, можно считать, что его пока нет
G72K
Igor
Anatoliy
Anatoliy
к стораджу можно несколько pvc повесить, это да, к одному вольюму - только если RWM будет, в RWO пошел нафиг, и пофигу что ты хочешь толкьо 5 Гб из 10, вроде так в доках было
Igor
Да хоть RWM хоть RWO, эти отношения экслюзивны согласно документации, только один к одному
Igor
RWM и RWO это про ноды, не про PVC и не про биндинг
Igor
Igor
там где биндинг
Volodymyr
Коллеги, а кто что использует для мониторинга kubernetes? Поделитесь пожалуйста опытом.
Alexander
Использовали датадог, планируем перейти на prometheus
Anatoliy
Alexander
Просто потому что раньше не было ресурсов менеджить свою систему мониторинга. Почему prometheus - как мне кажется, он больше подходит для хранения метрик чем эластик и плюс он есть в cncf
Dmitry
prometheus - отличный кейс. Он умеет общаться с API kubernetes'a для поиска таргетов, встроенный в kubernetes cadvisor выплевывает метрики в его формате. Ну и все плюшки самого прома (promql, очень емкое хранение итд)
Anatoliy
хм... надо будет посмотреть, потмоу что щас смотрю кибану - вроде нормально и интересно
Volodymyr
Anatoliy
понятно, видимо моих мозгов не хватает понять в чем отличие этих двух понятий, можете прояснить?
Dmitry
Volodymyr
Прямо в кубе.
а сторейдж? у меня просто в кубе все stateless
Dmitry
Возможно ваши задачи мне не до конца понятны)
Volodymyr
как я уже сказал у меня все stateless и наврено прийдется делать какие-то Persistent Volumes только для мониторинга...
Alex
fluentd -> prometheus(внутри кластера) -> prometheus (центральный)
Anton
чет ожидал prometheus в связке с node_exporter, никак не с fluentd
Vitalii
Вместе с Prometheus стоит упомянуть kube-state-metrics
Vitalii
Плюс все компоненты kubernetes и etcd умеют отдавать метрики для Prometheus. Извините за капитанство:)
G72K
Доказательства есть?
Попробовал сегодня, вы правы, один PV на множество PVC не раздается :( был не прав
ℭ𝔞𝔯𝔯𝔬𝔩
ℭ𝔞𝔯𝔯𝔬𝔩
А weave net?
сам спросил, сам ответил - да
https://www.weave.works/docs/net/latest/tasks/manage/metrics/
Anonymous
кто-нибудь https://github.com/coreos/prometheus-operator юзает? вы как ставите и обновляете, через helm?
Dmitry
кто-то сталкивался с такой ситуацией, у меня последняя стабильная версия к8 1.8.3, если два пода запушены на одной ноде то вип адреса не работают между ними, если на разных нодах то все ок, подключения по ендпоинтам работает всегда! вип адреса работают так же если идет подключения с самого хоста внутрь контейнера на этой же ноде
Serega
Anonymous
мнение в целом правильное, но иногда неверное :)
Anonymous
тут вопрос в том что есть helm prometheus чарт обычный (мне не подходит), есть набор yaml для prometheus operator (обновляется чаще всего), и есть набор helm prometheus charts (они их только задеплоили, и там вообще нет док что как ставить)
короче я щас на втором варианте, но думаю может 3-й правильнее
Maksim
я prometheus ручками ставил)
Anonymous
ну ручками это надо в едином конфиге настраивать эндпоинты
я попробовал через TPR и мне понравилось (кодеры рядом с pipeline подкладывают yaml для мониторинга и оно само работает):
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
...
Maksim
Maksim
есть какой нить? буду признателен)
Serega
TPR уже деприкейтед.
yaml для мониторинга - а что имеется в виду? мониторить сам микросервис?
Anonymous
> есть какой нить? буду признателен)
https://coreos.com/operators/prometheus/docs/latest/
> TPR уже деприкейтед.
да, они постоянно названия меняют... короче то что вместо него :)
> yaml для мониторинга - а что имеется в виду? мониторить сам микросервис?
верно: мониторинг сервиса, алерты и тп
Anton
Anton
что с ним не так?
Serega
зачем что-то добавлять в прометеус, если просто при деплойменте самого микросервиса можно указать аннотации в духе:
annotations:
prometheus.io/scrape: 'true'
Anonymous
"есть мнение, что пока не знаешь точно нужна ли тебе эта технология или нет, - то она не нужна." :)
Dmitry
стремные имена будут в таргетах прометея
Dmitry
лучше самому руками прописывать джобы и лейблы
Serega
это спорно.