Andor
Andor
во время деплоя если у тебя есть нагрузка, то будет много реплик, но HPA потом отдаунскейлит
Andor
ну то есть поведение очевидное
Mikhail
Спасибо
Rustam.T
коллеги кто нибудь знает как в ingress запроксировать tcp в данном случаи redis ?
Andor
https://github.com/kubernetes/contrib/tree/master/ingress/controllers/nginx/examples/tcp ?
Andor
и для UDP https://github.com/kubernetes/contrib/tree/master/ingress/controllers/nginx/examples/udp
Rustam.T
что то я самого kind: ingress там вообще не вижу
科斯
что то я самого kind: ingress там вообще не вижу
правильно, потому что ингресс очень специфичная штука) по сути это балансер который по некоторым правилам (http host:port, http path) определяет куда пустить запрос. и вот таки куда он его пустит, если это не http? 😊
Rustam.T
科斯
https://github.com/kubernetes/ingress-nginx/blob/master/docs/examples/grpc/ingress.yaml
科斯
вообще я бы попробовал вот с такого чего-то начать)
Andor
Rustam.T
хорошо, можно и без ingress по сути я за него зацепился только потому что редис клиенты не могут достучаться до редис сервера потому что в service меняется метка которая указывает на мастер и соответственно меняется ip на pod у клиента остается ip В кэше и он так и продолжает на него стучаться. В общем надо что бы был один постоянный ip как единая точка входа. Можно ли на service повесить постоянный ip ?
Anton
Andrey
科斯
Andrey
Anton
да
Andrey
да
значит вам подойдет вернуть все взад и прописать адрес в списке, который я упомянул выше. Кстати, домены туда тоже вносить можно
Anton
да, спасибо, пробую это сейчас
Rustam.T
Anton
есть ли (простой) способ научить kubespray самостоятельно отключать swap?
Anton
хм, как же оно у меня не загрепалось по "swapoff"... ок спасибо
Andrey
Anton
а, не обратил внимания не репозиторий
Andrey
А кто-нибудь пробовал cri-o серьезно использовать? Как оно?
🆈🅄🅿️🅸
подскажите, пожалуйста, по поводу gce ingress.
настроен Pod и NodePort сервис. К ним подключен Ingress
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: my-ingress
annotations:
kubernetes.io/ingress.global-static-ip-name: my-ip
kubernetes.io/ingress.class: gce
labels:
app: mailhog
spec:
rules:
- host: mailhog.domain
http:
paths:
- path: /
backend:
serviceName: mailhog-backend
servicePort: 8025
при закуске HTML отлично отдаёт, а image/*, JS и CSS обрезаются 404
Dmytro
Dmytro
Dmytro
Dmytro
так я и говорю, а что в логах ингресса при запросе на .css? и что в логах самого контейнера?
Dmytro
или у gce ingress нет логов? у меня nginx который и там все можно продебажить, как обычный нжинкс
🆈🅄🅿️🅸
Контейнер mailhog не имеет логов. Видимо нужно подключить ещё nginx контейнер для отладки
Dmytro
а что такое mailhog? он вообще умеет сам статику отдавать, может там еще нжинкс надо сбоку поставить?
Oleg
Dmytro
погуглил, нашел вот эту страницу
https://github.com/mailhog/MailHog/blob/master/docs/CONFIG.md
а что написано в MH_UI_WEB_PATH ?
Oleg
Dmytro
ах да, там же в гугловском ингресс звездочку надо везде пихать - это даже в дкоументации написано и куча срача была на эту тему в багтрекере что ингресс правила не унифицированы между ингресс контроллерами
🆈🅄🅿️🅸
Andrey
Можно ли как-то решить эту проблему сейчас? https://github.com/kubernetes/features/issues/536
Denis
Всем привет! Кто юзал для деплоя эластика вот этот helm чарт?
https://github.com/kubernetes/charts/tree/master/incubator/elasticsearch
Andor
хз насколько это известно, но я сюда всё же поделюсь:
The reason why we have such a high limit is that we want to keep the tail latencies down. Kubernetes uses 100ms period in the CFQ scheduler. Due to this, if limit is set e.g. 100m, after container has used it's 10ms, it will need to wait for the next slot before it can do any work again. In worst case this can mean that there's 180ms pause in the request. And if we are very unlucky, that 10ms was used by GC and we need to wait another up to 90ms. There's open issue in kubernetes/kubernetes#51135 regarding this and someone finally made patch for it recently, but I don't think it will before 1.1, likely even 1.12.
Andor
https://github.com/kubernetes/kubernetes/issues/51135 вот ссылка
bebebe
да. я уже посмотрел
If k8s users want to continue to consume CPU Quota (at their own risk), it's their choice and for that reason I'll no longer stall configuring CPU Quota Period.
Dmytro
А что значит k8s юзает 100мс период? Ну возьми его на каждой ноде поменяй
Dmytro
Откуда вообще 100мс, что-то не верится что кублет при первом запуске или ещё когда лезет cfs конфигурировать - это же не его парафия
Andor
Andor
Как конкретно оно используется внутри - хз
Dmytro
В коде чего?
Dmytro
Линукса?
Andor
Кубелета вроде
Andor
Не спрашивай, во внутренности я не вникал
Andor
Глянь ссылки по ссылке сам
Dmytro
Я там как-то не нашёл про это по ссылке
Dmytro
Но если кублет лезет менять настройки CFS на нодах то за такое надо по рукам давать
Andor
Не по ссылке, а по ссылкам которые по ссылке можно найти
Andor
Denis
Подскажите пожалуйста. Kube-proxy работает одинаково с deployment и statefullset?
Dmytro
Эээ что?
Dmytro
Statefullset тоже надо экспозить через сервис
Dmytro
А прокси он же траффик роутит на сервис
Dmytro
Стоп так там про i/o шедулинг а не cfs?
Dmytro
Тогда тем более не понимаю почему кублет хочет его менять, откуда он знает что у меня за диски на ноде?
Dmytro
Надеюсь там про cfs, иначе вообще как-то ничего непонятно
Denis
Ну на deployment он может проксировать трафик между всеми подами, которые находятся за сервисом. А в statefullset он работает по той же схеме?
Dmytro
Сервис роутит траффик на все поды которые матчатся по указанному в нем match labels
Dmytro
Он вообще не в курсе про деплоймент и тд
Denis
Dmytro
И даже можно вручную менять в сервисе endpoints (айпишники подов)
Konstantin
ребят, нужна помощь\совет, чот в отчаянии. Кто собирает образы в Gitlab(другие CI возможно также ведут себя). Как в одной ветке ссылаться на артефакт\образ из другой, чтобы не пересобирать образ для каждой ветки? Прям велосипедить начинаю, явно не туда иду
Konstantin
https://gitlab.com/gitlab-org/gitlab-ce/issues/37157 < - same story
Dmytro
Звучит очень странно, зачем такое надо? Если чтобы переюзать кеш докера то пулл образа из ветки мастер, stable или какой нужно и потом —cache-from этот локальный образ
Konstantin
Use cases
As a developer, when my code is build in dev to create an artifact I want my subsequent environments (qa,stage,prod,etc) to refer to that artifact and use it for deployment instead of creating a new one.
либо я не той дорогой пошёл, либо я что-то упускаю в реализации
Pavel
Konstantin если говорим о image, то почему бы не пушить в registry?
Pavel
Собственно, это и есть дефолтный путь работы с пайплайнами
Konstantin