
Maksim
18.04.2017
12:26:34
А mysql statefull ?
или данные не через volume в pod монтируются?

Let Eat
18.04.2017
12:52:10

Paul
18.04.2017
12:53:04

Google

Maksim
18.04.2017
12:53:34
sds не обеспечивает отказоустойчивость?

Let Eat
18.04.2017
12:54:11

Maksim
18.04.2017
12:54:19
Ну да бекапы и не должен
а вот отказоустойчивость очень да же должно

Let Eat
18.04.2017
12:55:21
ничего никому оно не должно. всё что он делает, это гарантирует что каждый под из сета всегда видит свои данные даже после рестартов. остальное - дело приложения

Maksim
18.04.2017
12:56:05
это кубер гарантирует
тот же ceph с глубиной 3...не так то просто убить

Paul
18.04.2017
12:56:44

Михаил
18.04.2017
12:58:36
и таки да, бекапы должны быть в отдельное место, даже если у вас мегаэнтерпрайзная СХД за сотни тысяч нефти

Maksim
18.04.2017
12:59:16
Ну шарики то же сломали и потеряли.)

Михаил
18.04.2017
12:59:52
@ceph_ru если че)

Paul
18.04.2017
13:13:14
вопрос даже не в цеф, а в том, есть ли какой-то бест-практис в среде куба

Google

Let Eat
18.04.2017
13:16:52
sidecar container
while true; do backup; sleep 3600; done

Paul
18.04.2017
13:36:35
sidecar container
https://kubernetes.io/docs/concepts/jobs/run-to-completion-finite-workloads/ - не лучше?

yolkov
18.04.2017
14:18:19
для каждого рессурса нужно обдумывать свои стратегии бекапа, можно для mysql например поднимать слейв, дождаться синка реплики и скопировать, либо задампить, или например держать в поде клиента бекап систем, к которой будет подключаться бекап сервер и запукать задание на бекап(т.е. скрипты для бекапа)

Let Eat
18.04.2017
14:19:44

Paul
18.04.2017
14:22:28
спасибо

Vladimir
18.04.2017
14:38:01
Ребята привет всем. Начинаю изучение. Подскажите через инет кубернет работает? Имеется ввиду должно ли быть директли коннектед сети для кубернетов. Или только видны порты для сервисов. А проброс сетей уже через них идет. Или же нужно впн делать для разбросанных хостов.

Let Eat
18.04.2017
14:38:52
я бы не стал один куб разносить на много сетей
сделайте несколько кубов

Vladimir
18.04.2017
14:44:13
Не понял. Есть несколько серверов которые территориально не связаны между собой (разные AS , города, страны). Если я использую их в качестве НОД, то нужно ли чтоб они видели частные айпи или же можно делать через public ip?

Let Eat
18.04.2017
14:48:50
сделайте в каждом по кубу, а не один куб на всех. так будет меньше сюрпризов
или у вас прям горстка (единицы) серверов в каждой точке по миру?

Vladimir
18.04.2017
14:52:24

Let Eat
18.04.2017
14:52:50
а от куба чего хочется?

Vladimir
18.04.2017
14:58:55
а от куба чего хочется?
Ну я как понял куб может много. Управление, развертывание, масштабирование и прочее. Если я не ошибаюсь. Просто раньше обходились виртуализацией на основе esxi kvm и прочее. Сейчас решили отказаться в пользу docker.
А в общем чтоб не мучать вас могЕте кинуть ссылочку на документацию на русском желательно. Заранее огромноеиспасибо

Paul
18.04.2017
15:02:44
у вас схожая с моей задача

Vladimir
18.04.2017
15:06:31

Ihor
18.04.2017
15:35:47
гайз, а подскажите, кто как service discovery делал в k8s? хочется красивого околокоробочного решения, ведь dns рекорды создаются и рулятся в kube-dns, но обвязки я не нашел, помимо глупого маунта секрета, стучания в api и проверки, какие dns рекорды есть у сервисов по конкретным лейблам. и это все нужно делать в коде приложения

Google

Let Eat
18.04.2017
15:38:30
а просто в DNS ходить?

Ihor
18.04.2017
15:40:16
эм, это, простите, как?

Let Eat
18.04.2017
15:40:58
ну стучаться в DNS и считать, что все что оттуда вернулось -живое )

Ihor
18.04.2017
15:43:28
ну, я именно это и описал выше и оно не очень удобно, т.к стучаться надо в апишку кубера, так? и я не хочу, чтобы сервис знал, что он крутится в кубере, ибо зачем? и как хендлить релоад конфига, когда что-то отмирает и днс-запись удаляется? стучаться регулярно в апишку и тоже в коде приложения?
https://www.slideshare.net/SreenivasMakam/service-discovery-using-etcd-consul-and-kubernetes вот, смотрю, дяденька из Индии велосипедов напоказывал, но тоже как-то устрашающе выглядит

Roman
18.04.2017
15:49:08
кто-то уже рекомендовал варианты?

Александр
18.04.2017
15:51:52
https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/

Let Eat
18.04.2017
15:52:06

Ihor
18.04.2017
15:53:25
я не хочу хардкодить DNS рекорды в конфигах, вот в чем

Александр
18.04.2017
15:57:31
разве при использовании любого service discovery тебе не нужно хардкодить имена в конфигах? типа webapp.service.consul если юзать Consul

Ihor
18.04.2017
16:02:00
ну ты по сути должен просто хранить некие keys и креды для подключения к service discovery, чтобы пойти туда и получить values

Ihor
18.04.2017
16:07:31
допустим, на основании labels. в таком случае ты сможешь похендлить изменение хостнейма в поде, а в случае хардкода DNS имени - нет

