@kubernetes_ru

Страница 811 из 958
Alexey
10.09.2018
11:11:59
репа поменялась, а docker build ничего не сделал, deployment не нужно перерезапускать

readme.md поменялось, оно в dockerignore

сервис не поменялся, но тег меняется, потому что новый комит, а deployment смотрит на image, сменился, перезапускаю.

Это МИНИ проблема, просто разговор зашел про это.

Google
Andor
10.09.2018
11:13:41
да это проблема того же типа что и "запускать тесты только если код поменялся, а не readme"

она не про докер и не про кубер

Alexey
10.09.2018
11:14:22
Ну docker может на 100% сказать, что что-то поменялось, мне для этого не нужно ничего делать. Это отличие от тестов.

Для тестов ещё нужно пойти напрячься, чтобы граф зависимостей собрать.

Andor
10.09.2018
11:14:36
не может

докер оперирует уже артефактами сборки, а не исходными данными

Alexey
10.09.2018
11:15:19
если поменять файл, который в dockerignore, то он будет поновой все собирать? Не будет.

если поменять файлы, которые не попадают в image вообще, он будет пересобирать? Не будет, все из кэша

если у меня src docs и docs не попадает в image, просто не хотелось бы перезапускать deployment из-за комита в docs, который поменял тег.

это скорее всего 1 if, не более.

Andor
10.09.2018
11:18:12
ну не собирай образ просто

то есть в твоём случае не тегай

Google
Alexey
10.09.2018
11:21:03
docker build -t service:$SHA_COMMIT_SHA . выполняется всегда, после этого можно сказать, что image поменялся или нет.

Да не хочу я делать работу, которуюделает docker build. Уже все готово же.

Andor
10.09.2018
11:21:29
ну сделай чтобы не выполнялось

Alexey
10.09.2018
11:22:01
ну так после docker build нужно смотреть,что текущий image не отличается от работающего и скипать, я про это говорю 20 минут уже)

Andor
10.09.2018
11:22:45
при чём тут образ вообще?

Andrey
10.09.2018
11:23:07
Да не хочу я делать работу, которуюделает docker build. Уже все готово же.
нет, не готово. У тебя одна версия для всего, что в репозитории. Если ты хочешь, чтоб у тебя образы докера соответствовали версии софта, а не репозитория, то тебе нужно использовать версию софта в теге образа.

Alexey
10.09.2018
11:23:37
docker build не собирает ничего, если не было правок. Следовательно не нужно перезапускать deployment. Я только про это.

docker build бесплатный если не было правок, даже если другой тег.

kubectl apply напряжный, если поменялся тег и 50 реплик

Andor
10.09.2018
11:24:11
ну раздели build и tag

и делай tag по условию

Alexey
10.09.2018
11:24:42
да нет, мне просто нужно делать if что текущий рабочий image отличается от собранного только тегом. Внутри все одинаковое.

Ладно, сделаю - расскажу.

Работа прилетела

Andor
10.09.2018
11:25:28
ну есть некий docker diff

Alexey
10.09.2018
11:25:57
да, и какой-то sha256 у image... что-то в этой стороне. Курить доки нужно. Должно быть просто.

Andor
10.09.2018
11:26:43
не, дифф это не то

bebebe
10.09.2018
11:26:55
@docker_ru какой-то

Andor
10.09.2018
11:27:21
https://github.com/GoogleContainerTools/container-diff вот это наверное

Vadim
10.09.2018
11:28:02
можно и просто сравнив json'ы манифестов для этих тегов

Google
Andor
10.09.2018
11:28:22
тоже верно

Andrey
10.09.2018
11:28:42
https://docs.docker.com/engine/reference/commandline/pull/#pull-an-image-by-digest-immutable-identifier

bebebe
10.09.2018
11:35:27
+ в догонку https://docs.docker.com/config/labels-custom-metadata/

Andrey
10.09.2018
12:28:24
Ребят, кто настраивал bgp между calico и другими маршрутизаторами? Есть какой-то туториал? Заведётся оно с quagga?

Andor
10.09.2018
12:28:59
заведётся

ну если в квагге бгп включить конечно

а почему квагга? или это не твой выбор?

в калико внутри обычный bird и обычный bgp

Andrey
10.09.2018
12:40:31
а почему квагга? или это не твой выбор?
Ну я тока с ней просто сталкивался. Так то не сетевик ни разу)

Никита
10.09.2018
12:42:58
Главное - лишнего не заанонсить кластеру.

Andrey
10.09.2018
12:43:29
Главное - лишнего не заанонсить кластеру.
Мне наоборот, надо с кластера вытянуть)

Чтоб поды были доступны в локалке. Чтобы их мониторить прометеем без федерации

Никита
10.09.2018
12:44:09
Мне вот bird понравился, квагга как-то неочевидно. А бёрд прям хорош и прост, и фильтры всякие развесистые умеет.

Mikhail
10.09.2018
12:46:45
плюсую bird

Никита
10.09.2018
12:48:47
У меня даже пример конфига найдётся, если нужно. Ну и в контейнере с calico можно посмотреть.

