Artem
?
kay
а конкретнее?
Artem
я хочу поставить client_max_body_size как тут https://github.com/nginxinc/kubernetes-ingress/tree/master/examples/customization но не понимаю как их применить
kay
см выше
kay
я час назад об этом писал
Artem
сории просмотрел
Artem
пасиб
Artem
это на мастере делать?
kay
это в кластере делать
Artem
спс
kay
если кратко, то создается конфигмап, на него натравливается nginx ingres контроллер, и контроллер уже мониторить этот конфигмап на предмет знакомых слов
Anonymous
уже неделю вожусь над тем, чтобы правильно логи наблюдать во всем кластере
мне не наплевать, я тут уже неделю ною "кто как мониторит" - все на прометеус показывают пальцем, типа "иди и собери сам себе готовое решение из палок и ниток" )
Anonymous
так что юзкейсы готовые если будут то давай обмениваться...
kay
не надо путать логи и мониторинг
Anonymous
не, ну я понимаю что это разные вещи
Anonymous
мне-то именно события системы надо наблюдать
Anonymous
типа "деплой не удался" и тп
a1ch3m
Вклинюсь немного: Подскажите пожалуйста, есть ли какой-то адекватный способ обновления k8s? Или только руками каждый инстанс?
Dmitry
Хипстером мониторишь ноды, fluentd для логов подов
yolkov
смотря как кластер собран, у меня через докер образы, и нужно обновить только kubelet и то это можно делать не сразу, т.к. старые версии kubelet нормально поднимают новые докер образы
a1ch3m
У меня на aws поднят, пока не вышли в продакшн можно было просто down/up на новую версию, но теперь нужно как-то подумать как обновляться без даунтайма
yolkov
там просто бинари запущены?
a1ch3m
через KUBERNETES_PROVIDER=aws ./kubernetes/cluster/kube-up.sh устанавливал
Zon
Я тут ворвусь немного, кто использует персистент вольюмз, у вас сильно болит или работает как часы?
a1ch3m
Я использую на aws, работает как часы, прбовал даже полностью удалять кластер, а затем снова поднимать его - все подхватывается, проблем нет.
Zon
добро! а на гце есть у кого опыт?
Etki
на гце просто поднимал, длительного опыта не было. но там тоже можно их увидеть живьем в админке.
Zon
как быстро переносятся, если хост дрейнишь?
a1ch3m
Кстати, использую в работе weavescope, очень рекомендую, очень удобно, рекомендую для мониторинга, визуализации и быстрого доступа к консоли самих докер-образов, ускоряет процесс отладки значительно
M
А кто в кубике отвечет за именования репликосетов ? у меня он при накате новой версии почему то хочет взять имя, которое уже использовал шестью часами ранее 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
M
удаляю старый репликасет и все деплоится
Zon
не было такого опыта :\
Всего одна команда:)
Anonymous
добро! а на гце есть у кого опыт?
была бага с проблемой доступа при переносе хоста (грубо говоря - надо было подождать около 5 секунд чтобы гугль понял что вольюм уже ничей иначе под падал), но вроде собирались пофиксить - сори не проверял и ишьюсу не помню
Artem
есть у кого то ман как правильно подключить и настроить nginx ingress controller?
Anonymous
а почему etcd везде (в мануалах и тп) надо скачивать руками а не доставлять средствами ос (ну там убунту/дебиан - apt-get и тп)? какая-то best practices или людям просто в манах неохота заморачиваться разными версиями менеджеров пакетов под разные оси?
Anonymous
@a_hillo в официальной документации непонятно че-то? мне вот тоже, пару раз прочитал и плюнул, решил подождать когда хаоса меньше будет :)
Artem
@vkfont ахах) ну оно как бы понятно, но чет вообще ничего не работает))
Anonymous
ну я тугодум, да :)
kay
а что не с так с этими контроллерами?
Artem
последнее что я пытался сделать это поднять его мо этому ману https://github.com/nginxinc/kubernetes-ingress/tree/master/nginx-controller и он создается и вроде раработает, но как сделать чтобы все через него шло и проверить что все ок, не понимаю
Dmitry
Через час расскажу. Вчера как раз поднял
Artem
Буду очень признателен)
kay
не понимаю как ты к этой ссылке пришел?
kay
https://github.com/kubernetes/contrib/blob/master/ingress/controllers/nginx/examples/daemonset/as-daemonset.yaml
Artem
@kay_rus оО я его разверну и все? a сам контроллер вот этот брать? https://github.com/kubernetes/contrib/blob/master/ingress/controllers/nginx/examples/default/rc-default.yaml
kay
ну я бы не рекомендовал контроллер
kay
либо daemonset либо deployment
kay
самое главное чтобы порт nginx наружу торчал
Artem
вот я daemonset разверну и этого достаточно? я не понимаю как оно работать будет
kay
daemonset запустит поды nginx на всех нодах (либо по nodelselector)
kay
для них будут маппится 80/443 порты. т.е. больше одного пода на ноду запустить не удасться
kay
в поде сидит nginx-controller и nginx
kay
nginx-controller наблюдает за изменениями в инстансе ingress во всех неймспейсах
kay
и на основе этих изменний формирует nginx конфиг из темплейта /etc/nginx/template/nginx.tmpl
kay
и если что-то изменилось, контроллер делает reload
kay
nginx начинает юзать новый конфиг
kay
так понятнее?
Artem
да, спасибо)
M
@kay_rus вчера переключил на даемонсеты, почти без приключений. вопрос по хелфчеку, у тебя что в этой секции? А то то что в мане традиционно не работает
kay
они там накосячили с портами
kay
то один порты был то второй
M
Судя по комментариям в нгинск конф оно открывает рандомный?
kay
для версии gcr.io/google_containers/nginx-ingress-controller:0.8.3 используется порт 10254
M
Странно он у меня открыл какой 18800, сейчас достану из пода
M
# default server, used for NGINX healthcheck and access to nginx stats server { # Use the port 18080 (random value just to avoid known ports) as default port for nginx. # Changing this value requires a change in: # https://github.com/kubernetes/contrib/blob/master/ingress/controllers/nginx/nginx/command.go#L104 listen 18080 default_server reuseport backlog=511; location /healthz { access_log off; return 200; }
M
при этом в мане про демонсет
M
- image: gcr.io/google_containers/nginx-ingress-controller:0.8.3 name: nginx-ingress-lb imagePullPolicy: Always readinessProbe: httpGet: path: /ingress-controller-healthz port: 80 scheme: HTTP livenessProbe: httpGet: path: /ingress-controller-healthz port: 80 scheme: HTTP initialDelaySeconds: 10 timeoutSeconds: 1
Artem
@kay_rus a чтобы поднять все это дело, надо default-backend поднять и daemonset?
M
# Changing this value requires a change in: # https://github.com/kubernetes/contrib/blob/master/ingress/controllers/nginx/nginx/command.go#L104 // Name returns the healthcheck name func (ngx Manager) Name() string { return "NGINX" }
M
вот как это юзать?)
M
@a_hillo да, сначала запускаешь default-backend а потом стартуешь контроллер
Anonymous
оффтоп: https://github.com/containernetworking/cni пробовал уже кто?
Artem
@exename у меня бекенды стартуются, запускаются и крашаться CrashLoopBackOff и тоже самое с демонсетом, как причину чекнуть?
kay
причина в healthcheck
kay
@exename где именно ты этот рандомный порт увидел?
M
@a_hillo kubectl get ev , kubectl log pod если он какое то время все же запущен
M
@a_hillo попробуй так http://pastebin.com/MbxWrmm6
Artem
ага ща попробую, пасиб