
Andor
21.05.2018
19:05:03
можно ещё трейсинг включать на полную катушку перед/после деплоя

Vladimir
21.05.2018
19:05:26
или вообще там 1% процент машин в кластере обвешан им

Google

Alex Milushev
21.05.2018
19:14:02
Вопрос, а можно как-то равномерно размазать поды в деплойменте по failure domains?

Dmitry
21.05.2018
20:53:32
Всем привет. Подскажите, пожалуйста, какие есть бенчмарки для проведения нагрузочного тестирования контейнеров в кубике? Нужно сделать связку с Hora, может делал кто?

Dmitrii <freehck>
21.05.2018
22:35:56
Вопрос. Изнутри контейнера не могу установить внешнего соединения никуда. Стоит calico. Pod контейнера в неймспейсе default. Куда смотреть, подскажите пожалуйста.
В документации кубера сказано, что по умолчанию поды должны принимать любые входящие и мочь создавать любые исходящие соединения. Почему у меня это не так — очень любопытно. K8s кстати 1.10.

Andor
21.05.2018
22:36:24
фсеть

Dmitrii <freehck>
21.05.2018
22:48:34
Может быть default namespace имеет какие-то особенные networking policies?

Andor
21.05.2018
22:48:51
кто ж тебя знает

Alexey
21.05.2018
22:53:44

Dmitrii <freehck>
21.05.2018
22:55:46
https://docs.projectcalico.org/v2.0/usage/configuration/
Смотрю на параметр DefaultEndpointToHostAction. Хочу уточнить у знающих людей: надо ли мне понимать его документацию как "calico по умолчанию блокирует весь трафик по направлению от пода к хосту"?

Nick
22.05.2018
00:43:58
Коллеги, чтот затупил с k8s.
Создал сервисы grafana и influxdb в namespace kube-system.
Хочу в grafan’e прописать data source -> influxdb, но туплю по какому dns имени обратится.

Konstantin
22.05.2018
00:59:58

Fike
22.05.2018
01:06:46

Nick
22.05.2018
01:08:52

Google

Nick
22.05.2018
01:10:15
Хм а public hosted zone влияет на это? Хотя я и через паблик пробовал…

Konstantin
22.05.2018
01:11:05
cluster.local - это по умолчанию. При развёртывании сетевого стека может быть изменено. Попробуй резолвить с хоста dig @kube-dns-ip svc.cluster.local
Что возвращает kubectl get --all-namespaces pod kube-dns -o yaml?

Nick
22.05.2018
01:17:11
с этим проще) а то dig нигде не стоит)
kubectl get --all-namespaces pod -o yaml -l k8s-app=kube-dns
вот так выдаст портянку. Из интересного
spec:
containers:
- args:
- --domain=cluster.local.
- --dns-port=10053
- --config-dir=/kube-dns-config
- --v=2

Konstantin
22.05.2018
01:27:53

Nick
22.05.2018
01:28:39
я с мастера проверяю или тоже может не канать?

Konstantin
22.05.2018
01:29:25
cat /etc/resolv.conf на мастере

Nick
22.05.2018
01:31:19
domain us-east-2.compute.internal
search us-east-2.compute.internal
nameserver 172.20.0.2

Konstantin
22.05.2018
01:33:15
Не канает. Та команда dig, что я кинул выше, будет работать. Надо переопределять ip dns-серверов. Тогда будет работать

Nick
22.05.2018
01:34:21
хм…как-то это явно из доков не вычитал, что ns работаето только pod<->pod. Думал оно прозрачно для всего кластера.
Ок, спс. Буду тыкаться изнутри пода

Konstantin
22.05.2018
01:35:53

Nick
22.05.2018
01:37:05
@kgubaev Посмотрел resolv.conf на нодах, такой же как на мастере
Что в принципе по моей идеи)) должно быть правильно, чтобы они друг друга по dns видели
но это никак не помогло проблеме =/ х3 чет не то с DNS внутри чтоле…
в графану же через прокси заходит - значит как-то оно работает

Konstantin
22.05.2018
01:57:30
Если из подов резолвится, то не в DNS проблема

Nick
22.05.2018
01:59:56

Google

Nick
22.05.2018
02:02:10
вообще в resolv.conf этот адрес 172.20.0.2 не пойму откуда. Может из-за этого проблема.

Konstantin
22.05.2018
02:03:20
Это Amazon прописывает. В подах другие dns. Они не имеют отношения к dns хоста

Nick
22.05.2018
02:03:52
Дык в подах в resolv.conf тоже самое

Konstantin
22.05.2018
02:06:01
Понял. У тебя --net=host используется. Тогда он не изолирует сетевой стек, а запускает под на стеке хоста

Nick
22.05.2018
02:08:02
это где такое?

Konstantin
22.05.2018
02:10:54
spec:
hostNetwork: true
https://github.com/kubernetes/kubernetes/issues/56934

Nick
22.05.2018
02:14:13
Для этого этот параметр надо явно указать при деплойменте сервиса.

Konstantin
22.05.2018
02:15:33

Nick
22.05.2018
02:16:36
я такое специально не прописывал, но сейчас проверю
Нет. Конфиг нода минимальный.
Вроде кластер то пустой, только сделаный и конфиги все дефолтные. Поидеи графану каждые первый ставит…

