Anonymous
Kubectl -o yaml ?
Не, ну ты прикинь 😂
I
Привет, где можно найти примеры ci/cd pipeline для микросервисов в k8s кластере?
I
С этапом Build docker image все понятно а вот с деплоем как быть? По сути надо ж одну команду вызывать kubectl apply с новым yaml файлом
I
Как у вас реализовано? Процесс деплоя
Anonymous
только удобнее это делать с помощью helm
Mikhail
только удобнее это делать с помощью helm
А можно пару слов о том, чем лучше helm перед deployment.yaml с описанным в нём rolling update?
Mikhail
На ум приходит только полная настройка зависимостей
Anonymous
в хелм чарте можно описать помимо деплоймента ещё и сервис и ингресс и pv и роли
Mikhail
Сервисов там всяких, этого вот всего. Но если один раз настроено, то в тот же gitlab можно указывать и deployment
Mikhail
А, ну вот
Anonymous
приложение задеплоенное хелмом проще откатывать и обновлять
Mikhail
А вот это весомый поинт. Надо почитать про это. Спасибо
I
приложение задеплоенное хелмом проще откатывать и обновлять
Где можно подробнее почитать? Посмотреть примеры?
Anonymous
может показаться грубовато, но ответ очевиден - в интернетах
I
)) гугл - это понятно. Я имел в виду что может быть есть под рукой ссылка или доки, которые уже исходя из своего опыта можете рекомендовать
Anonymous
Anonymous
тогда другой плюс хелма: плейсхолдеры и дефолтовые значения в темлпейтах
Dmytro
хелм это еще и хуки, и аннотация с checksum секрета-конфигмапа, и возможность не хранить секреты на CI или локально в plaintext а на лету их откуда-то вытаскивать и через stdin хелму передавать и прочее-прочее
Anonymous
через stdin - это через параметры “командной строки“?
Anonymous
нуда, очевидно.
Harry
Как у вас реализовано? Процесс деплоя
Dapp - надстройка над Helm и Docker. Быстрее пересобирает образ, само вызывает Helm при деплое, есть годный мануал от создателей, позволяющий все сделать быстро и удобно.
Harry
Но да, если не вникать в тонкости надстроек над надстройками, то Helm с шаблонами - очень хороший инструмент.
Dmytro
через stdin - это через параметры “командной строки“?
ну да, типа helm ... --values=/dev/stdin (не помню название флагов и тп. но идея понятна думаю)
Anonymous
привет! у меня стоит редис из хелма, порой если упала нода то редис возвращает ошибку на операции записи и чтения: MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk. Commands that may modify the data set are disabled, because this instance is configured to report errors during writes if RDB snapshotting fails (stop-writes-on-bgsave-error option). Please check the Redis logs for details about the RDB error. лечится это тем, что я подключаюсь к redis-cli и пишу две команды: 127.0.0.1:6379> CONFIG SET dir /tmp OK 127.0.0.1:6379> CONFIG SET dbfilename temp.rdb OK как это можно поправить/автоматизировать?
Dmytro
если упала = под рестартанулся то можно попробовать добавить эти команды в энтрипоинт или post start hook https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
Andor
https://thenewstack.io/has-kubernetes-already-become-too-unnecessarily-complex-for-enterprise-it/
Andor
+ https://www.reddit.com/r/devops/comments/8knheg/has_kubernetes_already_become_too_unnecessarily/
Anonymous
+ cannary upgrades
хелмом?
bebebe
хелмом?
да, у меня соседи так деплоят
Dmytro
о как, а можно поподробнее - как они это деают?
Anonymous
это законно вообще?
Anonymous
Только до 22:00
Mikhail
В ленобласти до 23:00
Костя
Возвращаясь к вопросу ingress с цепочкой сертификатов, хочу отметить, что проблему удалось решить только путем добавления опции enable-ssl-chain-completion=false к контейнеру ingress контроллера. При этом рабочая цепочка сертификатов и ключей на локальном Nginx вообще не показатель. Может кому пригодится...
Sergey
сертификат самописный? чет очень знакомое решение
Костя
Да, самописный, при чем чем несколько в цепочке
Sergey
ну все понятно тоды, с самописными такой затык обычно, где то тоже пытался провернуть, а вспомнить не могу, решение знакомое чет:)
Victor
Гайз, нид халп, запутался. Есть один self-hosted кубернетес. С kube-dns и weave. И на некоторых подах отваливаются резолв через kube-dns. Если попалить трафик через tcpdump, то на weave интерфейсе на машине с kube-dns ответ улетает. А на weave интерфейсе на машине с подой он уже не прилетает. При этом сама по себе связность между этими подами не разваливается. Они пингуют друг друга, проблем с мту нет и руками созданные пакеты того же размера между ними проходят. Куда копать? Чем дальше траблшутить? Самое смешное если с машины с проблемной подой сделать резолв через Kube-dns то он стаймаутится(первый), но при этом на какое-то время все начнет работать.
Eduard
Networking - overlay - strace
Andor
а как в кубере посылать nsupdate на внешний днс сервер?
Andor
или это только в облаках через всякие route53 поддерживается?
Andor
ну то есть elb я заменю на metallb, а чо с днс делать?
Sergey
а как в кубере посылать nsupdate на внешний днс сервер?
есть плагин external-dns он поддерживает пачку днс провайдеров
Sergey
или это только в облаках через всякие route53 поддерживается?
металический лб вроде еще совсем альфа
Andor
ну вот говорили что не совсем-совсем альфа
Andrey
Господа, я поставил у calico ipip в mode: cross-subnet, перезапустил поды calico-node, а роуты на всех нодах все равно кажут на tunl0. Куда копать?
Andor
ExternalDNS' current release is v0.5. This version allows you to keep selected zones (via --domain-filter) synchronized with Ingresses and Services of type=LoadBalancer in various cloud providers: Google CloudDNS AWS Route 53 AzureDNS CloudFlare DigitalOcean DNSimple Infoblox Dyn OpenStack Designate PowerDNS
Andor
то есть нормальный обычный nsupdate оно не умеет
Дмитрий Харитонов
Подскажите как сделать так, чтобы в деплойменте чать переменной бралось из переменного окружения? Которая передеаётся через CI? Типа так будет работать? environment: DB_URL: postgres://postgres:${POSTGRES_PASSWORD}@db:5432/db
engelbart
Envsubst
Дмитрий Харитонов
понял
𝚔𝚟𝚊𝚙𝚜
подскажите, а использовать statefulSet с hostPath - это нормальная практика? - или лучше гвоздями прибить сервис к конкретной ноде?
Maksim
Боже какой же ОпенШифт Деревянный
Andor
Нет
Anonymous
но он же запускает поды на той-же ноде всегда
Stanislav
Народ, как бороться с дублированием хостов в ингрессе? Сам кубик не ругается, поэтому я могу создать кучу ингрессов с одинаковым путем и dns name.
Stanislav
Но я не хочу чтобы так делали юзеры
Anonymous
запрети им создавать ингресы)
Stanislav
Ммм, тогда я не получу полноценный ci/cd
Alik
Привет! Кто ставил Elasticsearch + Fluentd + Kibana в k8s, какие requests/limits и кол-во нодов лучше устанавливать?
Dmitrii
У меня 3 пода эластика, каждый 24гб жрет и 1 CPU)
Dmitrii
Да, но их ~400гб там
𝚔𝚟𝚊𝚙𝚜
Stanislav
Как можно увеличить время перед session expired в dashboard?
Harry
Ммм, тогда я не получу полноценный ci/cd
А разве этим не должен заниматься деплой агент через Хельм?
Stanislav
А разве этим не должен заниматься деплой агент через Хельм?
Дык а что мешает в хельме поправить host для dns?
Andrei
присоединяюсь к вопросу
https://github.com/kubernetes/dashboard/wiki/Dashboard-arguments token-ttl
Anonymous
спс
Anton
Ребят, а как заставить работать сокеты(socket.io) на 4их репликах в связке? Используют nginx-ingress от kubernetes
Anton
Сейчас, с 1 репликов все работает как нужно.
Anton
Но если их несколько, то клиенты могут попадать на разные поды и ивенты не доходят