
vktr
23.08.2018
18:20:32
Довольно абстрактно, но забавно, когда консоль тебе говорит "я создала 40К+ горутин и больше не могу"
И стектрейс длинный предлинный

Andor
23.08.2018
18:22:04
забавно
зарепортил?

Google

kvaps
23.08.2018
18:24:43
и опять же, если снести ноду снесется и failure-domain, или я чего-то не понимаю

Andrey
23.08.2018
18:26:37
Не ноду, а под из сета

Let Eat
23.08.2018
18:28:04

kvaps
23.08.2018
18:29:04
кстати вот анонс:
https://kubernetes.io/blog/2018/04/13/local-persistent-volumes-beta/

Let Eat
23.08.2018
18:30:53

kvaps
23.08.2018
18:31:28
@rossmohax я ес честно вообще не совсем понимаю зачем их придумали, nodeAffinity и для hostPath прекрассно работает, а по сути local volume это тот же hostPath только с type: Directory

Let Eat
23.08.2018
18:32:58

kvaps
23.08.2018
18:33:21
погоди, а какая разница?

Let Eat
23.08.2018
18:33:34

kvaps
23.08.2018
18:33:41
lvm и как hostPath можно создать

Let Eat
23.08.2018
18:34:19

Google

kvaps
23.08.2018
18:34:47
ну то есть разница только в названии?

Let Eat
23.08.2018
18:34:57
И прибить когда не нужно. И не давать больше одного пода в директорию ходить

kvaps
23.08.2018
18:35:04
для hostPath можно тоже PV нагенерить
и провижионер написать

Andor
23.08.2018
18:47:27
То есть щас только hostpath по-умолчанию
Если я правильно понял

rdcm
23.08.2018
18:49:56
Всем привет!
Наверняка этот вопрос задавали кучу раз. Есть толковый гайд как поднять мультимастер? На kubernetes.io инструкция с kubeadm, но какое-то время назад в доке было написано, что он не продакшен реди и его можно юзать только в обучающих целях.

kvaps
23.08.2018
19:21:26
создаешь volume маунтишь его в директорию, в кубе local volume появляется
и там именно local а не hostPath

Mikhail
23.08.2018
19:26:08

Nikolai
23.08.2018
19:39:20
Подскажите, для websocket-коннекшена на ингрессе https://kubernetes.github.io/ingress-nginx/
нужно что-то дополнительно докручивать или должно работать как с привычным http?
просто http-соединения работают, а веб-сокет отрубается с 502-ой, при этом в логе ноль информации (ни в ингрессе ни в соотвествующей поде)

Александр
23.08.2018
19:43:01
какая версия ингресса?
покажи values для хельма-чарта
облака?
сколько реплик за сервисом?

Nikolai
23.08.2018
19:51:45
quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.18.0 - этот использую
бареметал, без балансера, 2 мастера+3ноды

Александр
23.08.2018
19:52:28
реплик за сервисом говорю скока?

Nikolai
23.08.2018
19:52:46
2

Александр
23.08.2018
19:53:19
а что в values для хельма?
а хотя
>бареметал, без балансера
тогда я пасс)
вот тут https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/provider/aws/service-l4.yaml пишут
> # Increase the ELB idle timeout to avoid issues with WebSockets or Server-Sent Events.
service.beta.kubernetes.io/aws-load-balancer-connection-idle-timeout: '3600'

Google

Александр
23.08.2018
19:55:51
но как это на бареметалле я не в курсе
тут еще https://github.com/kubernetes/ingress-nginx/issues/2846

Andrey
23.08.2018
20:13:17
тут про istion немного завезли ?
https://habr.com/company/avito/blog/419319/

Anton
24.08.2018
07:24:16

Let Eat
24.08.2018
07:25:33
Никто вольюмы под конкретное приложение не шифровал? Ещё не разбирался, но есть подозрения, что keyring в ядре вообще про контейнеры ничего не знает и меня ждёт много веселья :) буду пробовать ecryptfs, но может кто по граблям уже прошёлся?

Anton
24.08.2018
07:25:37
тоесть блок
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
в конфигурации есть и протокол должен в клиенте переключится

Nikolai
24.08.2018
07:30:49
да, так и делаю
в общем, перед ингресс-контроллером стоит nginx, который выступает в роли LB (типа) и разруливает входящие соединения на nodePort ингресса
и вот на нем стот апгрейд коннекшена, но похоже что контроллер ничего об этом не знает и в итоге пробрасывает стандартный http на соотвествующую поду
это как я понял, потому что если напрямую в порт ингресса постучаться то вебсокет тоже не работает
в итоге перенес логику на самого клиента (поду) - там все равно nginx внутри

Andor
24.08.2018
07:32:57
Сколько у тебя нжинксов?

