@kubernetes_ru

Страница 719 из 958
Dmytro
01.08.2018
13:48:50
values -> configMap/secrets -> env containers
https://github.com/helm/helm/blob/master/docs/charts_tips_and_tricks.md#automatically-roll-deployments-when-configmaps-or-secrets-change

Alexey
01.08.2018
13:50:18
Dmytro я использую очень активно docker-compose в dev, но на prod все, что делал больше на костыли смахивало.

Alexey
01.08.2018
13:59:24
я столько натерпелся от swarm... нет.

Google
Сергей
01.08.2018
13:59:49
Alexey
01.08.2018
14:00:25
рандомные падения, ноль логов, забиндить сервис на localhost нельзя было до недавнего времени

Konstantin
01.08.2018
14:00:55
я столько натерпелся от swarm... нет.
хз, даже в проде юзаю, когда не нужно всё что куб умеет

Alexey
01.08.2018
14:01:10
version: '3.3' api: ports: - mode: host target: 3000 published: 3000

Alexey
01.08.2018
14:01:28
сварма

там их минимум. Что случилось - иди к гадалке

Я так радовался, когда увидел describe в k8n...

Сергей
01.08.2018
14:02:22
там их минимум. Что случилось - иди к гадалке
так норм же, все айти на этом держится

Dmytro
01.08.2018
14:02:24
да вроде не такой уж и костыль https://github.com/vincetse/docker-compose-zero-downtime-deployment

и своего рода HA :))

но в целом куб конечно тут лучше подходит, спору нет

Google
Dmytro
01.08.2018
14:03:43
ну так по задаче и инструмент

если все равно на одной ноде то и almost zero down не должно пугать

ну пару секунд будет 502

Alexey
01.08.2018
14:04:21
там оно almost zeredowntime понимаете почему?

не будет там 502, в этом решении

там задержка будет, пока прокси поймет, что упала часть приложения

twwlf
01.08.2018
14:04:52
Konstantin
01.08.2018
14:04:55
по задаче есть swarm, пох на сколько нод, но не умеет он всякие политики, авторизации и прочее. поэтому на одном сворме не прожить)

twwlf
01.08.2018
14:05:05
для таких вещей надо более другой прокси использовать как бы

Alexey
01.08.2018
14:05:12
потому что nginx
в ha нет timeout на опрос состояния?

twwlf
01.08.2018
14:05:31
nginx без плюса свои бекенды хелсчекать не умеет никак

Alexey
01.08.2018
14:05:31
ему нужно постучатся, подождать n сек и идти в другое место

twwlf
01.08.2018
14:05:36
там обёрнуто в костыль

Konstantin
01.08.2018
14:05:46
для таких вещей надо более другой прокси использовать как бы
потому что сначала старый останавливается, а потом новый поднимается

twwlf
01.08.2018
14:05:48
Умеет
на старте не считается

Alexey
01.08.2018
14:05:57
хелчек же не каждую секунду то. Раз в минуту... тут все равно будет задержка

twwlf
01.08.2018
14:05:58
в рантайме - не умеет

ну, или не умел

Andor
01.08.2018
14:06:04
всё равно умеет

Google
Andor
01.08.2018
14:06:09
Есть модуль

twwlf
01.08.2018
14:06:09
ну, конечно

Alexey
01.08.2018
14:06:16
k8n тушит по etcd событию

Andor
01.08.2018
14:06:21
И судя по синаксису его и сунуьи в плюс

twwlf
01.08.2018
14:06:29
а есть traefik который смотрит докеру в сокет и сам понимает когда чего переключать надо

Andor
01.08.2018
14:06:51
Это не отменяет что нжинкс это умеет

Dmytro
01.08.2018
14:07:14
в-общем, имхо тут товарищам нужны шашечки - на одной ноде все хочу, куб не хочу т.к. много памяти но нужен zero downtime

Alexey
01.08.2018
14:07:26
etcd + confd сделает zerodown time только это ж писать нужно)

twwlf
01.08.2018
14:07:43
Это не отменяет что нжинкс это умеет
я бы сказал что "nginx можно этому научить"

Alexey
01.08.2018
14:07:45
хотя не, перебор. проще руками генерить конфиг

twwlf
01.08.2018
14:07:56
а то вот эти "есть модуль, просто скомпилируй"

Andor
01.08.2018
14:08:09
я бы сказал что "nginx можно этому научить"
А на линуксе можно построить сервер

Берёшь опенрести и ничо не надо компилить

Alexey
01.08.2018
14:08:56
хочу ещё ingress к zerodown time ? Короче проще k8n заводить.

twwlf
01.08.2018
14:09:20
ну, да, да

Andor
01.08.2018
14:09:52
То ли дело поделка на го :)

Alexey
01.08.2018
14:09:55
tarantool как базу с триггерами на lua + openrestry

только потом фиг найдешь того, кто захочет это поддерживать(

twwlf
01.08.2018
14:10:46
То ли дело поделка на го :)
у меня есть впечатление что traefik быстрее отреагирует на остановку бекенда

