Andor
вроде в /targets
Aleksei
это SD
Andor
хм, оно в таргетс вообще не должно появиться
Aleksei
в таргетс от не появляется из за того, что все таргеты dropped
Andor
ну конфиг смотри
Andor
релейбелинг с keep/drop
Andrey
кто отключает на nginx-ingress hsts, поднимите руку
Andrey
чтобы редиректа на https не было
Stanislav
M
создай в ~/.kube
создать директорию и туда все сложить ?
Vadim
кто отключает на nginx-ingress hsts, поднимите руку
А можно сразу с адресами эндпоинтов?
Andrey
разрешаю :)
Dmitryi
Парни, а кто-то уже пробовал использовать PodPreset в рамках AWS EKS ?
Stas
Коллеги, такие 2 вопроса: На GKE, когда задаю в service (type:NodePort) externalTrafficPolicy: Local то на GLB backend начинает отображаться, как UNHEALTHY (красный) и если зайти в него там же в веб консоли, то написано 1 of 2 instances healthyПри этом deployment, на который указывает этот service всего 1. Вопрос 1: почему 1 of 2? Как только убираю externalTrafficPolicy: Local (т.е. оно становится дефолтным externalTrafficPolicy: Cluster), то backend сразу становится HEALTHY. Вопрос 2: как сделать backend HEALTHY с externalTrafficPolicy: Local? Deployment и Service такие: apiVersion: apps/v1 kind: Deployment metadata: name: example-app labels: app: example-app spec: replicas: 1 selector: matchLabels: app: example-app template: metadata: labels: app: example-app spec: nodeSelector: app: '1' containers: - image: registry.gitlab.example.com/example/example:latest imagePullPolicy: Always name: example-app readinessProbe: httpGet: path: /health port: 80 ports: - containerPort: 80 name: example-http env: - name: test value: '1' imagePullSecrets: - name: regcred --- apiVersion: v1 kind: Service metadata: name: example-app spec: externalTrafficPolicy: Local type: NodePort ports: - port: 80 targetPort: 80 protocol: TCP name: example-http selector: app: example-app
а какая цель всего этогл упражнения? пробросить ип клиента или что?
M
да
cgfcb,j gjghj,e.
M
спасибо попробую
Valerii
а какая цель всего этогл упражнения? пробросить ип клиента или что?
Да, пробросить IP внешнего клиента до приложения.
Aleksei
хм, оно в таргетс вообще не должно появиться
оказывается в новой версии прометея нужно добавлять в spec jobLabel: k8s-app
Denis
Всем привет! Снова попытаюсь задать вопрос по Helm. Использую свой репозиторий с чартами на базе S3 ( https://github.com/hypnoglow/helm-s3) Проблема следующая: Есть devel релиз app-0.1.1-dev+30. На стадии CI пушится в репозиторий новый чарт с именем "app-0.1.1-dev+31. Далее делаю следующие шаги в CI на стадии деплоя: kubectl exec -it helm-deploy-0 -n deploy -- helm repo update kubectl exec -it helm-deploy-0 -n deploy -- helm s3 reindex repo kubectl exec -it helm-deploy-0 -n deploy -- helm upgrade --install --namespace develop dev-app -f /values/dev-app.yaml myrepo/app --devel --recreate-pods Делаю helm ls и вижу что текущая версия чарта app-0.1.1-dev+30, но по факту как я понимаю должна быть app-0.1.1-dev+31. Или я чего то не понимаю, или это нормальная работа helm?
Artem
или imagepullpolicy=always
Denis
По хорошему, Вам надо указывать что-то типа —values image.tag=app-0.1.1-dev+31 при апгрейде чарта
Причем тут это?) Image с нужным образом правильно скачивается)
Denis
или imagepullpolicy=always
Тут проблема Хелма
Andor
*при чём
Artem
Причем тут это?) Image с нужным образом правильно скачивается)
Если Вы используете хелм, то накатывать свежую версию следует через helm upgrade
Denis
Если Вы используете хелм, то накатывать свежую версию следует через helm upgrade
Блин, а для кого я выше писал сообщение?) Что по вашему я еще использую)
Denis
*при чём
Смотря в каких случаях https://ru.m.wiktionary.org/wiki/%D0%BF%D1%80%D0%B8%D1%87%D1%91%D0%BC
Andor
Artem
Значит что-то Вы делаете не так
Stas
Да, пробросить IP внешнего клиента до приложения.
ну все правильно происходит же. нод порт открывает тебе на каждой ноде порт для сервиса, но ендпоинт (то есть сам под с сервисом) есть не на каждрй ноде кластера. При выключенной политике локал разрешена балансировка между нодами, т.е. куб прокси отправит траффик на тут ноду на которой под есть, но при этом будет снат. Так как политика включена, то гугловый балансер чекает наличие эндпоинта на нодах и те на которых его нет помечает как зафейливших хелсчек
Denis
Значит что-то Вы делаете не так
Артем, вы просто капитан очевидность! Если бы я делал все правильно, я бы не стал сюда писать)
Artem
ЗАчем Вы пишите новый чарт?
Denis
ЗАчем Вы пишите новый чарт?
Что? Не совсем понял, какой новый чарт?
Artem
На стадии CI пушится в репозиторий новый чарт
Denis
На стадии CI пушится в репозиторий новый чарт
К вопросу не имеет отношения, но объясню. Разработчик делает пуш с тегом. На стадит выше в пайплайне запускается сценарии на python с symver и вытягивает тег. Если тег новый он вставляет в чарт и добавляется этот тэг имейдж. И получается app-0-1.2. Если тег старый или пуш без тэга, то берется последниц тег, плюсуется к немут+1 и добовляем piplineID. Потом это дело пушим репу и переходим на стадию деплоя
Stas
потому что пока вы в chart.yaml версию самого чарта не бампните у вас автоматом по имени чарта или по апп версии ничего не бампнится
Denis
потому что пока вы в chart.yaml версию самого чарта не бампните у вас автоматом по имени чарта или по апп версии ничего не бампнится
Стэйджи в пайплане stages: - build - release - packaging - deploy На стадии packaging просиходит создание чарта. Версия, image tag и т.д. Потом делается пуш в репозитории и в конце helm s3 reindex. После этого этого начинается стадия deploy . Делаю helm repo search и вижу последняя версия app-0.1.1-dev+30 😢 Дальше смотрю helm repo -l и вижу app-0.1.1-dev+31 и app-0.1.1-dev+30 есть. Вопрос почему он последней версией считает pp-0.1.1-dev+30 , а не app-0.1.1-dev+301 ? Есть подозрение что это бага плагина
Stas
не уверен что туда думаю, но может попробовать плюсик на нижнее подчеркивание заменить?
Stas
написано что он в лейблах меняет плюсы на нижнее подчеркивание
Denis
написано что он в лейблах меняет плюсы на нижнее подчеркивание
Я знаю. Но лэйблы то тут причем? Не совсем просто понимаю
Stas
я не знаю как работает кухня плагинаи что он делает кроме хранения. я бы развернул чартмузеум и провел бы тот же самый эксперимент на нем
Stas
ну он и пробрасывается на ту ноду на которой есть под
Stas
а на ту на которой нет не пробрасывается потому что она хелчек фейлит
Stas
или у тебя обе ноды в одной инстанс группе и она же бекенд?
Valerii
Ноды в разных node-pools. Когда фейлится healthcheck, то красным в консоли весь бэкэнд горит. Не красиво. И разве в этом случае GLB не перестаёт роутить трафик туда и отдавать 500 клиенту?
Valerii
Как сделать красиво-то? :)
Stas
да не может у тебя быть бэкенд хэлси если там эндпоинта нет
Stas
сделай демонсет - будет красиво
Stas
будет эндпоинт на каждой ноде
Valerii
У меня есть ноды в кластере для других целей совсем, я не хочу, чтобы там app крутились вообще. Поэтому и разные node-pool'ы.
Valerii
По сути разделение есть на app и db ноды.
Stas
покажи конфиг балансировщика
Anonymous
Приветствую всех. Есть докер образ, который должен открывать много udp портов. Возможно ли в k8s через сервис сделать доступ к этому множеству портов (диапазон) что бы не описывать вручную?
Anonymous
Есть мысль сделать цикл и через helm это дело прогнать
Valerii
покажи конфиг балансировщика
apiVersion: v1 data: tls.crt: "..." tls.key: "..." kind: Secret metadata: name: sslcerts namespace: default type: Opaque --- apiVersion: extensions/v1beta1 kind: Ingress metadata: name: dev-ingress annotations: kubernetes.io/ingress.global-static-ip-name: 'dev-ingress-ip' spec: tls: - secretName: sslcerts backend: serviceName: 'nginx-app' servicePort: 80 rules: - host: skghmrcx.dev.example.com http: paths: - path: '/gw/poi/api/*' backend: serviceName: 'gateway-poi' servicePort: 80 - path: '/gw/erty/api/*' backend: serviceName: 'gateway-erty' servicePort: 80 - path: '/api/v4/*' backend: serviceName: 'payment-api' servicePort: 80 - path: '/demo/*' backend: serviceName: 'demo-app' servicePort: 80 - path: '/pqkhy/*' backend: serviceName: 'pqkhy-app' servicePort: 80 - path: '/*' backend: serviceName: 'skghmrcx-app' servicePort: 80 - host: pzeu.dev.example.com http: paths: - path: '/powuitnb/api/*' backend: serviceName: 'powuitnb-app' servicePort: 80 - path: '/powuitnb/*' backend: serviceName: 'powuitnb-app' servicePort: 80 - path: '/*' backend: serviceName: 'pzeu-app' servicePort: 80 - host: oqyrtd.dev.example.com http: paths: - path: '/gw/poi/web/*' backend: serviceName: 'gateway-poi' servicePort: 80 - path: '/gw/erty/web/*' backend: serviceName: 'gateway-erty' servicePort: 80 - path: '/*' backend: serviceName: 'example-app' servicePort: 80 - host: dev.example.com http: paths: - path: '/*' backend: serviceName: 'www-app' servicePort: 80 - host: www.dev.example.com http: paths: - path: '/*' backend: serviceName: 'www-app' servicePort: 80 - host: ep.dev.example.com http: paths: - path: '/api/v1/*' backend: serviceName: 'ri-adapter-app' servicePort: 80
Dmytro
не уверен что там были udp, может tcp порты
Dmytro
какой-то jabber сервер если не ошибаюсь
Anonymous
уже обсуждали в этом чате и там были какие-то грабли с этим
поискал по диапазонам, ничего толкового
Aleksei
Кто собирает метрики с ingress-nginx? level=error ts=2018-07-19T16:06:13.485513921Z caller=main.go:218 component=k8s_client_runtime err="github.com/prometheus/prometheus/discovery/kubernetes/kubernetes.go:288: Failed to list *v1.Service: services is forbidden: User \"system:serviceaccount:monitoring:prometheus-k8s\" cannot list services in the namespace \"ingress-nginx\"" как поступили с RBAC?
Anonymous
может есть способ динамически?
Stas
apiVersion: v1 data: tls.crt: "..." tls.key: "..." kind: Secret metadata: name: sslcerts namespace: default type: Opaque --- apiVersion: extensions/v1beta1 kind: Ingress metadata: name: dev-ingress annotations: kubernetes.io/ingress.global-static-ip-name: 'dev-ingress-ip' spec: tls: - secretName: sslcerts backend: serviceName: 'nginx-app' servicePort: 80 rules: - host: skghmrcx.dev.example.com http: paths: - path: '/gw/poi/api/*' backend: serviceName: 'gateway-poi' servicePort: 80 - path: '/gw/erty/api/*' backend: serviceName: 'gateway-erty' servicePort: 80 - path: '/api/v4/*' backend: serviceName: 'payment-api' servicePort: 80 - path: '/demo/*' backend: serviceName: 'demo-app' servicePort: 80 - path: '/pqkhy/*' backend: serviceName: 'pqkhy-app' servicePort: 80 - path: '/*' backend: serviceName: 'skghmrcx-app' servicePort: 80 - host: pzeu.dev.example.com http: paths: - path: '/powuitnb/api/*' backend: serviceName: 'powuitnb-app' servicePort: 80 - path: '/powuitnb/*' backend: serviceName: 'powuitnb-app' servicePort: 80 - path: '/*' backend: serviceName: 'pzeu-app' servicePort: 80 - host: oqyrtd.dev.example.com http: paths: - path: '/gw/poi/web/*' backend: serviceName: 'gateway-poi' servicePort: 80 - path: '/gw/erty/web/*' backend: serviceName: 'gateway-erty' servicePort: 80 - path: '/*' backend: serviceName: 'example-app' servicePort: 80 - host: dev.example.com http: paths: - path: '/*' backend: serviceName: 'www-app' servicePort: 80 - host: www.dev.example.com http: paths: - path: '/*' backend: serviceName: 'www-app' servicePort: 80 - host: ep.dev.example.com http: paths: - path: '/api/v1/*' backend: serviceName: 'ri-adapter-app' servicePort: 80
очевидно же что ингрес ресурс никак не поможет нам понять где ьам бэкенды и хелчеки с точки зрения гуглового балансировщика
Иван
А как он их потеряет?
Незнаю, вот и спросил)
Valerii
очевидно же что ингрес ресурс никак не поможет нам понять где ьам бэкенды и хелчеки с точки зрения гуглового балансировщика
Вот здесь приводил конфиг service и deployment https://t.me/kubernetes_ru/69020 А вот здесь привёл сам ingress: https://t.me/kubernetes_ru/69099 Создание этого ingress'а и создаёт GLB же. Healthcheck происходит по readinessProbe: из Deployment'а.
Valerii
Если вы имеете ввиду скриншот из Network services -> Load balancing, то сейчас передеплою service с "externalTrafficPolicy: Local" и выложу.
Denis
уже весь гугл обрыл на тему helm upgrade devel latest version 😂
Oleg
что-то не получается в minikube прокинуть локальную папку хостовой машины (Mac). В Shared Folders есть /Users, однако внутри minikube папки пустые. У кого есть положительный опыт на этот счет?