
bebebe
05.09.2018
18:09:00

Pavel
05.09.2018
18:13:11

bebebe
05.09.2018
18:13:40
Опасно же :)
из мастера не деплоить, в продакшн не ходить (с)
ну обычно пинится git commit, клонится, собирается контейнер с определенным лейблом, проходит CI, промоутится и из него идет деплой на продакшн

Google

Дмитрий
05.09.2018
18:20:29

Andor
05.09.2018
18:20:52
какая разница, переменные окружения могут быть только строками

Дмитрий
05.09.2018
18:21:38
Как обычная строка сможет вытянуть с сикретов?

Andor
05.09.2018
18:21:59
что?

Дмитрий
05.09.2018
18:22:34
Вытянуть переменнные коннекта к бд

Andor
05.09.2018
18:23:14
а приложение - твоё приложене или какое-то готовое?

Дмитрий
05.09.2018
18:23:29
Я пулю официальный образ

Andor
05.09.2018
18:23:35
кого?

Дмитрий
05.09.2018
18:23:43
Призму

bebebe
05.09.2018
18:23:56
?

Mikhail
05.09.2018
18:24:07
Лунная призма дай мне сил.

Дмитрий
05.09.2018
18:24:45
Хотя я же могу задать енвы следующим образом
Env
- name Prisma_config.databases.default
- value

Fike
05.09.2018
18:24:59
?

Google

Дмитрий
05.09.2018
18:25:11

bebebe
05.09.2018
18:25:32
- name: name
value: value

Fike
05.09.2018
18:25:53
Env: Env

Дмитрий
05.09.2018
18:31:26
- name: name
value: value
Ну, да, я это имел в виду. Только значение name будет в одну строку без какого-либа читабельного формата (как в докер компоузе)

Andor
05.09.2018
18:34:35
да сделай в читабельном, это всё равно будет строка

Mikhail
05.09.2018
19:15:49
А кто может напомнить куда мне пойти, если я хочу перед деплоем проверять что в манифесте не больше N replicas, лимиты выставлены, в аннотациях нужные записи и т.д.
Я помню что это можно делать на стороне кубера

bebebe
05.09.2018
19:19:57

Vitaliy
05.09.2018
19:22:31

Sergei
05.09.2018
19:26:53

ал
05.09.2018
19:32:15
Привет. А есть какой-либо способ протестировать перед запуском пода, что конфиг не просто валидный, а обозначенные в конфиге ресурсы реально присутствуют, например что получится подмонтировать волюм?

Mikhail
05.09.2018
19:36:49

Vasilyev
05.09.2018
20:13:14
Теперь боты по трое ходят?

Danila
05.09.2018
20:22:09
я не бот
на всякий )

Alexey
05.09.2018
20:22:23
100% должен быть же "adwords" для telegram на основе таких ботов. Кто-то сталкивался?
я не бот
главное не предлагай зарабатывать по $100 в день =)

Andrey
05.09.2018
20:30:49
Ребят, все еще разбираюсь с зависаниями при запросах через ingress.
Сейчас вот такая ситуация:
Дергаю курлом с мастера поды по их IP и по IP сервиса отвечают.
Параллельно дергаю через ingress, таймаут 504.
Повторяется не всегда, но часто. Что может быть? куда смотреть?
Сеть calico, kubernetes 1.11.2

Google

66271
05.09.2018
20:32:24

Gleb
05.09.2018
20:33:37

Andrey
05.09.2018
20:34:02

66271
05.09.2018
20:34:55
и с обоих подов приходит 504 ?

Andrey
05.09.2018
20:43:03
и с обоих подов приходит 504 ?
Если дергаю курлом то отвечают оба.
Ошибка 504 не постоянная, просто время от вермени, но воспроизвести ее не сложно.
504 бывает как с одного так и с другого пода

Vasilyev
05.09.2018
20:51:05
А у вас ингресс смотрит в поды или в сервис?

Andrey
05.09.2018
20:52:11

Vasilyev
05.09.2018
20:53:17
Т.е включена аннотация сервисе-апстрим?
В ингрессе

Andrey
05.09.2018
20:54:01
Сейчас сделал следующее.
Запустил в контейнере ингресса команду: "watch -n 1 "curl 10.233.100.91:1000 && curl 10.233.110.241:1000 && curl 10.233.47.52:80""
первые 2 это IP подов, третий это IP сервиса.
И параллельно дернул запрос курлом с мастера. Курл с мастера повис, а курлы в контейнере ингресса работали как часики. Я кажется схожу с ума)
Вот так у меня в ингрессе