Konstantin
22.05.2018
02:59:43
Дык в подах в resolv.conf тоже самое
Должно быть что-то такое
$ kubectl exec -it gitlab-gitlab-runner-7584cf57fc-f94ks -- cat /etc/resolv.conf
nameserver 10.96.0.10a
search default.svc.cluster.local svc.cluster.local cluster.local lan
options ndots:5

Nick
22.05.2018
03:00:59
сделал несколько тестовых POD в дефолтом namespace - они работают. Может с настройкой Service или Deployment что-то не то =/
@kgubaev удалил и перенес все в новый namespace. Там все заработало в виде monitoring-influxdb.monitoring.svc
Не все конечно))) но графана бд от influxdb по dns подцепила)
Еще заметил багу раз через раз при выполенении kubectl exec -it busybox — bash вылетает по таймауту с “ read: connection reset by peer”

Konstantin
22.05.2018
04:11:00

Nick
22.05.2018
04:28:32
Вот не знаю. Вроде в дашборде перезагрузок нет. =/

Dmitriy
22.05.2018
04:45:50
kubectl get pods и посмотри колонку restarts
Всем привет

Google

Nick
22.05.2018
05:15:30
Да я понимаю. Два рестарта на 20-30 ошибок - не похоже что связано.
Если вдруг кто логи чата читает. Для помощь в разборках с DNS можно почитать вот такую доку
https://kubernetes.io/docs/tasks/administer-cluster/dns-debugging-resolution/

Александр
22.05.2018
06:51:16

Banschikov
22.05.2018
06:51:51
Добрый день! Наверное много раз уже данный вопрос поднимался в этом чате... Подскажите, чем мониторите кластер k8s ? Помимо prometheus operator, конечно

Andor
22.05.2018
06:53:15
Некропостеры

Dmitrii <freehck>
22.05.2018
07:08:00

Александр
22.05.2018
08:37:47

Dmitriy
22.05.2018
09:05:08
100% я не первый, но все же - что использовать в качестве ingress лоадбалансера (прокси) на своем железе?

Stanislav
22.05.2018
09:12:47

Dmitriy
22.05.2018
09:13:18
Просто proxy_pass на нодепорт?

Stanislav
22.05.2018
09:13:32
Нет, nginx-ingress
ставить надо

Dmitriy
22.05.2018
09:14:16
Хм... Почему бы и не nginx, как простой proxy_pass... Попробую. Спасибо за мысль.

Stanislav
22.05.2018
09:14:41

Dmitriy
22.05.2018
09:15:38
У меня внутри есть nginx, в котором есть кучка логики. Нет смысла городить огород из ingress и правил. Все уже внутри.
По идее должно получиться нормально.

Andor
22.05.2018
09:15:56
очень прикольно читать про "простой proxy_pass" имея в соседней вкладке браузера открытый шаблон конфига nginx-ingress

Dmitriy
22.05.2018
09:16:13
Это для дева в офисе. Тут не критично использовать узкозаточенное.

Andor
22.05.2018
09:18:01
Что "это"?

Google

Konstantin
22.05.2018
09:22:16
я немного не понял причем тут ингресс. вопрос же про использование nginx в роли внешнего балансировщика при service.type=LoadBalancer, так ведь? просто ингресс это ингресс, а балансировщик он немного снаружи и к ингрессу непонятно каким боком
ну и да, насколько я помню использование в роли LoadBalancer своего nginx не предусмотрено, оно только с облаками дружит. но можно свой nginx поставить перед ингрессом для того чтобы не отваливался ингресс при смене айпишника. это наверняка можно провернуть

Dmitriy
22.05.2018
09:29:00
Вот я про свой Nginx и говорю в связке с NodePort. Должно помочь. В проде будет внешний LB.

Stanislav
22.05.2018
09:29:14
Кто знает как в Helm подсасывать переменные из bash, за исключением передавать их как аргументы? Чтото типа {{ env $ZALUPA }}

Valentin
22.05.2018
09:30:19
{{.Env.ZALUPA}} так вроде, но это неточно

Stanislav
22.05.2018
09:30:51

Valentin
22.05.2018
09:31:28
или так {{.Values.env.ZALUPA}}

Stanislav
22.05.2018
09:32:09
Ни то ни другое, ни env ни Env, не работает(

Vladimir
22.05.2018
09:32:28

Konstantin
22.05.2018
09:32:28
{{.Env.ZALUPA}} так вроде, но это неточно
не могу промолчать и не сказать что это не так чтобы правильно. лучше —set, ну или из файликов добавлять, тоже вполне удобно. а по теме нет, не использовал, не знаю

Valentin
22.05.2018
09:34:35
.Values.ContainerSpec.Env.ZALUPA

Stanislav
22.05.2018
09:38:40

Valentin
22.05.2018
09:39:11
не думаю, что это возможно

Stanislav
22.05.2018
09:40:43
Печалька(
Подсказали такую штуку, юзал кто?
https://github.com/roboll/helmfile

Valentin
22.05.2018
09:44:37
учитывая, что переменные контейнера можно юзать в чарте, они разруливаются уже тиллером на сервере, а он ничего не знает об окружении клиента, где был запущен хелм.... ИМХО