@kubernetes_ru

Страница 679 из 958
Valera
11.07.2018
21:54:21
ой я чет туплю кажись, можно же тот хелсчек удалить и натравить https healthcheck, не?
т.е. взять healthcheck, который будет смотреть на другой порт? так и делал на aws'е когда-то, лет 10 назад, пока не увидел, что кастомные коды можно прописывать. и почему такие базовые штуки не реализованы на GKE? :(

Dmytro
11.07.2018
21:59:09
Джентльмены, логосрач. что нынче модное и трушное? ELK? EFK? ERK? graylog?
моднее всего слать в сторонний сервис типа loggly или logz.io

Google
Sergey
11.07.2018
21:59:45
Dmytro
11.07.2018
22:02:51
я думал о том, что использовать переменные дженкинса, но меня почемуто смущает мысль привязываться к дженкинсу
храните с гите зашифрованные gpg (git-crypt, passwordstore), в переменных дженкинса нужно хранить ключ для дешифрации (так тот же флант делает, например только в гитлабе неправославном)

ой я чет туплю кажись, можно же тот хелсчек удалить и натравить https healthcheck, не?
а еще можно вообще убрать https из контейнера и отдать ssl offloading на откуп ингрессу или лоадбалансеру. Ну и/или сделать ещё все-таки норм healtcheck который имеет свой урл и может по хттп работать и заодно проверят что приложение действительно работает

