@kubernetes_ru

Страница 194 из 958
Maksim
27.06.2017
14:53:10
можно antiAffinity задать, но все равно, при добавлении нод кому-то придется подкрутить количество подов в rs
Это уже чуточку из другой оперы) и опять же задаёт правила запуска для Шелдулера)

ds в 1.6 заработал как деплой?

я просто ещё 1.6 не мучал, у меня 1.5 в бою

Let Eat
27.06.2017
14:54:42
я просто ещё 1.6 не мучал, у меня 1.5 в бою
обновляйтесь, скоро уже 1.7 будет :)

Google
Maksim
27.06.2017
14:55:22
а скоро это когда?) месяц? два?

Let Eat
27.06.2017
14:56:46
вот как это поборят, так сразу :) https://github.com/kubernetes/kubernetes/issues?utf8=%E2%9C%93&q=is%3Aissue%20is%3Aopen%20milestone%3Av1.7

bebebe
27.06.2017
15:13:04
а кто-нибудь пробовал ansible-container deploy в k8s?

Dmitry
27.06.2017
15:56:04
@let

@rossmohax Ранние версии уже есть. У меня стоит, ради того что-бы потыкать ручками

Let Eat
27.06.2017
16:02:06
я не такой смелый :)

буду ждать 1.7.2 :)

Vadim
27.06.2017
22:22:13
Я пользуюсь Rancher, но сейчас Cattle как оркестратор

а по ранчеру кто подскажет?

Evgeniy
28.06.2017
06:44:34
Я пользуюсь Rancher, но сейчас Cattle как оркестратор
Cattle всегда стабильно работает? не бывает, что от версии к версии, что-то ломается кардинально?

Vadim
28.06.2017
07:14:37
Нет, но бывают проблемы с rancher server (cattle процесс) . Столкнулся с зависанием тредов на сервере и повышенным потреблением CPU. Пришлось лезть в базу и удалять записи о воркерах.

Google
Vadim
28.06.2017
07:15:30
Ещё очень нестабильно работает обновление через rancher-compose или rancher cli, автоопределение новой версии образа у меня никак не работает.

Ну и rancher-compose устарел, хотя и stable. В итоге пользуемся rancher cli.

Victor
28.06.2017
07:54:01
а почему kubelet в логи сыпет, что не может статы с lxd дисков на zfs получить? зачем ему zfs да и еще от lxd?) [fs.go:333] Stat fs failed. Error: exit status 1: "/sbin/zfs zfs get -Hp all lxd/images/1e59027d1d58873fc7e23f769232cd4846c6d675ea292bc71037fafc1547649d" => cannot open 'lxd/images/1e59027d1d58873fc7e23f769232cd4846c6d675ea292bc71037fafc1547649d': dataset does not exist

Arslanbekov
28.06.2017
09:09:28
А кто сейчас чем раскатывает на bare? kargo (kubespray) очень медленно развивается, может есть достойные варианты?

Arslanbekov
28.06.2017
09:17:07
Максим
28.06.2017
09:23:39
А есть кто удачно запустил в продакшен k8s-кластер на CoreOS загружающейся по PXE?

Andrey
28.06.2017
09:24:39
Сорян за оффтоп, не красиво чужие вопросы своим перебивать... я просто оставлю это тут вдруг кто ответит: Я обычно с пониманием отношусь к тому что я чего-то недопонимаю, но тут походу фундаментальное недопонимание и оно меня бесит. Короче, есть некое приложение который использует RAFT для достижения консенсуса. При этом, алгоритм там настолько тупо реализован что требуется при запуске указать всех участников и они должны быть доступны, иначе приложение не стартует. Для того чтобы с самого начала были известны имена всех участников, я заюзал petset с headless service (можно deployment с отдельными сервисами но там свои косяки). То есть, сервис используется в данном случае ТОЛЬКО для того чтобы были стабильные dns-имена правильно резольвящиеся в айпишники. Приложение запускается, видит всех своих друзей и с использованием raft образует mesh-сесть (ну, не совсем mesh конечно но в данном контексте сойдет) между всеми участниками подключившись НАПРЯМУЮ друг к другу по айпишникам которые срезольвились через dns по порту 5001. На этом мои знания заканчиваются и начинается магия... 1) Почему без указания абсолютно левого порта в headless serivice который нужен только для резольвинга приложение не запускается (висит на "ожидаем всех участников") - то есть с вероятностью 90% не создаются A-записи в кубернетеском dns? (каюсь, не проверил этот момент потому что утомился) 2) Что я не понимаю в этой схеме? Есть какая-то ключевая позиция которую я упускаю? Вот код того что проверяю если что: https://pastebin.com/aF6Y2USY

