Andor
вопрос точнее в том, что с этим делать например у меня в деплойменте было 2 реплики, а HPA мне их поднял до 6 вот я обновляю например сервис и оно мне снова делает 2 и какое-то время 2 штуки и будет висеть же? как сделать чтобы сохранялось старое значение?
выяснил экспериментом: при применении манифеста деплоя стопудов будет применено то значение replicas которое указано, так что надо делать deployment.spec.replicas == HPA.spec.maxReplicas и всё будет ок
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? 😊
科斯
https://github.com/kubernetes/ingress-nginx/blob/master/docs/examples/grpc/ingress.yaml
科斯
вообще я бы попробовал вот с такого чего-то начать)
Rustam.T
хорошо, можно и без ingress по сути я за него зацепился только потому что редис клиенты не могут достучаться до редис сервера потому что в service меняется метка которая указывает на мастер и соответственно меняется ip на pod у клиента остается ip В кэше и он так и продолжает на него стучаться. В общем надо что бы был один постоянный ip как единая точка входа. Можно ли на service повесить постоянный ip ?
Anton
access_ip можно задать в ini. проверить можно в обратную сторону через чтение плейбука, думаю найти место где он генерит серты не сложно
добавил для 3-х нод из пяти, на каком-то этапе установка завалилась именно на этих трех нодах. Какая-то там проблема с доступностью
Andrey
добавил для 3-х нод из пяти, на каком-то этапе установка завалилась именно на этих трех нодах. Какая-то там проблема с доступностью
access_ip менять не надо. Я же правильно понимаю, что изначально проблема с доступом к кластеру извне?
Anton
да
Andrey
да
значит вам подойдет вернуть все взад и прописать адрес в списке, который я упомянул выше. Кстати, домены туда тоже вносить можно
Anton
да, спасибо, пробую это сейчас
Anton
есть ли (простой) способ научить kubespray самостоятельно отключать swap?
Andrey
есть ли (простой) способ научить kubespray самостоятельно отключать swap?
https://github.com/kubernetes/contrib/blob/master/ansible/roles/node/tasks/swapoff.yml
Anton
хм, как же оно у меня не загрепалось по "swapoff"... ок спасибо
Andrey
хм, как же оно у меня не загрепалось по "swapoff"... ок спасибо
в kubespray этого и нет, но кто мешает добавить туда эту роль?
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
🆈🅄🅿️🅸
а в логах ингресса и контейнера что?
Ingress чтобы терминировать много сервисов, TLS и т.п. Просто тестирую пока на одном
Dmytro
так я и говорю, а что в логах ингресса при запросе на .css? и что в логах самого контейнера?
Dmytro
или у gce ingress нет логов? у меня nginx который и там все можно продебажить, как обычный нжинкс
🆈🅄🅿️🅸
Контейнер mailhog не имеет логов. Видимо нужно подключить ещё nginx контейнер для отладки
Dmytro
а что такое mailhog? он вообще умеет сам статику отдавать, может там еще нжинкс надо сбоку поставить?
Oleg
а что такое mailhog? он вообще умеет сам статику отдавать, может там еще нжинкс надо сбоку поставить?
Это типа мок почтовика. smtp, принимает почту. Потом через веб или апи можно письма проверить.
Dmytro
погуглил, нашел вот эту страницу https://github.com/mailhog/MailHog/blob/master/docs/CONFIG.md а что написано в MH_UI_WEB_PATH ?
Dmytro
ах да, там же в гугловском ингресс звездочку надо везде пихать - это даже в дкоументации написано и куча срача была на эту тему в багтрекере что ингресс правила не унифицированы между ингресс контроллерами
🆈🅄🅿️🅸
добавь ещё один path /*
спасибо, помогло
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
Как конкретно оно используется внутри - хз
Dmytro
В коде чего?
Dmytro
Линукса?
Andor
Кубелета вроде
Andor
Не спрашивай, во внутренности я не вникал
Andor
Глянь ссылки по ссылке сам
Dmytro
Я там как-то не нашёл про это по ссылке
Dmytro
Но если кублет лезет менять настройки CFS на нодах то за такое надо по рукам давать
Andor
Не по ссылке, а по ссылкам которые по ссылке можно найти
Denis
Подскажите пожалуйста. Kube-proxy работает одинаково с deployment и statefullset?
Dmytro
Эээ что?
Dmytro
Statefullset тоже надо экспозить через сервис
Dmytro
А прокси он же траффик роутит на сервис
Dmytro
Стоп так там про i/o шедулинг а не cfs?
Dmytro
Тогда тем более не понимаю почему кублет хочет его менять, откуда он знает что у меня за диски на ноде?
Dmytro
Надеюсь там про cfs, иначе вообще как-то ничего непонятно
Denis
Ну на deployment он может проксировать трафик между всеми подами, которые находятся за сервисом. А в statefullset он работает по той же схеме?
Dmytro
Сервис роутит траффик на все поды которые матчатся по указанному в нем match labels
Dmytro
Он вообще не в курсе про деплоймент и тд
Dmytro
И даже можно вручную менять в сервисе endpoints (айпишники подов)
Konstantin
ребят, нужна помощь\совет, чот в отчаянии. Кто собирает образы в Gitlab(другие CI возможно также ведут себя). Как в одной ветке ссылаться на артефакт\образ из другой, чтобы не пересобирать образ для каждой ветки? Прям велосипедить начинаю, явно не туда иду
Konstantin
https://gitlab.com/gitlab-org/gitlab-ce/issues/37157 < - same story
Dmytro
Звучит очень странно, зачем такое надо? Если чтобы переюзать кеш докера то пулл образа из ветки мастер, stable или какой нужно и потом —cache-from этот локальный образ
Konstantin
Звучит очень странно, зачем такое надо? Если чтобы переюзать кеш докера то пулл образа из ветки мастер, 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
Собственно, это и есть дефолтный путь работы с пайплайнами