
Alchemist
28.09.2016
09:01:13
Всем добра в этом чате)
#whois
▫️Какой у вас проект или где работаете?
Израильский стартап по очистке ecommerce трафика
▫️В чём вы специалист?
DevOps, sysop, etc. 10+ лет опыта
▫️Чем можете быть интересны или полезны сообществу?
Делиться опытом использования k8s
▫️Чем интересно сообщество вам?
Инетресен опыт использования k8s на высоких нагрузках
▫️Откуда вы?
Израиль
▫️Как узнали про группу?
гугл: telegram kubernetes

M
28.09.2016
09:50:15
чат, а у кого в логах контроллера видно такие ошибки
E0928 09:38:44.970618 1 deployment_controller.go:400] Error syncing deployment static-namespace/static: Operation cannot be fulfilled on deployments.extensions "static": the object has been modified; please apply your changes to the latest version and try again
?
заметил, что у меня kubectl apply не каждый раз выкатывает версию

kay
28.09.2016
09:51:47
немного оффтоп, но кто-нибудь настраивал ingress парсер в fluentd для Kibana?

Google

Alchemist
28.09.2016
09:56:44
@exename c ошибкой не сталкивался, но выкатываю версию не через apply, а через
rolling-update $K8S_RC_NAME --image=$PROJECT_IMAGE --namespace=production --image-pull-policy=IfNotPresent --update-period=0s

M
28.09.2016
09:57:08
ну это для rc

Artem
28.09.2016
12:31:47
как правильно увеличить client_max_body_size для nginx

kay
28.09.2016
12:32:20
cat nginx_extra_conf.yaml
apiVersion: v1
metadata:
name: nginx-ingress-controller
data:
body-size: "4G"
kind: ConfigMap
$ cat ingress_daemonset.yaml | grep -C1 nginx-ingress-controller
args:
- /nginx-ingress-controller
- --default-backend-service=$(POD_NAMESPACE)/default-http-backend
- --nginx-configmap=$(POD_NAMESPACE)/nginx-ingress-controller

M
28.09.2016
14:37:28
@kay_rus а ты случайно не настроил ингресс так, чтобы он видел реальные айпи клиентов?

kay
28.09.2016
14:37:47
хм. а он у меня их види по дефолту

M
28.09.2016
14:38:27
странно, у меня в логах были исключительно внутренние айпи докера
или как ты запускаешь поды?

kay
28.09.2016
14:39:25
какой ингресс используешь*

M
28.09.2016
14:39:39
nginx controller, можно твой манифест посмотреть?

kay
28.09.2016
14:40:02
у меня вот gcr.io/google_containers/nginx-ingress-controller:0.8.3

M
28.09.2016
14:40:19
ну и я его юзал

Google

kay
28.09.2016
14:40:29
покажи логи

M
28.09.2016
14:41:26
я его сейчас опустил

kay
28.09.2016
14:41:39
У меня вот так логи выглядят:
76.72.167.90 - [76.72.167.90] - - [28/Sep/2016:14:41:01 +0000] "GET / HTTP/1.1" 200 4199 "-" "Pingdom.com_bot_version_1.4_(http://www.pingdom.com/)" 168 0.004 10.64.62.3:8000 14770 0.004 200

M
28.09.2016
14:41:48
но там как адрес клиента логгировался айпи докера
а на чем ты поднял кубер?

kay
28.09.2016
14:43:20
голое железо

M
28.09.2016
14:43:30
ось какая?

kay
28.09.2016
14:43:33
ubuntu
ставилось ансамблем

M
28.09.2016
14:46:58
а манифест для контроллера ты брал стандартный из доки?

kay
28.09.2016
14:47:05
да
daemonset
который слушает hostPost 80/443
т.е. nginx видит реальные запросы

M
28.09.2016
14:48:44
пасиб, видимо этот момент я упустил, нужно было через daemonset сделать
я поднял через rc

kay
28.09.2016
14:48:57
ясно
я очень удивлен тем, что community совершенно плевать на логи в kubernetes.
и прочий ELK stack
информации практически ноль, конфиги устаревшие, и прочие радости

Google

kay
28.09.2016
14:50:39
уже неделю вожусь над тем, чтобы правильно логи наблюдать во всем кластере

yolkov
28.09.2016
14:51:20
“правильно” у всех разное

kay
28.09.2016
14:51:32
да банальный nginx
ingress
изкоробки решение вообще не работает
логи не парсятся
плагин fluentd для kubenretes вообще не используется
ELK построен на устаревших replication controller'ах

Artem
28.09.2016
15:17:15
как обновить конфиги с nginx
?

kay
28.09.2016
15:17:27
а конкретнее?

Artem
28.09.2016
15:18:44
я хочу поставить client_max_body_size как тут https://github.com/nginxinc/kubernetes-ingress/tree/master/examples/customization но не понимаю как их применить

kay
28.09.2016
15:19:02
см выше
я час назад об этом писал

Artem
28.09.2016
15:19:26
сории просмотрел
пасиб
это на мастере делать?

kay
28.09.2016
15:20:27
это в кластере делать

Artem
28.09.2016
15:20:44
спс

kay
28.09.2016
15:21:26
если кратко, то создается конфигмап, на него натравливается nginx ingres контроллер, и контроллер уже мониторить этот конфигмап на предмет знакомых слов

Google