Zon
28.06.2017
09:32:33
Сорян за оффтоп, не красиво чужие вопросы своим перебивать... я просто оставлю это тут вдруг кто ответит: Я обычно с пониманием отношусь к тому что я чего-то недопонимаю, но тут походу фундаментальное недопонимание и оно меня бесит. Короче, есть некое приложение который использует RAFT для достижения консенсуса. При этом, алгоритм там настолько тупо реализован что требуется при запуске указать всех участников и они должны быть доступны, иначе приложение не стартует. Для того чтобы с самого начала были известны имена всех участников, я заюзал petset с headless service (можно deployment с отдельными сервисами но там свои косяки). То есть, сервис используется в данном случае ТОЛЬКО для того чтобы были стабильные dns-имена правильно резольвящиеся в айпишники. Приложение запускается, видит всех своих друзей и с использованием raft образует mesh-сесть (ну, не совсем mesh конечно но в данном контексте сойдет) между всеми участниками подключившись НАПРЯМУЮ друг к другу по айпишникам которые срезольвились через dns по порту 5001. На этом мои знания заканчиваются и начинается магия... 1) Почему без указания абсолютно левого порта в headless serivice который нужен только для резольвинга приложение не запускается (висит на "ожидаем всех участников") - то есть с вероятностью 90% не создаются A-записи в кубернетеском dns? (каюсь, не проверил этот момент потому что утомился) 2) Что я не понимаю в этой схеме? Есть какая-то ключевая позиция которую я упускаю? Вот код того что проверяю если что: https://pastebin.com/aF6Y2USY
А там не srv записи разве? для srv записи нужен порт

Andrey
28.06.2017
09:33:29
а, то есть если я порт не задаю (даже если он не нужен) то запись просто не создается? это все объясняет походу, спасибо :)

я че-то про A всегда думал

Fike
28.06.2017
09:36:34
А там не srv записи разве? для srv записи нужен порт
я тоже так подумал, но в доках вроде простой nslookup находит

Andrey
28.06.2017
09:36:55
стопэ, а ping xxx.yyy.svc.cluster.local это ведь A

Zon
28.06.2017
09:43:41
Мне кажется srv первична, не?

Paul
28.06.2017
09:46:31
а можно ссылку?
https://github.com/evilmartians/chef-kubernetes/

Arslanbekov
28.06.2017
09:54:34
Максим
28.06.2017
09:57:47
да
Чистый Matchbox для доставки Ignition-конфига на ноду или на Terraform?

Vitaliy
28.06.2017
09:59:50
Чистый Matchbox для доставки Ignition-конфига на ноду или на Terraform?
через ansible генерим из шаблонов ignition конфиги и профили для каждой ноды в Matchbox

Google
Vitaliy
28.06.2017
10:00:25
но я не призываю делать также:) Это делалось во времена когда terraform там не было и назывался он по другому

Максим
28.06.2017
10:00:51
да
Как с сетью решили? CNI + flannel(или другой overlay) или kubenet?

Vitaliy
28.06.2017
10:01:25
cni нету. flannel host-gw

Кто-нибудь запускает postgres в подах? Как рестартуете/останавливаете ?

Igor
28.06.2017
12:06:08
Запускаем cockroachdb в подах :)

драйвер postgres

Роман
28.06.2017
14:47:22
Что-то заинтересовался моментом... Если ставить куб "из коробки", если мастер упадёт, как будет вести себя кластер? Сайты будут открываться?

Роман
28.06.2017
14:54:03
А как обычно поднимают упавший мастер? Там же токены нужны и прочее. Что почитать?

Mikhail
28.06.2017
14:54:46
Уточни, на счет упал. Т.е. сервер совсем умер? Или отключился, перезагрузился,включился?

Paul
28.06.2017
14:55:04
Уточним - он упал или он уничтожен?

Роман
28.06.2017
14:56:41
Например, питание от сервера отключили. Ааа, хотя, после старта он же должен сам подняться? Или, например, памяти не хватило и упал по сегфолту - маловероятно, но а вдруг!

Роман
28.06.2017
15:02:49
Mikhail
28.06.2017
15:03:49
Роман
28.06.2017
15:07:23
Обычно мастер не один, в продакшин у многих 3 мастера
То есть, если совсем уничтожить один мастер, то можно его будет потом подключить, как ноду и назначить мастером?

Igor
28.06.2017
15:10:22
То есть, если совсем уничтожить один мастер, то можно его будет потом подключить, как ноду и назначить мастером?
Да, если совсем уничтожить, то можно подключить новый мастер, данные конфигурации в etcd хранятся

Paul
28.06.2017
15:22:02
То есть, если совсем уничтожить один мастер, то можно его будет потом подключить, как ноду и назначить мастером?
нет. Но можно восстановить etcd, конфиги, токены и ключи со старого и поднять на новом

