@kubernetes_ru

Страница 692 из 958
Dmytro
19.07.2018
16:11:44
не уверен что там были udp, может tcp порты

какой-то jabber сервер если не ошибаюсь

Google
Corleone
19.07.2018
16:15:02
уже обсуждали в этом чате и там были какие-то грабли с этим
поискал по диапазонам, ничего толкового

Алексей
19.07.2018
16:18:58
Кто собирает метрики с 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?

Corleone
19.07.2018
16:18:58
может есть способ динамически?

Stas
19.07.2018
16:20:05
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
очевидно же что ингрес ресурс никак не поможет нам понять где ьам бэкенды и хелчеки с точки зрения гуглового балансировщика

Иван
19.07.2018
16:20:10
А как он их потеряет?
Незнаю, вот и спросил)

Valera
19.07.2018
16:26:04
очевидно же что ингрес ресурс никак не поможет нам понять где ьам бэкенды и хелчеки с точки зрения гуглового балансировщика
Вот здесь приводил конфиг service и deployment https://t.me/kubernetes_ru/69020 А вот здесь привёл сам ingress: https://t.me/kubernetes_ru/69099 Создание этого ingress'а и создаёт GLB же. Healthcheck происходит по readinessProbe: из Deployment'а.

Если вы имеете ввиду скриншот из Network services -> Load balancing, то сейчас передеплою service с "externalTrafficPolicy: Local" и выложу.

Banschikov
19.07.2018
17:33:54
уже весь гугл обрыл на тему helm upgrade devel latest version ?

Oleg
19.07.2018
18:02:02
что-то не получается в minikube прокинуть локальную папку хостовой машины (Mac). В Shared Folders есть /Users, однако внутри minikube папки пустые. У кого есть положительный опыт на этот счет?

minikube v0.28.0

а, походу в 0.28.1 поправили vboxsf Host Mounting fixed

да, починилось, сори за беспокойство

Google
Alexander
19.07.2018
19:30:18
добрый вечер, подскажите пожалуйста, я могу создать кластер из убунту, мак и виндо машин?

без виртуалок

Andor
19.07.2018
19:33:20
что?

Alexander
19.07.2018
19:33:49
у меня три бука, три ос, хочу один кубернейт кластер

Andor
19.07.2018
19:34:39
ну поставь везде линуксы

Alexander
19.07.2018
19:34:51
если вопрос некорректный подскажите пожалуйста, я нулячий

не хочу линуксы, хочу что есть оставить

Stas
19.07.2018
19:47:49
на сколько я слышал можно добавить виндовую машину как воркера, но мастера должны быть на линуксе

Alexander
19.07.2018
19:48:29
Andor
19.07.2018
19:55:40
а что это за веб-морда?

Valera
19.07.2018
19:55:44
Вот этот зафейленный healthcheck очень хочется поправить как-то. Потому что это всего-лишь dev окружение, хрен бы с ним, а вот дальше такое пропускать не охота...

Andor
19.07.2018
19:56:01
а, блин

Nik
19.07.2018
19:57:23
Deployment.apps "sftp" is invalid: spec.template.metadata.labels: Invalid value: map[string]string{"app":"sftp"}: selector does not match template labels

Google
Nik
19.07.2018
19:57:50
Вот блин - вполне валидно все, а k8s жалуется. template: metadata: labels: app: sftp ЧЯДНТ?

Valera
19.07.2018
20:00:56
очевидно же что ингрес ресурс никак не поможет нам понять где ьам бэкенды и хелчеки с точки зрения гуглового балансировщика
Ну а тестирую на простом nginx'е: server { listen 80; set_real_ip_from 0.0.0.0/0; real_ip_header X-Forwarded-For; real_ip_recursive on; location / { root /usr/share/nginx/html; index index.html index.htm; } location /health { access_log off; default_type text/plain; return 200 'OK'; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }

