@kubernetes_ru

Страница 202 из 958
Maksim
06.07.2017
13:59:32
вот и узнаешь)

но вообще у меня есть разные ing для одного и того же домена..в разных namespace лежат, вроде вс ок работает

Andrey
06.07.2017
14:19:43
да, работает, спасибо

Altai
06.07.2017
14:24:34
Так. Новая пачка глупых вопросов. :) Правильно понимаю, что ingress сам по себе никаких сущностей не создает, а лишь сообщает ingress-контроллеру, как ему разруливать запросы? Ingress-контроллер - обычный под, в котором крутится, скажем, nginx + что-то, что опрашивает api-сервер по поводу состояния кластера, какие адреса у каких подов, чтобы менять, например, upstream-ы и так далее?

Google
Maksim
06.07.2017
14:25:16
агась

плюс оно еще меняет конфиг nginx и ребутает его для принятия нового состояния

ща вроде как пишут тоже самое на HAproxy

Denis
06.07.2017
14:26:02
при этом этот под доступен через NodePort или типа того?

Maksim
06.07.2017
14:26:19
Ну и контроллер может быть и вне пода (и да же вне кластера) (Если вы любите извращения, но это не тру вей)

Да через NodePort если контроллер часть кластера

Altai
06.07.2017
14:27:20
Казалось бы, наоборот, если нет ведь.

Вот, собственно, здесь вопрос. Где-то видел, что упоминалось требование на доступность через NodePort. Но ведь если контроллер - часть кластера, зачем ему ходить на сервисы не через внутренние адреса, а требовать NodePort?

Maksim
06.07.2017
14:28:33
а как он будет отдавать upstream внешнему клиенту?

А вот к подам он как раз ходит по внутернеей сети и по внутренним ip адрессам

Denis
06.07.2017
14:29:13
ExtClient -> NodePort -> IngressController -> InternalService так ?

Maksim
06.07.2017
14:29:31
Хм...

Тут что-то с сущностями не так)

Google
Altai
06.07.2017
14:29:55
Не-не, я как раз думал, что ExtClient -> IngressController -> NodePort (?) -> InternalService.

В смысле Ingress впереди всего ведь должен быть.

Maksim
06.07.2017
14:30:28
IngressController это Прокси) и он вешается на NodePort, что бы отвечать внешним клиентам

Altai
06.07.2017
14:30:42
Тааак

Maksim
06.07.2017
14:30:53
а сам заберает upstream по внутренним адресам

Altai
06.07.2017
14:31:09
То есть Ingress-контроллер подчиняется всё тем же правилам, он либо может NodePort использовать, либо только внутренний адрес иметь?

Denis
06.07.2017
14:31:31
либо если Cloud Provider настроен

Altai
06.07.2017
14:37:14
Ок, а в чем подводные камни, если увеличить количество реплик для ingress-контроллера? Просто во встречаемых примерах везде по одной. В чем проблемы, если указать несколько, кроме того, что не совсем одновременно будет меняться конфигурация на них?

Andrey
06.07.2017
14:41:37
У меня 3 с антиафинити - норм

Maksim
06.07.2017
14:48:00
ТАм всегда один лидер)

Но по сути ни какой, у меня 4, работают через ds

вернее деплоятся

Роман
06.07.2017
14:50:30
Кто-нибудь деплоит проекты из гитлаба в кубер?

Altai
06.07.2017
15:55:58
Тут заметил, что у всех нод EXTERNAL-IP почему-то <none>. Смотрю describe - публичный адрес написан в InternalIP. Что можно с этим сделать?

Maksim
06.07.2017
16:13:17
kubectl edit no

Maksim
06.07.2017
16:32:31
А зачем экстернал айпи?
ну его можно юзать вместо NodePort при вывешивании сервиса в октрытый мир, но эта фича была объявлена устаревшей и кажись в 1.6 её выпилили

или в 1.7 точно выпилять

Google
Altai
06.07.2017
16:32:57
Так...

Ладно, в моем случае это, пожалуй, и правда не нужно.

Но, скажем, если есть локалка, а есть интерфейс, точащий в интернеты. Как сказать, что общаться нодам через такой-то интерфейс, а порты, открытые через NodePort были на том, который в интернеты? Указать InternalIP и ExternalIP отдельно, верно?

Роман
06.07.2017
16:35:00
Вроде бы, это не для этого.

Поды меж собой пускай по dns имени разговаривают. А выставлять во внешний мир - я бы сделал при помощи ингресс.

Вот, есть у тебя сервис. У него есть имя. Вот, оно и есть то имя, которое подами резолвится в айпи, который нужен подам.

Хотя, вот вопрос - а если мне во внешний мир нужно открыть какой-то определённый порт - ингресс тут поможет?

Altai
06.07.2017
16:38:45
Я про ноды

Про InternalIP и ExternalIP ноды.

Роман
06.07.2017
16:39:16
Аа.

Есть оверлейная сеть - ноды по ней связаны.

Altai
06.07.2017
16:40:12
Чтобы ноды между собой через один интерфейс общались, а то, что я выставлю через тот же NodePort/Ingress - чтобы на другом ждало запросы извне.

Роман
06.07.2017
16:41:09
Ноды что будут друг другу передавать?

Altai
06.07.2017
16:42:11
В смысле?

Роман
06.07.2017
16:42:48
О чём им общаться? Они же просто содержат контейнеры.

Altai
06.07.2017
16:42:59
Ну, контейнеры-то друг с другом общаются.

Роман
06.07.2017
16:43:05
Больше ничего не делают.

Altai
06.07.2017
16:43:48
Просто к тому, чтобы оверлейная сеть, по которой общаются поды друг с другом, в которой сервисы и так далее - поверх быстрой локалочки была, на другом интерфейсе.

