
Artur
07.10.2016
10:35:30
то, что я осознал из документации (дока у кубернетиса заставляет много думать и много смотреть в разные места)

Alexander
07.10.2016
10:37:46
Кто подскажет как к service ограничить доступ одним namespace?

kay
07.10.2016
10:42:36
CNI, что-то вроде calico

Google

kay
07.10.2016
10:42:52
неисследованная тема для меня пока :(
https://github.com/weaveworks/kubediff

Zon
07.10.2016
10:48:14

Alexander
07.10.2016
12:23:00
есть CNI плагин и есть CNI Calico, это одно и тоже?

yolkov
07.10.2016
12:31:16
нет
у меня калико работает
мне все нравится, но у меня своя инфраструктура и я на сетевом оборудовании настройил bgp route reflector и сейчас у меня есть связность основной иснраструктуры и сети контейнеров
если бы еще можно было туда прокинуть сеть для сервисов, то вообще бы была сказка
только cni calico будет недостаточно, нужно все равно cni установить
тут вроде об этом писали, сейчас ишью найду
https://github.com/projectcalico/calico-containers/issues/1115
для weave это тоже актуально вроде
Вопрос: кто использует два кластера kubernetes, вы используете единую сеть calico/weave/и.т.п или для каждого кластера отдельныю сеть?

Google

Alexander
07.10.2016
12:53:48
у меня flannel

kay
07.10.2016
13:00:21
кто может подсказать оффициальный контейнер с curl внутри? желательно minimal
типа alpine
нашел. docker.

Alexander
07.10.2016
13:06:50
в ubuntu вроде есть, но он не минимальный

Pavel
07.10.2016
13:20:37
По поводу сети тоже интересно
какие Pros/Cons
Flannel/Weave/VPN

Sergey
07.10.2016
13:26:15
weave - скорость говно.
flannel на udp - скорость говно
flannel на vxlan - скорость норм, но говно ввиду инкапсуляции.
VPN - это общее слово, непонятно, что здесь имеется в виду.
calico/custom routed - збс.

yolkov
07.10.2016
13:30:44
http://chunqi.li/2015/11/15/Battlefield-Calico-Flannel-Weave-and-Docker-Overlay-Network/

Sergey
07.10.2016
13:32:12
отличный тест.
ничего о скорости сходимости.
ничего о скорости передачи данных.
ничего о потреблении cpu.

Artur
07.10.2016
13:32:37
мне тоже не понравился поста, разве что даёт какую-то вводную
всё равно всё самим
подскажите, http://kubernetes.io/docs/getting-started-guides/scratch/#etcd дошёл до запуска etcd, kubectl у меня всё ещё ругается на
The connection to the server 10.128.13.22 was refused - did you specify the right host or port?
из запущенного у меня: докер, kubelet, kube-proxy через системд
ну и соответственно что-то должно висеть
Oct 7 13:37:34 by1-depl-k8s-1 kubelet: E1007 13:37:34.675115 6293 reflector.go:203] pkg/kubelet/kubelet.go:387: Failed to list *api.Service: Get https://10.128.13.22/api/v1/services?resourceVersion=0: dial tcp 10.128.13.22:443: getsockopt: connection refused
что я не доконфигурил?
kubelet/kube-proxy хотят в апи, апи поднимается подом, его ещё поднять не успел, или нет?

Sergey
07.10.2016
13:38:47
порт.

Artur
07.10.2016
13:39:37
kubeletа порт нужно задать, да?

Google

Artur
07.10.2016
13:39:47
куда его?

Sergey
07.10.2016
13:39:50
Get https://10.128.13.22/api/v1/services?resourceVersion=0

Pavel
07.10.2016
13:39:58
ну хоть какой то тест

Sergey
07.10.2016
13:39:59
судя по всему идет обращение на 443-й порт. а нужно, вероятно, на какой-то другой.

Artur
07.10.2016
13:40:28

kay
07.10.2016
13:41:17
Вот кстати как получить последние евенты? что-то типа tail -f -1 ?

Pavel
07.10.2016
13:42:27
правильно я понимаю что большинство живут с calico? и это как бы сейчас recommended?

Artur
07.10.2016
13:42:58
а openvswitch?

yolkov
07.10.2016
13:46:50
я сразу калико настраивал исходя из обзоров. но я пока только играюсь и в бою не использую

Sergey
07.10.2016
13:48:06
я использовал кастомную сеть с выделением /24 на хост.

Artur
07.10.2016
13:48:56

kay
07.10.2016
13:52:19
насчет tail и -1: вот такое решение придумал:
curl "http://localhost:8080/api/v1/watch/events?resourceVersion=$(curl -s http://localhost:8080/api/v1/events | jq -r '.metadata.resourceVersion')"

yolkov
07.10.2016
16:03:59