Stas
19.07.2018
20:02:28
Вот этот зафейленный healthcheck очень хочется поправить как-то. Потому что это всего-лишь dev окружение, хрен бы с ним, а вот дальше такое пропускать не охота...
отвлечемся, а почему нужно использовать родной ингресс контроллер? это же дорого и гемморойно потом с сертификатами редиректами и прочим?

и судя по гуглингу скорому ам полтора миллиона проблем в том числе и с хелсчеками

Valera
19.07.2018
20:07:30
отвлечемся, а почему нужно использовать родной ингресс контроллер? это же дорого и гемморойно потом с сертификатами редиректами и прочим?
Дорого? С сертификатами никаких проблем не предвижу...ну т.е. я вполне себе использую letsencrypt и норм работает или вы о чём? С редиректами-то что? С http на https или насчёт rewrite'ов? Я в-общем только начинаю с K8s и GKE знакомиться, поэтому пробую поднять всё штатными средствами просто... Или у nginx ingress эта проблема отпадёт, т.к. там будет не NodePort, а ClusterIP у сервисов?

Stas
19.07.2018
20:09:21
мы сделали так: задеплоили нджинкс ингресс демонсетом и высунули его наружу через сервис тип лб и включили local

задача пробросить айпишники в этом случае решается на уровне джинкса + на сколько я понимаю гугл на каждый ингресс ресурс создает балансировщик, внешний айпишник и рулы - все это стоит денег

в случае с джинксом - 1 айпи и один форвардинг рул. за правила ингрессов платить больше не нужно

Valera
19.07.2018
20:17:02
задача пробросить айпишники в этом случае решается на уровне джинкса + на сколько я понимаю гугл на каждый ингресс ресурс создает балансировщик, внешний айпишник и рулы - все это стоит денег
Ну да, вы правы. Для dev/staging окружения и одного ингресса хватит, наверное, а вот когда пойдёт prod + autoscaling всякий, то там насоздаётся этих ingress'ов и соответственно балансировщиков.... На AWS'е у меня сейчас autoscaling группа, в которую добавляются frontend ноды, на каждой из которых крутится локальный load balancer (haproxy). Но там эти локальные haproxy внешние aws lb не создают, конечно, а сервера добавляются в таргет группы автоскейлингом :)

мы сделали так: задеплоили нджинкс ингресс демонсетом и высунули его наружу через сервис тип лб и включили local
Читаю вот доку: https://github.com/nginxinc/kubernetes-ingress/blob/master/docs/installation.md Если я на фронте буду autoscaling использовать, то лучше Deployment или DaemonSet всё-таки? Хотелось бы на каждой фронтэнд ноде по одному nginx ingress'у иметь, ну и чтобы они динамически убивались/поднимались вместе с нодами.

Stas
19.07.2018
20:37:02
вообще демонсет не нужен, но ьак как надо айпишники пробросить, а хелсчек мы не побороли пока, то стоит демонсет

Dmytro
19.07.2018
21:59:02
https://kubernetes.io/blog/2018/07/12/resizing-persistent-volumes-using-kubernetes/

Andrey
20.07.2018
02:14:01
никто не занимался скрещиванием ngrok и nginx-ingress-controller?

о, нашёл https://medium.com/@sppatel/automatic-generation-of-lets-encrypt-certificates-b15c664f3832

надо ещё деплоймент с ngrok замутить, не вручную же его запускать всё время

Oleg
20.07.2018
05:37:30
пытаюсь на minikube запустить postgres, который будет pgdata писать на хостовую машину. Получаю fixing permissions on existing directory /home/olegsmetanin/urhome/pgdata ... ok initdb: could not create directory "/home/olegsmetanin/urhome/pgdata/pg_wal": Permission denied никто не борол?

Alexander
20.07.2018
05:37:36
Только линукс
понял, спасибо

Google
Oleg
20.07.2018
05:54:09
Какую ещё хостовую?
хочу чтобы postgres в minikube писал pgdata мне в локальную фаловую систему, а не в файловую систему minikube

Corleone
20.07.2018
05:59:37
Oleg
20.07.2018
06:00:20
Я так и сделал