Huan
11.07.2018
22:10:36
nginx -T и смотрите что там оно нагенерировало
показывает то что и в конфиге, изменений нет (

Dmytro
11.07.2018
22:14:09
значит не перегенерило конфиг

нужно глянуть логи этого контейнера - возможно ругается на аннотацию

там по умолчанию уровень логов может стоять низкий - надо его поднять

Huan
11.07.2018
22:15:15
так прикол в том, что применилось все что было в аннотации

Dmytro
11.07.2018
22:15:22
этого контейнера=ингресс контроллера

а сколько подов ингресс контроллера?

Google
Dmytro
11.07.2018
22:16:12
может в одном перегенерило конфиг а вдругом нет

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

(или поды если их много)

Huan
11.07.2018
22:18:48
один

Huan
11.07.2018
22:19:21
завтра попробую удалить

Banschikov
11.07.2018
22:43:35
я его взял за основу этак полтора года назад и допилил - с тех пор все работает норм
Там оказалось у меня все гораздо проще. Там драйверу, конектора монги передал имя репликасета. И все нормально заработало. Но все равно спасибо за дельный совет!

Dmytro
11.07.2018
22:46:30
? хорошо когда приложение умное и понимает когда репликасет и что надо делать в этом случае

мне вот пришлось костылить

Valera
12.07.2018
00:11:15
угу вместо http https healthcheck а про то чего в гцп нет это отдельная история например там нет нат
Нашел вот такое решение, похоже на то, что надо: GCE’s Ingress controller does not support redirect rules, but the documentation includes a solution. The backend Service must inspect the x-forwarded-proto header and redirect if the value is equal to http. if ($http_x_forwarded_proto = "http") { return 301 https://$host$request_uri; } The check MUST be for http. Although theoretically equivalent, if the check is written as if($http_x_forwarded != 'https') Google Cloud Load Balancer’s automated health checks will end up getting a 301 redirect and the backend will be considered unhealthy. 

а еще можно вообще убрать https из контейнера и отдать ssl offloading на откуп ингрессу или лоадбалансеру. Ну и/или сделать ещё все-таки норм healtcheck который имеет свой урл и может по хттп работать и заодно проверят что приложение действительно работает
Вы, по-моему, не поняли: приложение/контейнер только на 80 порту доступно внутри кластера. ssl termination делает ingress gke. healthcheck url да тоже надо. Но есть интересный вариант с http_x_forwarded_proto = http. Люблю чекать так же, как внешний клиент, а не синтетические специальные healthcheck урлы, которые могут быть живыми, а приложение нет.

Roquie
12.07.2018
04:38:04
привет! никто не знает, почему конфиг-мап из файла монтируется папкой в под? другой json файл рядом, импортированный точно так-же и точно так-же подключенный в контенере как файл лежит. Что за магия?

тот-же самый файл, другой путь и примонтировало правильно....

Konstantin
12.07.2018
04:58:44
хмм если вольюм примаунтить в инит контейнер тоже то он же не запустится пока вольюм не создался
Если посмотреть get event --watch во время создания, то порядок создания ресурсов такой: 1. pvc provision 2. attach succeed (Mount) 3. Init container image, pull/start 4. container image pull/start Конкретно в моем случае используется dynamic provision с Vsphere, k8s 1.9.5. Между вторым и третьим шагом вечный баг, первый mount всегда отваливается по timeout и дает FailedMount, но k8s считает это как warning. Видимо mount начинается, до того, как диск успеет замаунтиться к ноде. Как регулировать время этого timeout'a я не нашел. Баги на github открытые есть, т.к. со второй попытки все срабатывает, пока решил забить. Работает

Andor
12.07.2018
05:24:16
> Люблю чекать так же, как внешний клиент это называется "тесты" > а не синтетические специальные healthcheck урлы, которые могут быть живыми, а приложение нет. а эта проблема не связана с ингрессом и вообще с кубернетисом

Konstantin
12.07.2018
06:01:18
Коллеги, вопрос по helm. Почему при helm upgrade он тушит все поды разом, не смотря на то, что новые ещё не поднялись? Может я что то не понимаю? Даже kubectl set image работает, убивая только часть подов, ждёт пока поднимается новый pod, а только потом тушит и обновляет оставшиеся

Григорий
12.07.2018
06:01:51
❓Всем привет, не подскажите как конфигурации использовать для разных сред, чтоб конфиг при деплое для нужной среды подставлялся в проекте❓

Nik
12.07.2018
06:04:23
у меня бежит для этого sidecar контейнер
Спасибо, похоже пришло костылить)

Google
Dmytro
12.07.2018
06:19:47
Потому что бежит несколько копий пода и даже если один из них сломался - для внешнего юзера по существу будет секундный даунтайм но внешний чекер может поймать его и засчитать как даунтайм всего приложения на Х минут (как часто внешний чекер чекает) что имхо неправильно

сделайте на backend /healthz который будет возвращать 200 и выставьте healthcheck на него
Вот только надо реально проверять состояние приложения внутри а не возвращать 200 в любом случае

Andrey
12.07.2018
06:27:01
ну повесь туда обработчик, который отдаёт 200 только если приложение рабочее

Artem
12.07.2018
06:59:20
Так может их сгенерить когда кнлпка нажимается? Как вариант.
сгенерить пароли для каких то внутренних сервисов я могу, а токены и пароля для внешних интеграций - у меня статические

Dmytro
12.07.2018
06:59:55
https://tproger.ru/news/minimal-ubuntu-released/ не альпайн конечно но лучше чем минидеб образ от левой конторы, забыл название

Juriy
12.07.2018
07:00:32
Artem
12.07.2018
07:01:17
Получается надо генерить то что генерится, а остальное копипастить откуда то.
для этого я и хотел использовать секреты, которые доступны между ns

Dmytro
12.07.2018
07:02:34
А потом захотим сервисы на несколько неймспейсов и тд

Низкая связность за счёт дублирования считается в наше время хорошей практикой

Artem
12.07.2018
07:04:42
Низкая связность за счёт дублирования считается в наше время хорошей практикой
в этом тоже есть логика, поэтому не особо хочется привязываться к дженкинсу, т.к. сразу отпадает возможность действий через kubectl

Dmytro
12.07.2018
07:11:11
Почему отпадает?

Banschikov
12.07.2018
07:17:00
Всем доброе утро! Подскажите пожалуйста. Есть statefulset из 2 реплик. Октлючаю один воркер, и statefulset поднимается на другом воркере. В итоге при инициализации получаю ошибку Multi-Attach error for volume "pvc-4162f80d-83fa-11e8-81f2-fa163ea01587" Volume is already exclusively attached to one node and can't be attached to another С чем это может быть связанно?

Maksim
12.07.2018
07:17:45
Эксклюзивно подключен

Написано же

Banschikov
12.07.2018
07:20:31
Эксклюзивно подключен
Я это понимаю, но к чему он может быть подключен? Никчему, так как под который его использовал пересоздается на другом воркере

Google
Carrol
12.07.2018
07:21:48
Ну и для полноты картины, где pv лежит?

Admin
ERROR: S client not available

Dmytro
12.07.2018
07:22:00
Ага ок ?

Если ebs то там много багов вплоть до того что вольюм в авс вебморде показывает как детачед но виден со старого инстанса

Carrol
12.07.2018
07:22:59
В общем Allow force detach for volume if node has shutdown

Banschikov
12.07.2018
07:26:06
Какая версия k8s? Был детач для pv при отключении воркера?
Версия: 1.9.8 PV лежит на open stack cinder. Кажется я понял в чем причина. Диск приатачен к воркер-инстансу. Когда инстанс выключился, диск автоматически не смог отмантироватся. Statefulset пытается его примонтировать к другому инстансу, но он этого сделать не может

Evgenii
12.07.2018
07:28:01
Я такое вижу и не на StatefulSet

(RBD)

под переезжает, а PV нет

Banschikov
12.07.2018
07:29:35
под переезжает, а PV нет
ага такая же беда

Banschikov
12.07.2018
07:31:57
openstack volume list показывает, что pv приаттачен, а воркера нет?
Вот с этим буду как раз разбиратся. openstack не мой. Спасибо за наводку

Carrol
12.07.2018
07:33:07
Вот с этим буду как раз разбиратся. openstack не мой. Спасибо за наводку
Может быть этот тикет поможет: https://github.com/kubernetes/kubernetes/pull/56846

Maksim
12.07.2018
07:38:36
забаньте его

Dmitry
12.07.2018
07:38:44
/report

Google
Egor
12.07.2018
07:39:22
всем привет. в эхотаге совсем новичок. что смотреть для постоянных volume в кластере baremetal ?

kvaps
12.07.2018
07:44:18
https://youtu.be/JWHB8sN1O-4

разные сети для подов
Это не разные сети для подов как таковые, это просто 2 L2-домена под ноды

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

https://github.com/romana/romana/wiki/Romana%27s-topology-configuration

Mikhail
12.07.2018
07:52:22
@kvaps романа умеет анонсить по бгп на два роутера?

kvaps
12.07.2018
07:54:08
Для этого нужен route-publisher, я не использую но думаю что можно просто два паблишера поднять https://github.com/romana/romana/blob/master/docs/romana/ROUTE_PUBLISHER.md

Учти, у romana сейчас есть один баг: она включает proxy_arp для всех интерфейсов, так что если у тебя на ноде больше одного интерфейса, то может получиться крайне неприятная ситуация

а мой PR никак не вмерджат :( https://github.com/romana/core/pull/107

kvaps
12.07.2018
08:03:32
тогда ок, но я бы все равно ограничился бы включением proxy_arp только на контейнерных интерфесах. можешь использовать мой image для romana-agent kvaps/romana-agent - он с фиксом

я думаю что в следующей версии патч примут, во всяком случае это решение они мне сами подсказали во внутреннем слаке

Mikhail
12.07.2018
08:15:38
Да, я уже там :)

kvaps
12.07.2018
08:18:38
а, вижу?

Alexander
12.07.2018
09:23:56
Привет посоны. Создал конжоб с шедулером 30 12 * * *

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