Александр
18.04.2017
16:10:57
какая тебе разница как под называется?
ты ходишь в днс по имени сервиса https://kubernetes.io/docs/concepts/services-networking/service/
> Assume a Service named foo in the Kubernetes namespace bar. A Pod running in namespace bar can look up this service by simply doing a DNS query for foo. A Pod running in namespace quux can look up this service by doing a DNS query for foo.bar.

Zon
18.04.2017
16:14:30
Из днс вернётся кластер ип, который пробрасывается автоматически на поды, так что он не меняется

Roman
18.04.2017
16:17:01
по сути это как внутри проксмокса днс...

Ihor
18.04.2017
16:27:27
но я не хочу хардкодить все это в конфигах, а хочу делать запрос в апишку такого типа ?labelSelector=environment%3Dproduction,tier%3Dfrontend и получить DNS

Roman
18.04.2017
16:27:46
я бред могу писать, думаю. ну, потому что могу, ибо не разорбрался еще в вопросе навигации по аппам динамической

Ihor
18.04.2017
16:28:11
короче, проще всего написать небольшой враппер свой какой-то)

Google

Roman
18.04.2017
16:28:20
а очень хочу понять как это сделать красиво (ранее использовали самопальные решения везде: внуково - из админки список, далее обновление дхцп -> днс, в биллингах - днс+ca внутри контура + такой же днс на опорном домене снаружи, а внутри разруливалось все не по именам, а, таки, по ip которые редко менялись)

Ihor
18.04.2017
16:30:32
ну, проще всего сделать так, как выше вон предлагают, рассчитывая, что имя сервиса и DNS на его основании будет как single source of truth, что для меня очень деревянным методом выглядит

Let Eat
18.04.2017
16:32:25

Ihor
18.04.2017
16:33:17
набор ключей, по которым потом генерится селектор, выглядит более гибким с наскоку. нужно более детально изучать

Let Eat
18.04.2017
16:34:06
да ниче не гибко. никакой гибкости не надо. везде прибиваете myservice как конечная точка контакта и всё. оно будет брать myservice из того же namespace где и клиент
тогда если у вас есть 2 неймспейса: prod и staging, то конфиги приложений внутри одинаковы и ничего запрашивать/темплейтить не надо

Admin
ERROR: S client not available

Let Eat
18.04.2017
16:35:13
и там и там приложения ходят в myservice

Zon
18.04.2017
17:42:38
service это и есть набор селекторных ключей. Если хочется ещё гибче можно смотреть на сервис-брокеры

Dmitry
19.04.2017
06:58:11
Посоны, а кто flannel настраивал, скажите, вы apiserver запускаете в контейнере flannel сети, или снаружи? А то у меня проблема
Провайдер дропает пакеты, которые имеют srcip отличный от хоста. Когда я, например, внутри пода обращаюсь к kubernetes.default то от минорной ноды улетает пакет в сторону мастера c srcip пода (провайдер такое дропает)
попробовал в kubeproxy добавить опцию --masquerade-all но чет она не работает походу.. пакеты не маскардятся =(
Есть вариант сам apiserver запускать в контейнере, тогда весь трафик до него будет ходить по оверлейной сети.. вот думаю, кошер ли это или зашквар?

Let Eat
19.04.2017
07:23:44

Dmitry
19.04.2017
07:25:08
В смысле оборачивает? он жеж просто предоставляет сеть для IP подов. Никаким маскардингом он не занимается
IP подов совпадают с flannel subnet и c докер --bip
Вот только когда запрос уйдет на внешние endpoints, то пакет покидает ноду и srcip у него остается фланеловский
по логике, тут kube-proxy должен маскардить их

Let Eat
19.04.2017
07:34:23
FLANNEL_IPMASQ=true

Google

Let Eat
19.04.2017
07:34:36
фланел умеет

M
19.04.2017
07:38:58
коллеги у кого кореос последний и 1.6.1?
заметил, что при запуске rkt gc кубелет начинает вести себя неадекватно до перезапуска
не может получить статус контейнеров и рестартит их, а также ломится в старую директорию удаленного rkt pod а
кто-то сталкивался?

Let Eat
19.04.2017
07:42:59
альфа кореос?

M
19.04.2017
07:54:37
в том то и дело что стейбл

Dmitry
19.04.2017
07:55:28
ip-masq норм. Спасибо =)

M
19.04.2017
07:55:49
gc нормально отрабатывает, но кубелету об этом никак не сообщает и он видимо теряется)

Let Eat
19.04.2017
08:02:43

M
19.04.2017
08:03:18
поды в докере
рокетом кореос запускает фланнел

Let Eat
19.04.2017
08:05:08
да, и сам кюблет тоже рокетом. но причем тут rkt gc и кублет тогда?

M
19.04.2017
08:07:32
нет, сам кубелет у меня бинарником, когда gc перемещает старый контейнер фланнела в другую директорию, кубелет перестает видеть эту директорию на своем месте и почему то теряет статус докер подов
kubelet[5869]: W0417 09:55:34.508259 5869 raw.go:87] Error while processing event ("/var/lib/rkt/pods/run/3338e455
в логах что то типа такого и маты про статус докеровских контейнеров

Let Eat
19.04.2017
08:11:53
почему kubelet вообще видит контейнер flannel?
запускайте kubelet через kubelet-wrapper , у нас так работает и вроде бы проблем нет

M
19.04.2017
08:12:13
я думал попробовать перейти с бинарника на kubelet-wrapper в рокете, у кого то есть такой конфиг с последними версиями?