Кстати, калико сеть сервисов не умеет анонсить, это пока только kube-router может.

Andor
10.09.2018
12:56:23
Для этого ipvs есть

Не то же самое конечно, но вполне рабочий варант

Никита
10.09.2018
12:57:10
Для этого ipvs есть
Он балансит же.

Google
Никита
10.09.2018
12:57:29
А я про анонс на роутер самого факта наличия сети сервисов.

Ну или отдельных clusterip.

Andor
10.09.2018
12:58:13
Я про то что kube-proxy вполне успешно без kube-router распространяет информацию про сервис адреса

Никита
10.09.2018
12:59:10
Да, между нодами кластера, а во внешние сети?

Andor
10.09.2018
13:04:08
Зачем анонсить сервисные адреса наружу?

Mikhail
10.09.2018
13:09:59
а тут по-моему про адреса подов

Andrey
10.09.2018
13:14:12
Ну мне надо именно адреса подов. У меня поды умеют в /metrics для прометея. Было несколько вариантов, типо федерации, проксятника и BGP. Вроде коллективным разумом чатов телеграма пришел к выводу что BGP самый оптимальный вариант

Andor
10.09.2018
13:16:22
А кто тебе мешает прометея просто сунуть внутрь кластера?

Andrey
10.09.2018
13:17:43
А кто тебе мешает прометея просто сунуть внутрь кластера?
Ну тут архитектурно так сложилось что он стоит сбоку, не в кубере. И засовывать его туда не хоцца

Andor
10.09.2018
13:18:20
@azalio это не у тебя так?

Mikhail
10.09.2018
13:22:34
ну у меня так да

прометей стоит сбоку

адреса подов доступны по всей сети

Gleb
10.09.2018
13:24:02
а начем сеть?

Andor
10.09.2018
13:24:40
Проще всего на каждый кубокластер держать по своему прометею имхо

Mikhail
10.09.2018
13:27:34
Andrey
10.09.2018
13:27:43
А почему не хочется-то?
ну для него сторедж надо делать и всякую такую обвязку. А сейчас все просто и примитивно. В кубере только stateless. Случилось се с серваком, выкинул, поставил новый, работаем дальше)

Mikhail
10.09.2018
13:28:06
Проще всего на каждый кубокластер держать по своему прометею имхо
я второй прометей поднимаю в кубере, а первый все равно сбоку, чтобы мониторинг был отделен от того что он мониторит.

Google
Mikhail
10.09.2018
13:51:32
У тебя федерация или просто 2 разных прометея?
я еще не поднял, думаю будет 2 разных.

Никита
10.09.2018
14:28:51
Зачем анонсить сервисные адреса наружу?
Ну вот есть большая сеть предприятия. И есть в ней кластер кубернетеса с двумя сетями маленькими - сетью подов и сетью сервисов. Первую мы анонсим роутерам в нашей большой сети, и вся сеть может ходить на айпишники подов. То же самое и с сетью сервисов, анонсим сеть сервисов, и вся сеть может ходить на айпишники сервисов.

Andor
10.09.2018
14:29:33
что от этого анонса будет - я понимаю

вопрос был "зачем"

Никита
10.09.2018
14:30:54
Чтобы из сети предприятия были маршруты до сети сервисов. А почему это вопросы вызывает?

Ну, то есть, с моей стороны выглядит как вполне логичное решение.

Andor
10.09.2018
14:31:37
логичнее того же ингресса?

Никита
10.09.2018
14:34:06
Ну а почему нет?

Да и задачи разные бывают.

Andor
10.09.2018
14:34:38
смотря как это делать

ну понятно что в каких-то кейсах это норм будет

но лично мне кажется, что обычнл более логичным выглядит выставлять наружу адреса балансеров, которые уже умеют в кубер, а не голые адреса подов/сервисов

например того же ингресса

Mikhail
10.09.2018
15:41:56
А как получить программным путем подсеть выделеную для ноды? (без kubectl)

twwlf
10.09.2018
15:43:34
взять netmask c интерфейса?

Mikhail
10.09.2018
15:47:20
у меня нет

Никита
10.09.2018
17:22:38
у меня нет
Сеть калико?

Mikhail
10.09.2018
17:23:06
Никита
10.09.2018
17:23:27
Ну, можно в calicoctl node чётотам посмотреть.

Mikhail
10.09.2018
17:24:25
run Run the Calico node container image. status View the current status of a Calico node. diags Gather a diagnostics bundle for a Calico node. checksystem Verify the compute host is able to run a Calico node instance.

# calicoctl node status Calico process is running. IPv4 BGP status +--------------+-----------+-------+----------+----------------------------+ | PEER ADDRESS | PEER TYPE | STATE | SINCE | INFO | +--------------+-----------+-------+----------+----------------------------+ | 10.8.43.2 | global | down | 14:21:06 | Error: No listening socket | | 10.8.43.3 | global | down | 14:21:06 | Error: No listening socket | | 10.8.43.4 | global | down | 14:21:06 | Error: No listening socket | | 10.8.43.5 | global | down | 14:21:06 | Error: No listening socket | +--------------+-----------+-------+----------+----------------------------+

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