@kubernetes_ru

Страница 805 из 958
Pavel
05.09.2018
18:13:11
bebebe
05.09.2018
18:13:40
Опасно же :)
из мастера не деплоить, в продакшн не ходить (с)

ну обычно пинится git commit, клонится, собирается контейнер с определенным лейблом, проходит CI, промоутится и из него идет деплой на продакшн

Google
Дмитрий
05.09.2018
18:20:29
ну в теории можно конечно ... env: - name: foobar value: | some crazy shit ...
А енв фром файл можно делать? А там тянуть значения с сикретов

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
Я помню что это можно делать на стороне кубера
не пропускать такой комит через code review ?

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

Mikhail
05.09.2018
19:36:49
не пропускать такой комит через code review ?
У меня 300 разрабов, хочу чтобы что-то катали сами, но страдать по их вине не хочу :)

kubetest?
Посмотрю что за зверь. Спасибо

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
Gleb
05.09.2018
20:33:37
я не бот
Точно бот

Andrey
05.09.2018
20:34:02
сбоит только одна из нод, проверяй по ip подов в репликасете
Если говорить о подах приложения, то я дергаю оба пода по их IP + IP сервиса.

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
А у вас ингресс смотрит в поды или в сервис?

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 сервиса. И параллельно дернул запрос курлом с мастера. Курл с мастера повис, а курлы в контейнере ингресса работали как часики. Я кажется схожу с ума)

Т.е включена аннотация сервисе-апстрим?
spec: rules: - host: %myhost% http: paths: - path: /images/ backend: serviceName: images-service servicePort: 80

Вот так у меня в ингрессе

Let Eat
05.09.2018
20:55:53
А кто может напомнить куда мне пойти, если я хочу перед деплоем проверять что в манифесте не больше N replicas, лимиты выставлены, в аннотациях нужные записи и т.д.
Официально validating admission plugin (можно вебхук, например в open policy agent). Но я у себя все на стороне CI добавляю/проверяю (через jsonnet)

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
https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/nginx-configuration/annotations.md#service-upstream
Добавил аннотацию: nginx.ingress.kubernetes.io/service-upstream: true сейчас буду тестить

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

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

Andrey
05.09.2018
22:19:52
https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/nginx-configuration/annotations.md#service-upstream
Получилось, в итоге заюзать и эту пропертю. Но без эффекта(

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 какой-нить есть...

ну или на сетевом оборудовании что...

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 на интерфейсах?

Andrey
06.09.2018
08:29:35
у меня с calico была хрень при ipip включенном и мисматче mtu - терялось все при передаче из физической карты в tunl
У меня похоже обратная ситуация, из tunl0 в физическую. А может проблема с MTU так проявляться вообще? У меня бьется примерно каждый 20й запрос, если дергать постоянно. А если оставить в покое минут на 10 например, то первый запрос 100% будет битый.

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
проблема была при закачке по https и просто при обращении по https
А проблема была постоянная? или плавающая?

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
непонятно почему на eth0 он маленький
так устанавливает хостер при создании машины. У меня вирты.

Никита
06.09.2018
09:16:25
У calico, вроде, была крутилка для mtu для интерфейсов.

Кстати, если на eth0 1450 - на туннельном должно быть что-то типа 1390

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