Let Eat
05.09.2018
20:55:53

Vasilyev
05.09.2018
20:56:53
Вот так у меня в ингрессе
https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/nginx-configuration/annotations.md#service-upstream

Let Eat
05.09.2018
20:57:24

Andrey
05.09.2018
20:59:28
у меня стоит там:
nginx.ingress.kubernetes.io/rewrite-target: /

ал
05.09.2018
21:50:00
Это как проверять, что есть файл перед открытием. Вроде логично, но лучше так не делать ,ибо гарантий все равно нет , пока необходимое действие не сделаешь, все равно до конца не знаешь, получится ли
Допустим, девелоперы на стейджинге проверяют, триггеря джобу. Но при выкатке на прод триггерить джобу раньше установленного времени нежелательно, остается только ждать что оно успешно отработает в какое-то назначеное время. Может быть, такие проблемы предотвращать надо иначе?

Andrey
05.09.2018
22:19:52

Google

Andrey
05.09.2018
23:38:23
Решил поснимать tcpdump на tunl0 и нашел странное.
В том случае когда случается таймаут, на самом деле ответ приходит, только битый. Без HTTP заголовков и вообще без начала ответа.
В случае когда таймаута не случилось, они соответственно есть.
Причем когда случается таймаут, в tcp дампе на ноде с подом, я вижу что из пода вышли все нужные пакеты, а вот в дампе этого же запроса, но уже на ноде с ingress, я вижу что дошли не все и куска от начала ответа нет.
Господа, посоветуйте, чего хоть делать? Кластер деплоил с нуля через kubespray. Сеть calico. Почти все настройки kubespray по дефолту, уж что касается сети, точно по дефолту.
На самих серверах никаких изменений не вносилось ни в настройки сети, ни в iptables правила.
Снял еще tcpdump с eth0 интерфейса на ноде с подом. С пода через tunl0 ответ выходит нормальный, а вот через eth0 идет уже битый. Т.е теряется где то между tunl0 и eth0.


neumeika
06.09.2018
01:39:34
сама-то tcp сессия нормальная?
мож перетюнили или недотюнии, tcp_reuse какой-нить есть...
ну или на сетевом оборудовании что...

Let Eat
06.09.2018
07:18:21

Andrey
06.09.2018
07:44:07
мож перетюнили или недотюнии, tcp_reuse какой-нить есть...
Вообще все настройки системы по дефолту, сверху kubespray свои накатывал.
Причём проблема проявляется как на версии кубера 1.10.х так и на 1.11.х. Только вчера пересетапил.
В оборудовании проблема врядли может быть, у меня пакеты получается теряются между tunl0 и eth0 в рамках одного сервера. Т.е с пода выходит ответ нормальный, я его вижу на tunl0, а уже в сеть на eth0 идёт обрубок без начала ответа.

Andrey
06.09.2018
07:52:04
мб, глупость скажу, но, мб, проблемы с mtu на интерфейсах?

Anton
06.09.2018
07:58:13

Andrey
06.09.2018
08:29:35

Andrey
06.09.2018
08:29:58
https://docs.projectcalico.org/v2.5/usage/configuration/mtu
у меня проявлялась проблема с mtu в связке kubernetes (flannel) + gitlab-omnibus + gitlab-runner (докер в докере). необходимо было выставлять всем контейнерам mtu 1450 потому что flannel режет до 1450
проблема была при закачке по https и просто при обращении по https

Andrey
06.09.2018
08:45:53

Andrey
06.09.2018
08:46:06
постоянная
по идее, откинув все, там где есть туннели, там всегда меняется mtu
и надо выставлять ниже
netstat -i , собственно

Andrey
06.09.2018
08:48:52

Andrey
06.09.2018
08:49:53
ну то, что mtu разное - видно (:

Google

Andrey
06.09.2018
08:52:52
у меня после мытарств вот такая картина
но лучше про calico еще почитать что там и как

Anton
06.09.2018
08:54:52
https://docs.projectcalico.org/v2.5/usage/configuration/mtu
уже кидали эту ссыль
если ipip не используешь, у тебя mtu в calico должен быть тот же что и на интерфейсе

Andrey
06.09.2018
08:56:31
непонятно почему на eth0 он маленький

Andrey
06.09.2018
08:58:49

Никита
06.09.2018
09:16:25
У calico, вроде, была крутилка для mtu для интерфейсов.
Кстати, если на eth0 1450 - на туннельном должно быть что-то типа 1390