Роман
06.07.2017
16:44:38
Похоже, оверлейную сеть надо не в кубере тогда поднимать.

Altai
06.07.2017
16:48:54
Возможно я просто не совсем хорошо написал. Скажем, вначале, до всего, есть два интерфейса: eth1 и eth0. Первый - 10GbE приватная сеть, между всеми машинами, второй - торчит в интернеты. Собственно, нужно как-то сказать кубернетесу, мол, пусть оверлей-сеть для общения между подами на eth1, а для внешних клиентов/Ingress пусть используется eth0.

Google
Altai
06.07.2017
16:49:13
Вот что имею в виду.

ivan
06.07.2017
16:49:38
это в docker-bridge должно быть, разве не?

Altai
06.07.2017
16:58:51
И всё-таки, если у нод нет externalIP, то будет ли работать Ingress тот же?

Следую https://github.com/nginxinc/kubernetes-ingress/tree/master/examples/complete-example

kubectl get ingresses ADDRESS пустой

Khramov
06.07.2017
17:29:55
В 1.6 external точно не выпили ли. Мы их юзаем. В 1.7 тоже есть

Dmitry
06.07.2017
17:42:14
какой самый православный способ поднять кубер на CentOS bare-metal? kubespray?

production

Paul
06.07.2017
17:43:17
какой самый православный способ поднять кубер на CentOS bare-metal? kubespray?
этот вопрос тут всплывает с такой частотой, что впору его пинить. Нет такого способа. Карго для любителей ансибла, марсианский кукбук - для любителей шефа, кубе-адм для маленьких тестовых инсталляциях

Dmitry
06.07.2017
17:43:49
спасибо

Admin
ERROR: S client not available

Dmitry
06.07.2017
17:44:03
возьму карго. ансибл мне ближе

кстати, мы тут в команде запилили альтернативный low-level UI для кубов. для любителей редактировать yaml руками



Dmitry
06.07.2017
17:54:07
А кубеадм разве плохо подходит для больших проектов?
ну вообще там при запуске kubeadm написано don’t use in production

Роман
06.07.2017
17:54:22
Неплохо смотрится! А попробовать можно?)

Dmitry
06.07.2017
17:54:55
конечно. только поравим некоторые баги и дам ссылочку

Paul
06.07.2017
17:55:04
А кубеадм разве плохо подходит для больших проектов?
в нем нет файловера. А без файловера запускать продакшн – самоубийство

Google
Dmitry
06.07.2017
17:56:28
в нем нет файловера. А без файловера запускать продакшн – самоубийство
тут https://github.com/kubernetes-incubator/kubespray написано, что The firewalls are not managed, you'll need to implement your own rules the way you used to. in order to avoid any issue during deployment you should disable your firewall.

где ж взять прод с файрволом?..

Paul
06.07.2017
17:57:49
где ж взять прод с файрволом?..
failover != firewall как не странно

Dmitry
06.07.2017
17:58:07
ааа) блин надо отдыхать уже)

Altai
06.07.2017
18:10:20
Ребята, и всё-таки, что нужно сделать с RBAC, чем-то ещё, чтобы просто запустить хотя бы вот такой экзампл? https://github.com/nginxinc/kubernetes-ingress/tree/master/examples/complete-example

Чистый kubeadm с weave, ничгео не трогалось. Сервисы стартуют, но ingress не работает: просто никто не слушает на нужных портах и всё.

Khramov
06.07.2017
18:28:25
failover != firewall как не странно
А можно пояснить, что подразумевается под failover'ом ?

Sergey
06.07.2017
18:28:54
А можно пояснить, что подразумевается под failover'ом ?
устойчивость кластера к падению одного из мастеров.

Khramov
06.07.2017
18:30:12
Так чем kubeadm не устраивает? Мы на нем 3 мастера подняли, и пока 2 живы, все ок. И то 2 нужно чтобы кластер etcd не упал только, а так и одного достаточно

Khramov
06.07.2017
18:41:49
Ну сам kubeadm такого не умеет, с помощью него делается 1 мастер и джойнятся куча нод. Но чтобы дополнительно превратить еще 2 ноды в 2 мастера нужно минут 20, не больше. Перегенерировать сертификаты и немного поправить kubeapi в манифесте и все

Все тестилось, все работает

Sergey
06.07.2017
18:44:45
спасибо за пак

Paul
06.07.2017
18:58:19
Ansible
а давно в ансибле нормально фаер заработал?

я вот так и не смог заставить его

Pavel
06.07.2017
19:01:31
Нуууу, iptables ами рулю)) не из коробки конечн, но что делать)

Yegor
06.07.2017
19:17:06
Guys, есть работа в Киеве для девопса и девелопера. Проект новый, стек - go, kubernetes, consul, elasticsearch, kafka, cassandra, prometheus. Кому интересно - пишите в личку.

Let Eat
06.07.2017
19:51:24
НИЗЯ https://docs.docker.com/engine/userguide/networking/configure-dns/
если очень хочется, то можно. если kubelet настроен на CNI, то контейнер запускатся вообще с net=none, потом CNI скрипты конфигурируют сеть, а kubelet пишет свой resolv.conf

Кто-нибудь знает как на kubeadm сделать renew сертификатов?
осторожней, сертификаты часто используются и для --service-account-key-file, а значит когда оно сменится, то все предыдущие serviceaccounts будут пытаться подсунуть токен, который не пройдет проверку. даже если вы обновите ключ для serviceaccounts (достаточно их удалить,они пересоздадутся например), то надо будет перезапустить все запущенные поды, т.к. они все используют go-client, а он не умеет читать обновленный токен с диска, который куб заботливо положил рядом и даже обновил

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