
Let Eat
22.04.2017
20:46:19
вкратце: создает ветку vanilla/stack куда просто вываливается дефолтный конфиг из kube-aws, затем на основе нее создается tailored/stack где все правки/дополнения/улучшения общие для всех кластеров, из них создается defaults/<AWS-account> которые по сути tailored/stack с заполненными полями вроде vpc-id, subnet id и т.д.,затем из них уже создается kluster/<kluster-name> где финальный конфиг конкретного кластера. таким образом изменения можно вносить на всех уровнях, "релизить" кластеры по будто это код ну и подтягивать всю свежесть из новых версий kube-aws относительно легко, без ручного переноса кастомизаций
десятком кластеров таким методом управлять получается довольно просто. при росте >20-30 кластеров наверно нужно будет дальше автоматизировать роботами

Vitaliy
22.04.2017
20:49:56
кто как разворачивает кубер?
coreos ignition конфиги. Шаблонизируем через Ansible. За основу брали coreos matchbox, но сильно всё переделано.

Let Eat
22.04.2017
20:52:58

Google

Paul
22.04.2017
20:54:10

Oleg
22.04.2017
21:23:53
а разработку как ведете? вот надо всю инфраструктуру из подов, а отдельный локальный сервис со своей машины

Denis
22.04.2017
22:06:10

Oleg
22.04.2017
22:07:00
у меня я девопс )
на чем san разворачиваете?

Paul
23.04.2017
10:53:56

Sergey
23.04.2017
14:28:43
Ребята подскажите в чем может быть проблема, у нас периодически ingress начинает на все запросы отдавать 503, в логах повляется надписи наподобие
service default/company_1 does not have any active endpoints
service default/company_2 does not have any active endpoints
service default/company_3 does not have any active endpoints
так происходит минут 5 потом все восстанавливается
т.е. такое ощущение будто сервисы массово теряют endpoint
при этом поды не пересоздаются

Paul
23.04.2017
16:31:30
а в логах кубелета есть что-нибудь интересное?

Sergey
24.04.2017
04:05:27

Роман
24.04.2017
10:38:57
Изучаю куб.
Поднимаю тестовое приложение, типа вебсервера, который отображает на странице hostname (имя пода, в котором поднят контейнер). Создал нэймспейс, сервис и деплоймент. По умолчанию под не поднимается на мастер-ноде (10.0.0.10), но поднимается на node1 (10.0.0.11). Если я с node1 выполню curl http://127.0.0.1:30001, то всё хорошо - показывается hostname. Если я с мастер-ноды выполню curl http://127.0.0.1:30001 (порт этот есть в списке открытых) - у меня таймаут соединения. В связи с этим вопрос: что мне ещё нужно предпринять, чтобы схема заработала?
Реализовать хочу такую схему: допустим я поднял несколько реплик на разных нодах - что-то должно балансировать запросы между ними. Пускай это делает nginx. Сейчас я вижу только то, что мне вручную придётся править конфиг энджинкса и прописывать там ноды. Может это как-то по другому делается?

Google

Роман
24.04.2017
10:46:33
Ну и второе: где и что нужно разрешить, чтобы я с мастер-ноды мог выполнить curl http://10.0.0.11:30001? Сейчас у меня тоже таймаут, если я пытаюсь это сделать. Думаю, это потому, что каких-то прав нехватает...

Zon
24.04.2017
12:39:46
А вот такой вопрос - чем лучше сделать простые (301/302) редиректы, если их нужно много и не хочется билдить для этого новые имаджи? Чтоб при этом можно было регэкспы задавать, а не просто мап

M
24.04.2017
12:40:22

Igor
24.04.2017
18:01:06
Привет всем. На работе внедряется Kubernetes. Где можно подробно и с примерами почитать? В доке? Или лучше есть? Может видео?

Paul
24.04.2017
18:03:46
а вы не пробовали самостоятельно искать информацию?
а то такой вопрос выглядит даже не как хамство
для начала можно взять официальный док и курс на юдасити

Konstantin
24.04.2017
18:04:25
lmgtfy

Let Eat
24.04.2017
18:21:17