Nikolai
24.08.2018
07:33:09
дохера ))
вне кластера (условно) идет первый - он принимает соединения на 80 и 443 порты (это вместо LB), дальше идет ингресс-контроллер, который слушает на nodeport (висят соотвествующие сервисы - по сути аналог 80 и 443), дальше ингресс на основании host-заголовка перебрасывает соединение на соотвествующий неймспэйс (поды)
в поде тоже nginx (внутри джанга потому что)

Andor
24.08.2018
07:36:25
Эээ, а нафиг джанге нжинкс?

kvaps
24.08.2018
07:36:27

Nikolai
24.08.2018
07:36:47

Andor
24.08.2018
07:37:01
У тебя статика в том же поде?

Nikolai
24.08.2018
07:37:26
да, только в разных контейнерах - бэк+фронт в одну поду объединены
внутри поды 2 порта - один для бэка (websocket) другой для фронта (nginx)

Andor
24.08.2018
07:38:43
У нас та же херня, правда без вебсокетов

Nikolai
24.08.2018
07:38:55
если подскажите как сделать лучше - с радостью послушаю

Andor
24.08.2018
07:38:57
Всё никак не соберусь распилить

Google

V
24.08.2018
07:38:59
он же рассказал уже
Если pods одинаковые, какая разница, какой из них будет запущен? От замены буквы "A" на букву "A" что-то меняется? =)

Andor
24.08.2018
07:39:40

kvaps
24.08.2018
07:39:48

V
24.08.2018
07:42:14
В теории понятно, что так можно. На практике непонятно

Andor
24.08.2018
07:42:57
Это уже объяснили тоже

Nikolai
24.08.2018
07:42:58
хотя судя по документации - вебсокет должен из коробки работать
https://kubernetes.github.io/ingress-nginx/user-guide/miscellaneous/#websockets

V
24.08.2018
07:43:12

Andor
24.08.2018
07:43:28
Могу кинуть просто слово clickhouse

V
24.08.2018
07:44:42
Это не объясняет необходимость привязки имени пода к имени хранилища, с учетом идентичности подов =) Ну, знаешь, из разряда "Почему самолеты летают? - Потому что они не круглые"

Эдуард
24.08.2018
07:44:50

Andor
24.08.2018
07:46:06

Andrey
24.08.2018
07:46:23

V
24.08.2018
07:47:15
ReadWriteMany?
Ммм...Передеплоили поды на двух нодах, под-1 с ноды-1 переехал на ноду-2, и под-2 с ноды-2 - на ноду-1. При этом "под-1 === под-2". Кажется, что тип доступа пока ничего не прояснил =)
Откуда ты взял про "идентичность подов"? У них имена же разные
Я специально спрашивал у автора топика, могут ли быть поды различными в рамках StatefullSet. Он сказал, что только в случае разности версий (типа когда обновляешь образ). А автор как раз использует StatefullSet для запуска подов (см. выше)
Т. е. в общем случае у него поды идентичны

Andor
24.08.2018
07:49:49
Однообразны но не идентичны
Под ch-1 нельзя запускать с двнными от ch-2

V
24.08.2018
07:50:22

Andor
24.08.2018
08:00:03
Сказали же что кликхаус

Google

Andor
24.08.2018
08:03:48
Кстати к вопросу о джанге, вот у меня сейчас есть деплоймент с кучей подов внутри, я хочу их разделись на два деплоймента (?) с разным количеством реплик, но надо как-то контролировать что версии будут одинаковые
Есть ли что-нибудь готовое для такого?
Конкретно: хочу разделить джангу и статику в разные репликасеты, статике больше replicas=2 нет смысла, а саму джангу надо больше

Andrey
24.08.2018
08:06:57
Таже фигня с пыхой. Можно сделать общий values для двух чартов с тэгом image

Let Eat
24.08.2018
08:07:09

Andor
24.08.2018
08:07:32
Ну и у нас нет хельма

Andrey
24.08.2018
08:08:03
Ну это как с тем же kube-prometheus, там релиз сразу всего

Let Eat
24.08.2018
08:08:20

Dmitry
24.08.2018
08:08:33
Добрый день ребят

Andrey
24.08.2018
08:08:39
Общий values над всеми и в global секцию запихнуть версию

Dmitry
24.08.2018
08:08:40
вопрос есть)

Andor
24.08.2018
08:08:58

Эдуард
24.08.2018
08:09:10

Dmitry
24.08.2018
08:09:19
не могу добавить ноды в кубер) пишет
[kubelet-check] The HTTP call equal to 'curl -sSL http://localhost:10248/healthz' failed with error: Get http://localhost:10248/healthz: dial tcp [::1]:10248: connect: connection refused.
error uploading crisocket: timed out waiting for the condition

Эдуард
24.08.2018
08:09:24

Dmitry
24.08.2018
08:09:30
[WARNING CRI]: unable to check if the container runtime at "/run/dockershim.sock" is running: exit status 1