Andrey
28.09.2016
15:36:53
так что юзкейсы готовые если будут то давай обмениваться...

kay
28.09.2016
15:38:15
не надо путать логи и мониторинг

Andrey
28.09.2016
15:38:35
не, ну я понимаю что это разные вещи
мне-то именно события системы надо наблюдать
типа "деплой не удался" и тп

Alchemist
28.09.2016
15:40:27
Вклинюсь немного:
Подскажите пожалуйста, есть ли какой-то адекватный способ обновления k8s? Или только руками каждый инстанс?

Dmitry
28.09.2016
15:42:14
Хипстером мониторишь ноды, fluentd для логов подов

yolkov
28.09.2016
15:57:28
смотря как кластер собран, у меня через докер образы, и нужно обновить только kubelet и то это можно делать не сразу, т.к. старые версии kubelet нормально поднимают новые докер образы

Alchemist
28.09.2016
15:59:01
У меня на aws поднят, пока не вышли в продакшн можно было просто down/up на новую версию, но теперь нужно как-то подумать как обновляться без даунтайма

Admin
ERROR: S client not available

yolkov
28.09.2016
16:00:40
там просто бинари запущены?

Alchemist
28.09.2016
16:03:11
через
KUBERNETES_PROVIDER=aws ./kubernetes/cluster/kube-up.sh
устанавливал

Zon
28.09.2016
16:22:46
Я тут ворвусь немного, кто использует персистент вольюмз, у вас сильно болит или работает как часы?

Alchemist
28.09.2016
16:26:37
Я использую на aws, работает как часы, прбовал даже полностью удалять кластер, а затем снова поднимать его - все подхватывается, проблем нет.

Zon
28.09.2016
16:28:26
добро! а на гце есть у кого опыт?

Fike
28.09.2016
16:29:21
на гце просто поднимал, длительного опыта не было. но там тоже можно их увидеть живьем в админке.

Zon
28.09.2016
16:32:31
как быстро переносятся, если хост дрейнишь?

Alchemist
28.09.2016
16:32:36
Кстати, использую в работе weavescope, очень рекомендую, очень удобно, рекомендую для мониторинга, визуализации и быстрого доступа к консоли самих докер-образов, ускоряет процесс отладки значительно

Fike
28.09.2016
16:33:22

Google

M
28.09.2016
16:37:10
А кто в кубике отвечет за именования репликосетов ? у меня он при накате новой версии почему то хочет взять имя, которое уже использовал шестью часами ранее
E0928 16:33:18.009478 1 deployment_controller.go:400] Error syncing deployment default/rs_name: error creating replica set rs_name: replicasets "rs_name-3222327097" already exists
удаляю старый репликасет и все деплоится

Zon
28.09.2016
16:39:46

Andrey
29.09.2016
05:42:36
добро! а на гце есть у кого опыт?
была бага с проблемой доступа при переносе хоста (грубо говоря - надо было подождать около 5 секунд чтобы гугль понял что вольюм уже ничей иначе под падал), но вроде собирались пофиксить - сори не проверял и ишьюсу не помню

Zon
29.09.2016
05:54:27

Artem
29.09.2016
07:40:33
есть у кого то ман как правильно подключить и настроить nginx ingress controller?

Andrey
29.09.2016
08:08:16
а почему etcd везде (в мануалах и тп) надо скачивать руками а не доставлять средствами ос (ну там убунту/дебиан - apt-get и тп)? какая-то best practices или людям просто в манах неохота заморачиваться разными версиями менеджеров пакетов под разные оси?
@a_hillo в официальной документации непонятно че-то? мне вот тоже, пару раз прочитал и плюнул, решил подождать когда хаоса меньше будет :)

Artem
29.09.2016
08:10:57
@vkfont ахах) ну оно как бы понятно, но чет вообще ничего не работает))

Andrey
29.09.2016
08:12:23
ну я тугодум, да :)

kay
29.09.2016
08:12:46
а что не с так с этими контроллерами?

Artem
29.09.2016
08:15:58
последнее что я пытался сделать это поднять его мо этому ману https://github.com/nginxinc/kubernetes-ingress/tree/master/nginx-controller и он создается и вроде раработает, но как сделать чтобы все через него шло и проверить что все ок, не понимаю

Dmitry
29.09.2016
08:19:33
Через час расскажу. Вчера как раз поднял

Artem
29.09.2016
08:20:41
Буду очень признателен)

kay
29.09.2016
08:20:59
не понимаю как ты к этой ссылке пришел?
https://github.com/kubernetes/contrib/blob/master/ingress/controllers/nginx/examples/daemonset/as-daemonset.yaml

Artem
29.09.2016
08:29:49
@kay_rus оО я его разверну и все? a сам контроллер вот этот брать? https://github.com/kubernetes/contrib/blob/master/ingress/controllers/nginx/examples/default/rc-default.yaml

kay
29.09.2016
08:30:06
ну я бы не рекомендовал контроллер
либо daemonset либо deployment
самое главное чтобы порт nginx наружу торчал

Artem
29.09.2016
08:32:17
вот я daemonset разверну и этого достаточно? я не понимаю как оно работать будет

kay
29.09.2016
08:38:39
daemonset запустит поды nginx на всех нодах (либо по nodelselector)
для них будут маппится 80/443 порты. т.е. больше одного пода на ноду запустить не удасться