Zon
24.04.2017
19:16:17

Artem
24.04.2017
19:24:29
Ребят, можно вопрос?
Мне надо ноду развернуть, чтобы было, как здесь infura.io
https://github.com/ethereumproject/etherkube
может кто-то помочь с этим?

Konstantin
24.04.2017
19:29:10
Помочь - сделать?

Paul
24.04.2017
19:44:56
вот мне тоже интересно стало

Mikhail
25.04.2017
11:34:10
Коллеги, правильно ли я понимаю схему кластеризации мастер-нод:
каждый из процессов (etcd, kube-apiserver , kube-dns) должен быть запущен как docker контейнер. Каждый процесс объявить cервисом, с проброшенным наружу IP, ну и настроить Replication Controllers. Соответственно снаружи запросы на них будут поступать через какой-нибудь балансировщик (тот же nginx+, например).
Собственно требуется повысить отказоустойчиость самого кластера, чтобы при падении мастера (где у меня крутится апи и прочее), кластер оставался доступным. Может я чего не так понимаю ?
Буду благодарен, если кто подскажет, как лучше всего это должно быть спроектировано :)


Let Eat
25.04.2017
11:35:03
etcd это отдельная песня.запускаете их нечетное количество >2 и все
матсер ноды: на каждой apiserver, scheduller , controller (ну и kubelet но он везде кроме etcd)
apiserver они stateless, так что все просто работает. scheduller и controller manager умеют leader election если передать соответствующий флаг. тогда они между собой через etсd будут договариваться кто из них главный, а остальные на подхвате

Google

Arthur
25.04.2017
11:40:33
Всем привет. Подскажите что такое Deployments в контексте Kubernetes?

Fike
25.04.2017
11:41:09
Какие вопросы возникли после прочтения оф.доки?

Sergej
25.04.2017
11:41:54
"(etcd, kube-apiserver , kube-dns) должен быть запущен как docker контейнер. " можно и в качестве бинарника.

Dorian
25.04.2017
11:43:49
православенее в докере
бинари тоже работают

Mikhail
25.04.2017
11:44:28
Спасибо за ответы!

Let Eat
25.04.2017
11:46:31

Dorian
25.04.2017
11:47:18
С резервированием
ахха

Let Eat
25.04.2017
11:47:54

Arthur
25.04.2017
11:49:55

Mikhail
25.04.2017
11:56:15

Maksim
25.04.2017
12:15:19

Mikhail
25.04.2017
12:16:45
оп,спасибо! Пошел изучать :)

Fike
25.04.2017
12:23:53
https://coreos.com/etcd/docs/latest/op-guide/clustering.html подозреваю что для третьей версии это

Let Eat
25.04.2017
12:24:03
обновляете == заливаете новый yaml

Konstantin
25.04.2017
12:27:40
есть кто работает с разной оркестрацией? docker swarm mode сильно отстаёт от кубера по функционалу?

Roman
25.04.2017
12:30:23
Ребят, пытаюсь продумать как сделать правильно, но не получается с собой даже договориться. Подскажите, пожалуйста.
Есть сервис, который из себя представляет бинарь на go, общающийся с redis в качестве хранилки.
Допустым есть несколько нод в кластере kubernetes (предположим 4). Хочется размножить на эти ноды данный сервис.
С размножением go-шного бинарника в контейнере никаких проблем нет, делаем replicas 4 и забываем.
Как быть с редисом я не совсем понимаю, а конкретно - с консистентностью данных. Можно на каждой ноде сделать вольюм, который будет монтироваться по сети, но мне кажется что это костыль.
Может кто сталкивался с подобным, подскажите добрым словом.

Google

Fike
25.04.2017
12:32:19
вам нужно сменить хранилище. я не шучу.