Роман
28.06.2017
15:24:06
нет. Но можно восстановить etcd, конфиги, токены и ключи со старого и поднять на новом
В смысле, если мастеров изначально больше одного было. Один уничтожить.

Paul
28.06.2017
15:25:16
тогда никаких проблем не будет вообще. создаем нового мастера, цепляем к существующему, удаляем старого из конфигов

Google
Admin
ERROR: S client not available

Ivan
28.06.2017
15:32:11
а кто нить бэкапит etcd и пробовал его ресторить?=)

Artem
28.06.2017
15:33:43
http://s6.pikabu.ru/post_img/2017/06/05/0/og_og_14966114892546496.jpg

Mikhail
28.06.2017
15:33:53
http://s6.pikabu.ru/post_img/2017/06/05/0/og_og_14966114892546496.jpg
Только искал эту кратинку :)

Paul
28.06.2017
15:40:37
там ничего сложного на самом деле

Ivan
28.06.2017
15:42:20
там ничего сложного на самом деле
там вроде 2 метода: 1. через snapshot 2. через backup. Различие в версиях хранимых данных(v2/v3). У нас в etcd и те и те, вот и интересно стало, кто делал и как=)

Paul
28.06.2017
15:42:38
я через снапшоты

их можно вызывать вручную перед бэкапом или просто копировать папку со снапшотами, она автоматически пополняется

Andrew
28.06.2017
16:51:01
У кого-нибудь было так что при редеплое пода не обновился эндпоинт и как итог, сервис роутит на неактуальный айпишник?

M
28.06.2017
17:35:55
у кого к deployment привязаны rbd волумы?

Сергей
28.06.2017
19:51:20
HA мастер никто не отменял

Serg
29.06.2017
08:57:41
Привет. Поискал по истории, не нашел похожих вопросов. Есть офисный DNS сервер, работает на BIND, обслуживает внутренний домен dom.loc. Хочется делегировать поддомен test.dom.loc в kubernetes, чтобы поды были доступны по имени podnames.test.dom.loc. Запустил kubernetes на 4-х виртуалках, сеть flannel 10.244.0.0/16 kubeadm init —apiserver-advertise-address=192.168.21.1 —service-dns-domain=test.dom.loc —pod-network-cidr=10.244.0.0/16 Создал в BIND glue record, IP взял из kube-system kube-dns-3248477975-5119w 3/3 Running 28 2d 10.244.1.9 tcpdump вижу что glue record работает, и направляет запросы к kube-dns. создаю pod apiVersion: v1 kind: Pod metadata: name: busybox namespace: default spec: containers: - image: busybox command: - sleep - "3600" imagePullPolicy: IfNotPresent name: busybox restartPolicy: Always pod запускается default busybox 1/1 Running 22 21h 10.244.1.8 Ожидаю, что он будет резолвится по имени busybox.test.dom.loc, но этого не происходит. 1) Как зафиксировать IP kube-dns, так как после рестарта pod kube-dns у него меняется IP? 2) На каком этапе kubernetes создает A-record в DNS (pod,service,...)? 3) Как получить AXFR из kube-dns? Натолкните плз, куда смотреть.

Maksim
29.06.2017
08:58:14
1) Создать сервис

2) Для каждой сущности

3) Незнаю)

Serg
29.06.2017
09:02:57
а я правильно понимаю, что если —service-dns-domain=test.dom.loc, то pod должен резолвится, как busybox.test.dom.loc ?

Magistr
29.06.2017
09:20:49
хостнеймы контейнеров небудут ресолвиться, а вот адреса сервисов лоабдалансеров будут

сам вот недавно это исследовал

еще советуют сеть в бридж переключить, но я хз как это с фланнелем совместимо

Google
Pavel
29.06.2017
09:21:53
https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/ Если вкратце, то создав сервис, а запись будет service-name.default.svc.test.dom.loc Под получит а запись с ip адресом вначале. Чтобы сделать то что хочется нужно поиграться с аннотацией pod.beta.kubernetes.io/hostname Судя по документации делает примерно то что нужно

Maksim
29.06.2017
09:25:43
поды то же резолвятся

имя под.pod.namespace.domain

Dmitry
29.06.2017
09:26:53
Maksim
29.06.2017
09:27:05
ну такое есть в коде )

Dmitry
29.06.2017
09:27:24
When enabled, pods are assigned a DNS A record in the form of pod-ip-address.my-namespace.pod.cluster.local

Maksim
29.06.2017
09:28:21
а ты про имя)

Тут каяюсь) только использовать и это смысла нет, под слишком смертны, и их ip/имя очень изменчевы

Magistr
29.06.2017
09:43:43
если там еще один сервис дискавери то норм, но всеравно изврат

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