Slach
Так живите со stateful в чем сложность?
Stateful на bare metal как сделать нормальный StorageClass чтобы были Volumes с минимальным оверхедом?
Slach
Доброе утро всем, а подскажите пожалуйста где работает kubelet в AWS и GCE ? т.е. это получается запуск Docker внутри виртуалки запускается? и на каждой ноде кластера стоит еще etcd? И есть ли у кого то в этом чате кто делал гибридный кластер на GCE + bare metal?
Vlad
О, в новый docker edge for mac завезли kubernetes. Minicube можно отправлять в отставку
Slach
речь о federation ?
да, похоже это оно ок. да речь идет о federated clusters - hybrid cloud вот я правильно понял что всякие там AWS ECSэто просто обычные EC2 в которых уже Docker есть и этим Docker можно рулить через AWS API ? вокруг которого уже идет абстракция и что k8s в этом случае ставит просто kubelet прямо внутрь этого самого EC2 ? и аналогично с Goolge GCE?
Maksim
Привет. Meltdown нас поразил) ни ктотне обратил внимание на падение производительности?
Andrey
Привет. Meltdown нас поразил) ни ктотне обратил внимание на падение производительности?
Обновил на 3х серверах online.net ядро вчера (как они его выпустили и отмылили) - за сутки пока не вижу разницы
Serega
так чтобы заметить разницу нужно бенчмаки до и после делать.
Serega
@BloodJazMan ECS выносит на свалку истории. Не советую смотреть. Они ведь не просто так тоже хостед кубернетес пилят. (да, это обычные ec2 виртуалки с докером и амазоновским шудулером) Ну и исходя из ваших вопросов, я очень сомневаюсь что вам нужен cluster federation. К тому же как по мне он еще не зрел. (GKE его не поддерживает тоже).
Andrey
так чтобы заметить разницу нужно бенчмаки до и после делать.
Именно это и мерил, там сборка ci у нас, скорость реально та же (в пределах погрешности)
Pavel
По поводу снижения производительности на амазоне
Pavel
А вот так выглядит устранение Амазоном этих уязвимостей. Сегодня они выкатили обновление на гипервизорах. Также выглядят графики у знакомых. Они уточняли у Амазона, и Амазон подтвердил причину.
Etki
ребят, может хотя бы здесь устроим meltdown-free зону?
Slach
@BloodJazMan ECS выносит на свалку истории. Не советую смотреть. Они ведь не просто так тоже хостед кубернетес пилят. (да, это обычные ec2 виртуалки с докером и амазоновским шудулером) Ну и исходя из ваших вопросов, я очень сомневаюсь что вам нужен cluster federation. К тому же как по мне он еще не зрел. (GKE его не поддерживает тоже).
спасибо за ответы я хочу понять реально ли используя только k8s поднять какое то гибридное облако в котором железное ядро и которое может сделать autoscale в публичных облаках в случае необходимости судя по вашим ответам, получается что пока это все сильно незрелое =( и best practices не выработано, спасибо еще раз
Ivan
Всем привет! Подскажите, как правильно передать в контейнер в кубернете реальный айпишник клиента? У меня контейнер сейчас получает либо айпишник из подсетки подов, либо айпишник соседних нод. Сетка на фланеле, настройки - "Backend": "Type": "host-gw"
Slach
хм а бекенд на чем написан? и как общается ? HTTP ?
Ivan
да, пхп и нжинкс
Alex
В x forvarded for смотришь?
Slach
nginx в ingress? X-Real-IP X-Forwared-For http://nginx.org/ru/docs/http/ngx_http_realip_module.html#real_ip_header
Ivan
нет, нжинкс просто как отдельный контейнер, X-Real-IP не помог поотму что в нжинкс приходит уже левый айпишник и его бессмысленно передавать в заголовке
Ivan
я подозреваю, что надо копать с торону настроек фланнел или сетки кубернета, но пока не понимаю, как сформулировать запрос в гугле))
Slach
ну как бы nginx тут выглядит лишним как контейнер в поде и если ты чреез проброс порта на nginx трафик заводишь то тоже не очень хорошо это все
Slach
настройки flannel лежат в другой плоскости
Slach
IMHO ты должен понять как на уровне TCP (не HTTP) у тебя данные во flannel ходят и где что преобразоывается через всякие там PAT\NAT и т.п. т.е. вот пришел пакет TCP из внешей публичной сети что дальше с ним происходит от кого к кому он пуляется и как преобразоываается пока дойдет до контейнера в твоем кластере когда поймешь, сразу все проблемы решается =)
Bsod
лоадбалансер/ингресс контроллер
Ivan
нжинкс это обязательный элемент - через него на сайте отдаётся статика. у контейнера с нжинкс выброшен порт в режиме NodePort т.е. траффик, который приходит на айпишник любой ноды на 80 порт отправляется в этот контейнер. какой путь проходят пакеты в этой цепочке - я не знаю и пока не представляю, как выяснить. подозреваю, что в процессе передачи траффика участвуют kube-proxy. запрос я отправляю напрямую на айпишник ноды на 80 порт. в логах нжинк при этом падает лог с айпишником из сетки подов
Terry
А тем временем, в Docker for Mac версии 17.12 CE Edge завезли поддержку Kubernetes. https://goo.gl/wCdKfz P.S. Переключится на Edge версию можно в настройках докера.
G72K
в Service с NodePort
Anonymous
ну что, кто уже на istio пересел, давайте делиться болью :)
Aleksandr
Istio больше чем в одном неймспейсе уже может работать?
Anonymous
угу, щас ставится в отдельный неймспейс по типу deis и всяких таких
G72K
ну что, кто уже на istio пересел, давайте делиться болью :)
ставьте-ставьте, к концу 2018 отловите все баги, тогда и я перейду)
Anonymous
ну да, на текущий момент там порядочно много магии… но в целом если есть время свободное то на стажинге потыркаться довольно интересно
Slach
а как все таки правильно с логами жить в kubernetes? выводить логи в JSON? или обычный stderr + stdout будет нормально? приложения на golang
Slach
а как все таки правильно с логами жить в kubernetes? выводить логи в JSON? или обычный stderr + stdout будет нормально? приложения на golang
О! оказывается все уже продумано за нас, прекрасно https://github.com/kubernetes/kubernetes/issues/15795 так что все таки проще выводить в JSON
Anonymous
а как все таки правильно с логами жить в kubernetes? выводить логи в JSON? или обычный stderr + stdout будет нормально? приложения на golang
ну если вкратце то json в случае когда вы хотите собирать автоматизированными системами в одно место, и как обычно если не дозрели до этого у меня есть отдельная переменная окружения для этого: локально и на машинах тестировщиках логи выводятся строками читаемыми, когда в кластере то пакуются в json тут тоже куча подводных камней... к примеру, на ранней стадии продакшна (как у меня) я не вижу смысла логи собирать (то есть у меня был стек ELK куда все складировалось, но это нафиг никому не вперлось и я отключил чтоб ресурсы не тратить) лайфках: если неохота возиться а инфу со всех подов видеть охота рекомендую для начала попробовать утилиту stern
Anonymous
> выводить логи в JSON? > или обычный stderr + stdout будет нормально? вообще если руководстоваться 12fa то все логи должны идти в stdout/stderr, то есть приложение не должно знать о каких-то внешних системах логгирования - задача fluentd и им подобных собирать логи и обрабатывать... ну а там зависит только от правил которые вы настроите: json проще собирать без правил (тупо берем строку и посылаем куда надо), но не всегда это доступно (как бы разработчик ни старался приложение может плюнуть стектрейсом, или просто в приложении нет доступа к формату логов) и приходится регулярки создавать - я к тому что и то, и то придется делать
Anonymous
1) создаю деплоймент который отвечает по grpc протоколу 2) создаю для него сервис: - при подключении через сервис не пускает (helloworld.default.svc.cluster.local) - подключение напрямую проходит без проблем (kubectl get endpoints helloworld) код сервиса: apiVersion: v1 kind: Service metadata: labels: app: helloworld name: helloworld spec: ports: - port: 80 name: grpc-helloworld protocol: TCP targetPort: 8081 selector: app: helloworld какую хрень я упустил? есть какая-то специфика роутинга http2 в кубере? L4 сервис насколько я понимаю не должен влиять (UPD: забейте, где-то в другом месте накосячил, UPD2: нашел косяк, точно я был, все норм с L4 :)
bebebe
`ster`+
Slach
> для начала попробовать утилиту stern https://github.com/wercker/stern ага, спасибо вроде весьма полезно =)
Serega
спасибо за ответы я хочу понять реально ли используя только k8s поднять какое то гибридное облако в котором железное ядро и которое может сделать autoscale в публичных облаках в случае необходимости судя по вашим ответам, получается что пока это все сильно незрелое =( и best practices не выработано, спасибо еще раз
реально сделать все что угодно, вопрос в ресурсах. Для отдельно взятой средней конторы организация и поддержка такой схемы становится неоправданно дорогой (имхо). Кроме того в случае распадания кластера - это пипец может быть весело. Поэтому лучше не искать приключений на свою ж, и помнить правило "не хранить яйца в одной корзине". Вот вполне себе примерчик для данной ситуации: https://support.cloudflare.com/hc/en-us/articles/115003384591-Using-Kubernetes-on-GKE-and-AWS-with-Cloudflare-Load-Balancer Кстати у гугла тоже не так давно появилось подобное Global Load Balancing with Single Anycast IP.
Serega
а как все таки правильно с логами жить в kubernetes? выводить логи в JSON? или обычный stderr + stdout будет нормально? приложения на golang
если логи хочется сразу красиво парсить, то в json. Это особенно актуально для логов, например, nginx ingress. Если для приложений, то имхо можно сильно не париться, т.к. коллекторы (fluentbit, fluentd, filebeat) их и так оборачивают в json. Ну и стоит помнить что multiline не поддерживается (без хитрых воркараундов). В качестве коллектора в кубере хорош fluentbit.
Janos
Здравствуйте, ▫️Какой у вас проект или где работаете? Сервис для бронирование отелей ▫️В чём вы специалист? Java ▫️Чем можете быть интересны или полезны сообществу? Я бесполезный на данном этапе ▫️Чем интересно сообщество вам? Начинаю учить k8s ▫️Откуда вы? Будапешт ▫️Как узнали про группу? С чата про докер #whois
Konstantin
подскажите, пожалуйста, какой всё-таки самый простой/мейнстримный вариант для разворачивания k8s на aws? От обилия вариантов разбежались глаза: kops/kube-aws/kubespray/tectonic/conjure-up и тд
Konstantin
@not_logan продакшн (маленький)
CrusaderX
Меня kops более чем устраивает
Janos
очень важное уточнение - вам поиграть или продакшн?
Подскажите какой вариант подойдет для поиграть?
Konstantin
спасибо!
Janos
kubeadm
Спасибо!
Rustam
Играюсь с self hosted. Что-то не понимаю как поднять api-server после ребута мастер-ноды. В доке написано: «a self-hosted cluster cannot recover from a reboot of the master node without manual intervention» А как чинить — не написано. В docker ps есть controller-manager, scheduler и etcd, но апи сервера нету. Может кто сталкивался?
G72K
Вам нужен check pointer из bootkibe
G72K
Вообще поднимайте весь selfhosted из bootkube
Rustam
ага, ща его пропробую
Sashko
Всем привет
Sashko
Я начинающий Системный Администратор Линукс
Sashko
Интересует К8s как повышение квадификации так сказать
Sashko
Хочу разобраться в принципах его работы и вообще что это за штука такая, не сталкивался, но жутко интересна его популярность и хочется освоить
Logan
Интересует К8s как повышение квадификации так сказать
насколько начинающий? Если совсем начинающий - лучше начинайте с докера, а потом уже куб. Куб с нуля будет сложно. Просто совет
Logan
кубер опирается на контейнеры (не обязательно докер, просто докер хорошая точка для старта). без понимания того, как работает контейнер в кубе вам будет непросто
Anonymous
Что? Не томи уже, больше 2 часов жду продолжения фразы... ты умеешь делать больно
Logan
Палец отрезал, погоди))))
так пришивай обратно...