twwlf
То ли дело поделка на го :)
у меня есть впечатление что traefik быстрее отреагирует на остановку бекенда
Andor
Проверь
twwlf
мне лень
Rainbow
там же 100% есть timeout на это. Уменьшить и все.
twwlf
но там механически на docker event должно триггериться
Rainbow
может у traefik он меньше
Rainbow
по-умолчанию
twwlf
в отличие от любой проверки на уровне tcp/http
Rainbow
k8n - наркотик с сильной зависимостью
heX
Кто postgres кластер запускал на кубах?
Rainbow
в отличие от любой проверки на уровне tcp/http
я говорил про etcd+confd, ещё быстрее. Консул проще... если на нем писать...выйдет nomad 😆
Rainbow
k8s
раскладка дворака... sn рядом...
Konstantin
раскладка дворака... sn рядом...
я уже гугл задудосил, блин
twwlf
в простейшем случае с одним dockerd – можно через апи поймать ивент на стоп/старт и среагировать
Andor
Запуск контейнера != запуск приложения
twwlf
ну, разумеется, но если вы после SIGTERM позволяете себе принимать запросы – то ой
Denis
не работает просто include kubespray если делать по их ману, c ошибкой: The error appears to have been in 'ansible/3d/kubespray/cluster.yml': line 2, column 3, but may be elsewhere in the file depending on the exact syntax problem. The offending line appears to be: --- - hosts: localhost ^ here и не понимаю как подцепить таки
Alexander
харбор вроде довольно небесплатный
вполне себе бесплатный, иначе как он в CNCF может входить?
Lex
еще странного хочу, нужно 22 порт пода в мир выставить, это вообще возможно?
Ivan
Можно через nodeport, но если надо порт < 1000, то придётся запускать с с привиледжед режимом
Lex
Но зачем?
git сервер на k8s
Ivan
Лучше через ингресс имхо
Ivan
https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/exposing-tcp-udp-services.md
Lex
https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/exposing-tcp-udp-services.md
в aws его не очень удобно будет использовать, проще nodePort и руцями ELB/NLB поднять
Ivan
в aws его не очень удобно будет использовать, проще nodePort и руцями ELB/NLB поднять
в авс можно использовать нативный loadbalancer, и ничего руками делать не надо
Lex
ну да, но хотелось бы кроссклауд, не видно не судьба
Ivan
ну loadbalancer в кубернетесе вполне себе кроссклауд ИМХО
Anton
гайс, а делал кто такое: кронджобой создать контейнер в поде(StatefulSet) и из него в PV этого StatefulSet сделать всякие штуки?
Sergey
рандомные падения, ноль логов, забиндить сервис на localhost нельзя было до недавнего времени
Забавно, а я думал только мне так повезло, столько глюков swarm'а отведать. Были и split brain'ы (создавалась еще одна реплика rabbitmq и с части серверов на неё шли мессаги, которые никто не разбирал). Повисшие контейнеры старых версий приложения были, которые удалились только после полного пересоздания кластера. Ну а касательно логов сервисов - docker service logs вообще частенько висел, приходилось смотреть логи каждого контейнера на конкретной ноде. Оверлейная сеть глючила - иногда хосты в одной оверлейной сети не видели друг друга, приходилось удалять и создавать стек - и через несколько попыток оно наконец заводилось. Но периодически все равно падали ошибки "no route to host". Сам кластер тоже регулярно терял кворум (но это было давно, на старых версиях докера), когда было 3 мастера - а с 1 мастером смысла от такой оркестрации как-то маловато. В итоге это все закончилось вынесением всех stateful сервисов в private network, а в swarm'е только воркеры всякие остались, к которым никто не подключается.
Rainbow
git сервер на k8s
nginx умеет прокси tcp, т.е. можно через ингресс. А вообще все делают через 1022 порт или типа того. И отлично.
Dmytro
git сервер на k8s
как вариант https://sysadmin.pm/nginx-ssh-https/
Andor
Омг
kyxap
Dmytro
да ладно, зато наружу не торчит подозрительный 22 порт и все говно гитлаба засунуто в один контейнер
Rainbow
apiVersion: v1 kind: ConfigMap metadata: name: tcp-configmap-example data: 9000: "default/example-go:8080" ingress умеет...
Rainbow
cat ingress-values.yaml name: nginx-ingress namespace: kube-system rbac: create: true tcp: 1022: "gitlab/gitlab:22" controller: kind: DaemonSet daemonset: useHostPort: true если ingress через helm
Rainbow
как вариант https://sysadmin.pm/nginx-ssh-https/
зачем он делает map $ssl_preread_protocol $upstream { "" ssh; "TLSv1.2" web; default 2.2.2.2:443; } просто же map $ssl_preread_protocol $upstream { "" ssh; default web; }
Lex
как по мне, лучше что-то вроде alb-ingress-controller только для tcp/udp
Lex
но ингресс вроде tcp не поддерживает :(
Rainbow
Россия aws не поддерживает
Rainbow
А ingress tcp умеет на nginx точно
Lex
меня это мало парит
Lex
А ingress tcp умеет на nginx точно
через костыль, что расстраивает
Rainbow
configmap костыль?
Lex
как вариант пилить свой CRD и контроллер
Rainbow
там отдельная деректива stream { } вообще левая тема, которую 99% не юзают. Как это могло в k8s по другому быть реализовано?
Rainbow
отдельный ресурс ingress-tcp?
Lex
отдельный ресурс и контроллеры под него под разные платформы, как и с ингресс в принципе
Lex
имя не важно, хоть SupaDupaTCPIngressForK8S
Rainbow
@zunkree привет передавай там всем в идеальном мире)
Lex
А что такое этот ваш CRD?
https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/
Й
Аааа. Сенкс
Anonymous
Use stolon Luke
а как он с нагрузками дружит ?
Михаил
как вариант пилить свой CRD и контроллер
Дорого большинству команд
Anonymous
qps примерно какой ?
Михаил
qps примерно какой ?
У меня не большой, но у знакомых прилично
Andrey
Ребят, а деплоить через kubectl set image deployment... зло или норм?
ℭ𝔞𝔯𝔯𝔬𝔩
Rainbow
Ребят, а деплоить через kubectl set image deployment... зло или норм?
Я делаю cat template.yml | envsubst | kubectl apply -f - в template.yml что-то вроде: image: service/api:$COMMIT_SHA Почти тоже самое, только чуть гибче
Andor
Use stolon Luke
Они уже добавили pgbouncer?
Andor
Или всё ещё говорят "делайте пулинг на стороне приложения"?
Rainbow
А как проверить потом что оно встало?
так же как и проверить,что kubectl apply в принципе применился... я не делаю проверок. Мониторинг поднимет панику если что не так
Andrey