Google
Andor
01.08.2018
14:10:52
Проверь

twwlf
01.08.2018
14:10:56
мне лень

Alexey
01.08.2018
14:11:05
там же 100% есть timeout на это. Уменьшить и все.

twwlf
01.08.2018
14:11:06
но там механически на docker event должно триггериться

Alexey
01.08.2018
14:11:11
может у traefik он меньше

по-умолчанию

twwlf
01.08.2018
14:11:19
в отличие от любой проверки на уровне tcp/http

Alexey
01.08.2018
14:12:05
k8n - наркотик с сильной зависимостью

heX
01.08.2018
14:15:15
Кто postgres кластер запускал на кубах?

Alexey
01.08.2018
14:16:05
в отличие от любой проверки на уровне tcp/http
я говорил про etcd+confd, ещё быстрее. Консул проще... если на нем писать...выйдет nomad ?

k8s
раскладка дворака... sn рядом...

Konstantin
01.08.2018
14:17:02
раскладка дворака... sn рядом...
я уже гугл задудосил, блин

twwlf
01.08.2018
14:31:14
в простейшем случае с одним dockerd – можно через апи поймать ивент на стоп/старт и среагировать

Andor
01.08.2018
14:34:37
Запуск контейнера != запуск приложения

twwlf
01.08.2018
14:44:53
ну, разумеется, но если вы после SIGTERM позволяете себе принимать запросы – то ой

ptchol
01.08.2018
15:24:03
не работает просто 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 и не понимаю как подцепить таки

Konstantin
01.08.2018
15:24:21
Alexander
01.08.2018
16:30:50
харбор вроде довольно небесплатный
вполне себе бесплатный, иначе как он в CNCF может входить?

Google
Alex Milushev
01.08.2018
16:35:02
еще странного хочу, нужно 22 порт пода в мир выставить, это вообще возможно?

Deep Sea
01.08.2018
16:40:07
Можно через nodeport, но если надо порт < 1000, то придётся запускать с с привиледжед режимом

Alex Milushev
01.08.2018
16:42:06
Но зачем?
git сервер на k8s

Deep Sea
01.08.2018
16:43:01
Лучше через ингресс имхо

Alex Milushev
01.08.2018
16:46:04
Deep Sea
01.08.2018
16:49:12
https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/exposing-tcp-udp-services.md

Alex Milushev
01.08.2018
18:12:42
https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/exposing-tcp-udp-services.md
в aws его не очень удобно будет использовать, проще nodePort и руцями ELB/NLB поднять

Deep Sea
01.08.2018
18:13:40
в aws его не очень удобно будет использовать, проще nodePort и руцями ELB/NLB поднять
в авс можно использовать нативный loadbalancer, и ничего руками делать не надо

Alex Milushev
01.08.2018
18:14:14
ну да, но хотелось бы кроссклауд, не видно не судьба

Deep Sea
01.08.2018
18:14:49
ну loadbalancer в кубернетесе вполне себе кроссклауд ИМХО

Anton
01.08.2018
18:33:37
гайс, а делал кто такое: кронджобой создать контейнер в поде(StatefulSet) и из него в PV этого StatefulSet сделать всякие штуки?

Sergey
01.08.2018
18:39:07
рандомные падения, ноль логов, забиндить сервис на localhost нельзя было до недавнего времени
Забавно, а я думал только мне так повезло, столько глюков swarm'а отведать. Были и split brain'ы (создавалась еще одна реплика rabbitmq и с части серверов на неё шли мессаги, которые никто не разбирал). Повисшие контейнеры старых версий приложения были, которые удалились только после полного пересоздания кластера. Ну а касательно логов сервисов - docker service logs вообще частенько висел, приходилось смотреть логи каждого контейнера на конкретной ноде. Оверлейная сеть глючила - иногда хосты в одной оверлейной сети не видели друг друга, приходилось удалять и создавать стек - и через несколько попыток оно наконец заводилось. Но периодически все равно падали ошибки "no route to host". Сам кластер тоже регулярно терял кворум (но это было давно, на старых версиях докера), когда было 3 мастера - а с 1 мастером смысла от такой оркестрации как-то маловато. В итоге это все закончилось вынесением всех stateful сервисов в private network, а в swarm'е только воркеры всякие остались, к которым никто не подключается.

Alexey
01.08.2018
18:57:57
git сервер на k8s
nginx умеет прокси tcp, т.е. можно через ингресс. А вообще все делают через 1022 порт или типа того. И отлично.

Dmytro
01.08.2018
19:17:00
git сервер на k8s
как вариант https://sysadmin.pm/nginx-ssh-https/

Andor
01.08.2018
19:21:06
Омг

Dmytro
01.08.2018
19:27:17
да ладно, зато наружу не торчит подозрительный 22 порт и все говно гитлаба засунуто в один контейнер

Alexey
01.08.2018
19:28:25
apiVersion: v1 kind: ConfigMap metadata: name: tcp-configmap-example data: 9000: "default/example-go:8080" ingress умеет...

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

как вариант 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; }

Страница 719 из 958