Stanislav
ну или настраивать приложение, чтоб ему было пофиг на сертификат
Andrey
Эххх, ладно попробую сначала попинать фронтовиков, чтоб при серверном рендеринге ходили как минимум без https.
Stanislav
Успехов... Обычно такое редко получается...
Rainbow
У меня на самом деле стремный кейс. Есть фронт, который использует server side rendering. Т.е. первый зарос от клиента он рендерит сам в html, а потом просто идет общение клиента с апишкой. Так вот когда он рендерит, во все апишки он бегает по сути с сервера "через наружу", от чего у меня сильно горит. В данном конфиге можно выкинуть как минимум 1 nginx из цепочки. Вот теперь думаю как это красиво обойти. Пока решил внутри кластера переопределить IP апишки с внешнего на ингрессовский. Но тут наткнулся на то что у меня SSL offloading делается на внешнем nginx, не на ingress. А если я зарулю все запросы изнутри на ingress, то на 443 порту получаю болт. Вот думаю сейчас сделать так чтобы все ingress слушали и 80 без ssl для внешних запросов с балансера и 443 порт для запросов изнутри кластера для тех доменов, для которых я переопределил IP.
эм, я хожу по dns от сервиса, в чем проблема?
Rainbow
там 2 собранных бандла, для браузера и ssr. Для ssr свой url у api
Andrey
эм, я хожу по dns от сервиса, в чем проблема?
проблема в микросервисах. Схема такая: api.domain.ltd: /service1/ /service2/ /service3/
Andrey
т.е. можно конечно заставить фронтовиков при серверном рендеринге ходить в каждый сервис по отдельности, но выглядит это печально. А так же я лишаюсь логов
Rainbow
логи nginx? они есть у api же
Rainbow
просто попинать фронтовиков сделать в env переменную, куда ходить ssr. Это самый адекватный путь.
Rainbow
Я от своих требую макс гибкости. Никаких привязок к окружению, все параметры в env.
A
Вопрос про сертификаты, как их в секреты размещать и насколько правильно это делать для сертификатов etcd?
Andrey
логи nginx? они есть у api же
ну логи запросов да. Чтобы единая аналитика по нагрузке была.
Andrey
просто попинать фронтовиков сделать в env переменную, куда ходить ssr. Это самый адекватный путь.
А фронт на чем? Я со своими бьюсь, не могу заставить сделать так чтобы под разные домены не нужно было пересобирать
Ievgen
Ребзя, я тут посмотрел доклад некоего Дмитрия Столярова из компании Flant. Очень понравилось, впечатлен. Смотрел на 1.5x. Хочу еще! Посоветуйте очень крутых докладов по k8s на русском?
Dmitry
Кстати у кого-то вольюмы на кубе от DO работают ?
Ievgen
пойду добавлять все доклады ув. Столярова в свой плейлист на Pocket Casts
Ievgen
кстати, это был Сысоев или меня глючит?
Rainbow
если нравится тема
A
Меня почему то все игнорят второй день)
V
если нравится тема
о спасибо как раз разбираюсь
Pavel
Я от своих требую макс гибкости. Никаких привязок к окружению, все параметры в env.
Заставить всех разрабов под страхом сметной казни пожизнено писать доку на код который в зависимости от ENV меняет логику.
Max
Ребят, что делать если хочется managed kubernetes, но если исходящего трафика на 20тб, а в gke это будет стоить порядка 1600 баксов?
Anonymous
Друзья, делаю первые шаги в kubectr. Создал поды с nginx, теперь хочу подключить к нему pv, создал pv, внес соответствующие изменения в pod.yaml, делаю apply, не поднимаются поды с ошибкой, что такой pv не найден. Когда вот он есть. Отрыквок лога: https://pastebin.com/8LnsqzYe куда копать?
Max
cloudflare. com/integrations/google-cloud/
Max
ну то есть любого трафика
Andrey
ну то есть любого трафика
ну тут тонкая грань. Если отдаете статики столько, то можно просто заюзать CDN, а вот если data трафика, то тут уже да, интересная ситуация
Max
админы, дайте плиз абилити ту сенд имагез)
Anonymous
Warning FailedScheduling 5s (x15 over 3m) default-scheduler persistentvolumeclaim "task-pv-volume" not found kubectl get pv pvc != pv
всё сделал, по логам монтируется как надо, но почему-то смонтированный каталог пуст
Pavel
а что в нем должно быть?
Anonymous
index.html могу все логи скинуть, чтобы уточнить всё
Pavel
по какому мануалу делали?
Anonymous
по какому мануалу делали?
по официальной документации
Pavel
дайте линк
Pavel
также нужены get pv get pvc
Anonymous
также нужены get pv get pvc
https://pastebin.com/hRsskiR6
Anonymous
дайте линк
https://kubernetes.io/docs/tasks/configure-pod-container/configure-persistent-volume-storage/#create-a-persistentvolume
Pavel
cloudshell и gke-standard-cluster-1-default-pool-3dbe5e08-962l/10.164.0.2 - это однин и тотже сервер?
Anonymous
cloudshell и gke-standard-cluster-1-default-pool-3dbe5e08-962l/10.164.0.2 - это однин и тотже сервер?
я понял к чему ты, но честно говоря не готов быстро ответить. Это шелл гугл клауда и мой index.html тут создан. Сейчас попробую выяснить.
Pavel
Type: HostPath (bare host directory volume) Path: /home/fruity_kubernetes/site PV/PVC не шарит данные на все ноды. он лишь указаывает куда обратиться для монтирования. HostPath позволит шарить данные между подами в рамках одного сервера, но если это разные сервера то либо придетя данные синкать руками. либо использовать дрыгой sc
Pavel
И почти все мануалы созданы для minikube - все происходит на одно сервере.
Anonymous
я понял свою ошибку, сейчас расскатаю вручную на все (три) ноды в такой же каталог который указал в настройках. Как попросить kubectl опросить заново перемонтировать волюмс? Удалить поды?
Pavel
да просто удалить
Anonymous
да просто удалить
Спасибо за помощь. Для меня тут всё в диковинку, глаза разбегаются от количества параметров, не всегда понимаю куда смотреть :) Хорошо, что есть такие каналы с дружеской поддержкой!
Anonymous
Да. Помогло, как и было видно в логах, для монтирования берет локальный каталог нод кластера гугла.
Nik
кто пользует calico + ipvs - почему eternalIPs на сервисе может валить ноду? на iptables+weave такого не было
Nik
я старый кластер пересобрал, поставив калико и включил ipvs. И по привычке высветил на мастерах dashboard. и тут же они все улетают в NotReady. Пришлось пересобирать
Oleg
Warning Unhealthy 30m kubelet, sdp40 Readiness probe failed: calico/node is not ready: BIRD is not ready: BGP not established with 10.16.144.220 Warning Unhealthy 16m (x65 over 30m) kubelet, sdp40 Readiness probe failed: calico/node is not ready: BIRD is not ready: BGP not established with 10.16.144.221,10.16.144.220
Oleg
зачем то пытается BPG поднять до этих IP
Никита
зачем то пытается BPG поднять до этих IP
Оно между всеми нодами пиринг поднимает.
Oleg
Оно между всеми нодами пиринг поднимает.
чем ему может мешать externalIPs в этом?
Oleg
с указанием IP нод, как это делали на iptables том же
Oleg
ingress-nginx LoadBalancer 192.168.239.26 10.16.144.220,10.16.144.221 8080:31999/TCP,6443:31795/TCP 5m27s
Никита
Чёт я не очень понял. >BGP not established with 10.16.144.220 Это externalIP сервиса какого-то?
Nik
дашборда
Oleg
Name: ingress-nginx Namespace: ingress-nginx Labels: app.kubernetes.io/name=ingress-nginx app.kubernetes.io/part-of=ingress-nginx Annotations: <none> Selector: app.kubernetes.io/name=ingress-nginx,app.kubernetes.io/part-of=ingress-nginx Type: LoadBalancer IP: 192.168.239.26 External IPs: 10.16.144.220,10.16.144.221 Port: http 8080/TCP TargetPort: http/TCP NodePort: http 31999/TCP Endpoints: 192.168.5.3:80 Port: https 6443/TCP TargetPort: https/TCP NodePort: https 31795/TCP Endpoints: 192.168.5.3:443 Session Affinity: None External Traffic Policy: Local HealthCheck NodePort: 31587 Events: <none>
Oleg
External IPs: 10.16.144.220,10.16.144.221 - это 2 ноды
Oleg
сервис поднимается - ноды падают в NotReady
Никита
Это ip нод.
Oleg
да
Никита
И одновременно они у тебя указаны как externalIP в сервисе?
Oleg
да. так нельзя делать?
Oleg
на weave+iptables по другому не работало
Никита
Вангую, что это именно поэтому. Я бы баг запилил в калико. По идее, так не должно быть можно.
Никита
Кмк, то, что тебе надо -- NodePort.
Никита
ExternalIP и LoadBalancer -- это, в первую очередь, для облаков.