Sergey
07.10.2016
16:16:28
Ну без автоматики/calico/anything else.
Всё хозяйство делится на зоны. В моем случае это кусочки датацентров.
N зон (до ~256 с выбранной адресацией). Каждая зона содержит до ~250 нод. Также в каждой зоне содержится 2 или более GW. На GW присутствуют внешние адреса. Они обеспечивают NAT во внешний мир и связность с остальными зонами. Внутри зоны - один L2-домен.
Между всеми GW построен multipoint GRE, на него выделена /23 сеть. Между всеми GW ходит OSPF. На каждом GW исходящий в сторону внешних сетей натится в провайдерскую сеть.
На каждую зону выделяется /24 сеть для хостов и /16 сеть для контейнеров. Например, 172.16.$zone.$node - адрес ноды, 10.$zone.$node.0/24 - сеть для контейнеров. Бридж создается вне докера, на него навешивается со стороны хоста адрес 10.$zone.$node.1. Докеру указано выдавать адреса из 10.$zone.$node.0/24.
В каждой зоне ходит свой отдельный OSPF (связанный с backbone OSPF через GW). Каждая нода анонсирует свою подсеть для контейнеров в этот OSPF. Все остальные ноды на площадке ловят эти маршруты и прописывают их себе в таблицу маршрутизации. Также эти анонсы ловят GW и передают на остальные площадки, возможно агрегируя маршрут.
voilla.
В принципе, все можно построить на статической маршрутизации, но:
1) OSPF обеспечивает очень быструю сходимость сети.
2) OSPF обеспечивает ECMP-роутинг между площадками и во внешний мир. Если необходимо увеличить пропускную способность - можно поставить больше GW на площадку.
3) По сравнению с решением dumb L2, L2-домены остаются весьма небольшого размера, лишая нас стандартных L2-проблем
4) Решение потенциально хорошо дружит с сетевым железом и в других архитектурах (например, когда нет возможности иметь L2-домен на зону).
Вообще, получилось что-то вроде calico, только на OSPF и без cli-tools.


yolkov
07.10.2016
16:19:37
?

Sergey
07.10.2016
16:21:01
тут есть проблема с потенциальным недостатком адресов.
ждем ipv6 в k8s.

yolkov
07.10.2016
16:21:45
а виртуальную подсеть для сервисов как приземляли?

Sergey
07.10.2016
16:22:05
а зачем ее приземлять? она существует же только в пределах хоста.

yolkov
07.10.2016
16:22:10
или все было в облаке?
у меня много ресурсов вне облак, я потихоньку хочу переносить по сервисам внутрь куба

Google

yolkov
07.10.2016
16:22:59
пока NodePort спасает
но не гибко

Sergey
07.10.2016
16:24:03
а, вопрос как трафик снаружи внутрь попадает?

Vladimir
07.10.2016
16:24:15
А есть кто на Azure? Какой конфиг? Какие подводные камни?

yolkov
07.10.2016
16:25:50
у нас своя АС, потом свой слой балансеров и за ними уже слой нгинксов, дальше уже много разных внутренних сервисов
пока что сторонние сервисы засовываю в куб

Alexander
07.10.2016
16:26:54
Из подводных камней, это сети между подписками и нет нормального распределенного хранилища.

Admin
ERROR: S client not available

Vladimir
07.10.2016
16:35:11

Alexander
07.10.2016
16:35:55
Распределенное хранилище имеется ввиду ceph или подобное.
Я просто поднял 3 виртуалки Ubuntu на трех подписках и уже игрался с ними

Vladimir
07.10.2016
16:38:49
Ясно, спасибо. Вот еще в AWS можно их ELB к сервисам прикручивать. А азуровские балансеры можно так?

Zon
07.10.2016
16:40:29
Да, но они TCP онли

Alexander
07.10.2016
16:40:33
балансерами не игрался

Vladimir
07.10.2016
16:42:28
спасибо

Zon
07.10.2016
16:42:37
ну, TCP/UDP, не L7
Вольюмы тоже работают

Vladimir
07.10.2016
16:53:56
понял

kay
07.10.2016
17:44:27
Костыль, но зато я теперь kubernetes events не теряю
https://github.com/kayrus/elk-kubernetes#forward-kubernetes-events-into-kibanaelasticsearch

Google

M
08.10.2016
10:28:38
Энибади с логами в ELK в кубере, как вы его чистите, чтобы он не рос бесконечно?

kay
08.10.2016
10:29:10
индексы чисть

M
08.10.2016
10:30:20
Руками? Или есть что то по расписанию?

kay
08.10.2016
10:32:08
есть
https://github.com/elastic/curator

M
08.10.2016
10:35:03
Да я его тоже загуглил, есть какая нить бестпрактиз как его запускать совместно с курьером?

kay
08.10.2016
10:35:23
ну либо крон
либо под с sleep
и while true

M
08.10.2016
10:35:56
Т9 рулит
Ясно, спасибо)
https://hub.docker.com/r/lukaspronto/docker-curator-cron/
Вот еще нагуглилось, мб кому то пригодится

Andrey
08.10.2016
13:35:20
А вот еще вопрос что с этими логами делать ибо их доструя ) может дашборды какие

kay
08.10.2016
13:35:56
да в чем проблема? делай сам.
строишь, например, запросы только ошибочных логов. и анализируешь

Andrey
08.10.2016
13:36:57
Лениво, вдруг че есть )

kay
08.10.2016
13:38:11
ну с таким подходом тебе никакие kibana не нужны )

Artur
08.10.2016
13:56:37
логи тогда можно в /dev/null гнать, чтобы место не занимали)

Fike
08.10.2016
13:58:41
а у него есть шардинг?