@kubernetes_ru

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

И стектрейс длинный предлинный

Andor
23.08.2018
18:22:04
забавно

зарепортил?

Google
kvaps
23.08.2018
18:24:43
(прочитав весь тред). У вас локальные диски? Пометьте каждую ноду лейблом kubernetes.io/failure-domain=имя ноды, тогда PV тоже будут с тем же лейблом и тогда куб сам запустит что где надо
Интересное решение, но все же local volumes c nodeAffinity для этого подходят больше, т.к. не нарушают шедулинг для остальных подов

и опять же, если снести ноду снесется и failure-domain, или я чего-то не понимаю

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

Let Eat
23.08.2018
18:28:04
Интересное решение, но все же local volumes c nodeAffinity для этого подходят больше, т.к. не нарушают шедулинг для остальных подов
Локал вольюмы вообще без nodeAffinity живут? Для них и придумали же кажется. Но вот не сработало ж

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
Блин и без них local volume должен правильный находиться. Точно был спец случай где то, когда их ввели
Вот нашел, checkNodeAffinity в pkg/volume/until/.../operation_generator.go там даже проверка на фичу PersistentLocalVolumes

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

Let Eat
23.08.2018
18:32:58
@rossmohax я ес честно вообще не совсем понимаю зачем их придумали, nodeAffinity и для hostPath прекрассно работает, а по сути local volume это тот же hostPath только с type: Directory
Что б provisioner работал (ну скажем lvm создать) и чтобы через pvc ходить (а значит и контроль доступа по namespace). hostPath это дикий запад

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

Let Eat
23.08.2018
18:33:34
живут, ниче не знаю у меня прекрассно работает
Тот кто создаёт PV должен прописать nodeAffinity иначе как жить то?

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

Let Eat
23.08.2018
18:34:19
lvm и как hostPath можно создать
Только руками, а с Local volume динамически.

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
Он же ещё не в дефолте
не, тот local volume провижионер вполне работает, я провреял

создаешь volume маунтишь его в директорию, в кубе local volume появляется

и там именно local а не hostPath

Mikhail
23.08.2018
19:26:08
Всем привет! Наверняка этот вопрос задавали кучу раз. Есть толковый гайд как поднять мультимастер? На kubernetes.io инструкция с kubeadm, но какое-то время назад в доке было написано, что он не продакшен реди и его можно юзать только в обучающих целях.
Правильный путь, по-моему лично мнению, это прочитать эту доку и понять подходит вам это или нет. Крутить куб в проде не понимая что да как, подняв его по гайду в интернете путь боли :)

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/

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
Никто вольюмы под конкретное приложение не шифровал? Ещё не разбирался, но есть подозрения, что keyring в ядре вообще про контейнеры ничего не знает и меня ждёт много веселья :) буду пробовать ecryptfs, но может кто по граблям уже прошёлся?
Я не шифровал, но имел некий опыт с форматированием вручную, могу сказать точно, если для отформатированного таким образом волума сработает mount <volume> <somewhere>, то работать так же будет и для контейнера

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" что-то меняется? =)

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
Это не объясняет необходимость привязки имени пода к имени хранилища, с учетом идентичности подов =) Ну, знаешь, из разряда "Почему самолеты летают? - Потому что они не круглые"

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
Потому что каждый под это часть шарда/реплики. Их данные нельзя мешать
Ах вот оно! MongoDB или аналог? Вопрос исчерпан =) Спасибо

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
так как все волумы маунтятся сначала на хосте, а уже потом пробрасываются в контейнер
наверное сработает, надо только придумать как секреты пода в маунтер прокинуть, у CSI что-то было.

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

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

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
Общий values над всеми и в global секцию запихнуть версию
Вопрос в роллбеке если один из деплойментов зафейлит

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
У меня не local volume
я предложил без крови

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

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