Maksim
25.04.2017
12:32:22
Ребят, пытаюсь продумать как сделать правильно, но не получается с собой даже договориться. Подскажите, пожалуйста.
Есть сервис, который из себя представляет бинарь на go, общающийся с redis в качестве хранилки.
Допустым есть несколько нод в кластере kubernetes (предположим 4). Хочется размножить на эти ноды данный сервис.
С размножением go-шного бинарника в контейнере никаких проблем нет, делаем replicas 4 и забываем.
Как быть с редисом я не совсем понимаю, а конкретно - с консистентностью данных. Можно на каждой ноде сделать вольюм, который будет монтироваться по сети, но мне кажется что это костыль.
Может кто сталкивался с подобным, подскажите добрым словом.
Кажется мне, проблема твоя вне плоскости кубера

Fike
25.04.2017
12:32:46
если у вас не включен фсинк на каждый коммит в редисе, то вы и так уже в беде

Admin
ERROR: S client not available

Konstantin
25.04.2017
12:34:20
смотря что он хранит в редисе, не сказано. И нужно ли его масштабировать в его случае вообще

Fike
25.04.2017
12:34:49
данные, которые должны быть консистентными

Roman
25.04.2017
12:37:54
вам нужно сменить хранилище. я не шучу.
да, я уже рассматривал этот вариант)
просто можно что сделать - 4 приложения на го, которые пишут в один редис. но этот редис находится на одной ноде. в случае выхода ноды из строя будут проблемы. о реплике я тоже думал, но это вариантик так себе. собрать кластер из редисов - вольюмы и костыли

Fike
25.04.2017
12:39:07
Этот кластер все равно будет неконсистентным, там все гарантии только от однопоточного режима. В случае кластера эта отговорка уже понтяное дело не сработает.

Konstantin
25.04.2017
12:39:10
редис для данных плохая затея

Fike
25.04.2017
12:41:55
Если у вас жесткие требования к консистентности (требуется линеаризация операций, т.е. результат операции над записью сразу же виден последующим чтениям), то попробуйте riak, если у вас что-то попроще - то можно взять Кассандру (там на самом деле тоже можно делать CAS-операции, просто по умолчанию там нет никаких проверок, да и у riak бОльшая заточенность на разбор с конфликтами - те же счетчики у него должны работать как часы, у кассандры возможны аномалии).
(есть еще миллиард других вариантов, просто я их не знаю или недостаточно знаю, чтобы рекомендовать)

Roman
25.04.2017
12:42:44
да можно тарантул взять даже?
вопрос был именно о редисе)
спасибо, ребят)

Konstantin
25.04.2017
12:53:07

Maksim
25.04.2017
12:58:57
Ещё чуток инфы. Вообще на офф сайте очень много интеренсого написано...

Let Eat
25.04.2017
13:04:47

Konstantin
25.04.2017
13:06:03

Fike
25.04.2017
13:08:30
редис не нужен ?

Павел
25.04.2017
17:08:28
Using Projected volumes | Kubernetes
https://kubernetes.io/docs/tasks/configure-pod-container/projected-volume/

Google

Sergey
25.04.2017
18:14:08
> We are excited to announce that we are working in partnership with both Google and IBM to bring Envoy to Kubernetes.
https://eng.lyft.com/envoy-7-months-later-41986c2fd443
https://news.ycombinator.com/item?id=14194026

Zon
25.04.2017
19:30:14

Sergey
25.04.2017
19:38:15

Zon
25.04.2017
19:41:42
Возможно плюсы им ближе скалы
"linkerd’s memory and CPU requirements are significantly higher than Envoy’s. In contrast to Envoy, linkerd provides a minimalist configuration language, and explicitly does not support hot reloads, relying instead on dynamic provisioning and service abstractions." Особенно если память не бесплатная

yolkov
26.04.2017
09:08:23
а кто-то использует подобный линкерд софт или сам линкерд?

Ihor
26.04.2017
09:16:14

Let Eat
26.04.2017
09:21:59

Maksim
26.04.2017
09:23:27
Помнится была ремарка на офф сайте, что лучше оставаться на v2

Ihor
26.04.2017
09:23:54
etcd v3 дефолтный в 1.6, обратная совместимость с v2 есть, но v3 - основной

Artem
26.04.2017
09:26:08
не было такого

Ihor
26.04.2017
09:26:17
мы готовили release notes, и добавили это - https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG.md#warning-etcd-backup-strongly-recommended