@kubernetes_ru

Страница 72 из 958
Artur
07.10.2016
10:35:30
тебе нужно остановить докер, выпилить все IP адреса с docker0 моста
всё так, спасибо. Странно, что инструкция по установке с kubeadm это не описывает. Я так понимаю - обычная практика cbr0 бридж создавать, дальше его настраивать kubelet'ом, чтобы оно правильный cidr ему выдало?

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

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

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
судя по всему идет обращение на 443-й порт. а нужно, вероятно, на какой-то другой.
они пока обращаются непонятно к кому, ничгео ж не поднято

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
они пока обращаются непонятно к кому, ничгео ж не поднято
и судя по дизайн документу https://github.com/kubernetes/kubernetes/blob/master/docs/design/architecture.md kubectl идет в апи, а чтобы поднять аписервер, нужно чтобы работал kubectl. Я сломался

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
А есть кто на Azure? Какой конфиг? Какие подводные камни?
Я на azure собираю, но не пользуюсь их сборками, только на виртуалках.

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

Admin
ERROR: S client not available

Vladimir
07.10.2016
16:35:11
Из подводных камней, это сети между подписками и нет нормального распределенного хранилища.
Вот смотрю у них для Azure два варианта: Azure CoreOS CoreOS Weave Azure Ignition Ubuntu Azure вы, так понял, свой какой-то сделали? Можно поподробнее? Распределенное хранилище - это имеется ввиду etcd? Но он же на мастере поднимается, или я что-то не так понял?

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
а у него есть шардинг?

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