Corleone
20.07.2018
06:00:48
И права на запись чтение есть?

Oleg
20.07.2018
06:02:14
Так в этом и загвоздка, судя по докерфайлу постгре действует от имени пользователя 999:999, а у него прав не хватает

Corleone
20.07.2018
06:02:36
Дело в том. Что когда маунтится директория, она маунтится от рута, нужно изменять права что бы постгресс мог писать в нее. Т.к. постгресс, скорее всего запущен от юзера постгресс

Corleone
20.07.2018
06:03:26
А зачем так? Используйте персистент вольем
То же самое, только с маунтом в хостовую

Corleone
20.07.2018
06:05:21
Oleg
20.07.2018
06:06:31
На крайний вариант можно докерфайл постреса переписать на рута, но хочется попроще вариант

Corleone
20.07.2018
06:07:17
Сча найду кусок

Oleg
20.07.2018
06:09:02
securityContext: fsGroup: 1000 runAsUser: 0

Corleone
20.07.2018
06:09:10
securityContext: fsGroup: 0 runAsUser: 0

попробуйте, должно покатить

Oleg
20.07.2018
06:12:24
не, то же самое, "/home/olegsmetanin/urhome/pgdata/pg_wal": Permission denied

и еще. я подключаю вольюм без pv прямо через hostPath volumes: - name: host-mount hostPath: path: {{ .Values.persistence.mountPath }}

может повлиять?

Google
Corleone
20.07.2018
06:16:02
может повлиять?
Да. У меня подключается через pv

Anton
20.07.2018
06:43:30
хочется победить мультилайны наконец однозначно как то. сейчас приложения пишут в свои лог файлы, агенты эти логи парсят и отправляют. а хотелось бы писать в docker stdout\stderr. но gelf юзать не хочется, вариант с journald выглядит адекватнее json, но хотелось бы прояснить как дела с мультилайном при такой схеме (на каком этапе их склейка происходит) и можно ли игнорить контейнеры по маске, например

Anton
20.07.2018
07:13:07
У нас мультилайны вроде как не работают
блин, а как же длинные трейсы? =)

Мне кажется, что бороться с мультилайнами надо все-таки на уровне приложений. И, кстати, под капотом journald тот же json :)
свои сервисы уже сейчас начинают писать однострочным json, который можно куда угодно лить, но это гемор с агентом. если агент сажать в под - он может потерять логи на старте или остановке. если сажать в daemonset на каждую машину - нужно как то шарить логи, через hostPath - опять какие то костыли. да и с docker stdout\stderr нужно что то делать

Vitaliy
20.07.2018
07:15:47
блин, а как же длинные трейсы? =)
Приложения которые генерят длинные трэйсы отправляют их через gelf udp. Journald вроде как умеет multiline. Непонятно только как docker работает в этой ситуации

Vitaliy
20.07.2018
07:25:14
апп сам шлет udp пакет? при падении аппа это адекватно отрабатывает вообще?
Апп сам шлёт с помощью log4j2. А при падении нет большой разницы udp или stdout мне кажется

Anton
20.07.2018
07:26:52
тут просто обидно будет если сообщение не долетит, не успеет отправится. в общем как то одного единообразного решения не получается

Vitaliy
20.07.2018
07:27:45
Оно также в stderr может не успеть я думаю

Oleg
20.07.2018
07:32:31
Да. У меня подключается через pv
pvc из pinding не выходит для pv, который на hostPath. Есть пример рабочей конфы?

Andrey
20.07.2018
07:39:09
большинство проблем в докере/кубере/вм возникает изза отсутствия базовых знаний и текущих абстракций

"кубер решит ваши проблемы" но знать, как ACL в линуксе работает, всё-таки надо

Sergey
20.07.2018
08:03:10
дефолтный постгрес чмодит всё что нужно ему перед запуском: https://github.com/docker-library/postgres/blob/eff90effc6b5578be90bef93d96b3fceb1082a7c/10/docker-entrypoint.sh#L34

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