Bear
👍
Dmitry
Есть идеи как сохранить extended resource capacity(https://kubernetes.io/docs/tasks/administer-cluster/extended-resource-node/) на ноде после рестарта kubelet, не городя собственные device плагины? Сейчас после рестарта extended resource capacity становится равным 0 https://github.com/kubernetes/kubernetes/pull/64784 https://github.com/kubernetes/kubernetes/issues/64632
Andrey
hi, all! Чудной вопрос, мб, кто-то с таким сталкивался - В Gitlab’e есть такая штука - Gitlab pages. https://docs.gitlab.com/ee/administration/pages/index.html Но из коробки в чартах кубернетиса она не устанавливается и на это есть issue у разработчиков. Тем не менее, мои пользователи попросили, я эту фичу включил, внутри контейнера она работает, а как прокинуть ее наружу - не могу сообразить.
Andrey
По идее, надо прокидывать порты в ингрессе и сервисе гитлаба: kubectl edit svc gitlab-gitlab : ports: - name: pages port: 8090 (порт такой, если выставить в настройках прокси для Pages) protocol: TCP targetPort: pages kubectl edit ing gitlab-gitlab : - host: «*.pages.mydomain" http: paths: - backend: serviceName: gitlab-gitlab servicePort: 8090 path: / tls: - hosts: - «*.pages.mydomain» и - не работает. Смущает здесь то, что надо указывать wildcard - *.pages.mydomain потому что pages формируют на каждое свое использование url с названием юзера.
Andrey
Мб, кому доводилось такое настраивать?
Rainbow
В контейнере порт указан?
Andrey
а я вот тут недопонимаю - где именно надо указать? мб deploy отредактировать?
Rainbow
deployment
Andrey
чтобы пересобралось все по-новому и новый pod получился
Andrey
в нем не указывал
Andrey
только внутри пода перезапустил гитлаб с новой опцией
Rainbow
Если вы правили именно pod, то скорее всего совсем не правы, потому что pod сверху управляется deployment
Andrey
что ж - попробую deployment пошевелить, спасибо.
Andor
объясните мне пожалуйста тупому: это мне надо будет для оператора заводить по два сервиса? один для прода и второй для метрик?
Zhyhanov
Ребят немного нубский вопрос, есть фронт статика и есть у него config.js, в контейнере крутится это приложение, каким образом можно передать ему переменный, если с java и его application.yml может тянуть переменные с окружение. Может сделать костыль который будет заполнять в config.js переменные в зависимости от окружения. Может кто то подобные кейсы делал ?
Zhyhanov
там просто особеность, в том что файл config.js статика и она не умеет тянуть с переменые с окружения
Andor
ну втяни в этот файл из переменных окружения
Andor
хоть инитом, хоть конфигмапой
Zhyhanov
ну как сами переменые втянуть я разобрался, но не понял как мне файл втянуть
Zhyhanov
в entrypoint dockerize / envsubst / sed засунуть да и делов
получается так что мне каждый раз нужно будет билдить новый образ под разные окружения
Andor
нет
Andor
ты можешь научить твоё приложение читать переменные окружения
Etki
по факту ты оттягиваешь сборку конечного образа до запуска
Etki
есть таблетки похожие
Etki
ооооох, опять дно
Andor
а можешь класть эти переменные в файл при старте контейнера, который уже будет читаться твоим приложением
Zhyhanov
по факту ты оттягиваешь сборку конечного образа до запуска
суть просто в том что бы образ после тестов на одной среде перенсти уже готовый образ на другую, где например другие адресса и доменные имена
Etki
ну да, с этим проблем не будет
Etki
все сводится к тому, что ты просто рендеришь файл из шаблона перед тем, как запустить основное приложение в контейнере
Zhyhanov
а можешь класть эти переменные в файл при старте контейнера, который уже будет читаться твоим приложением
volumeMounts: - name: demo-config mountPath: /app volumes: - name: demo-config configMap: name: demo items: - key: settings.json path: settings.json
Zhyhanov
что то типа такого ?
Zhyhanov
верно ?
Rainbow
Верно. Только я докатился через пол года к тому, что держать статику в контейнерах отстой
Rainbow
Вы кстати через ingress можете делать /config.js роут от приложения на java. А статика общая тип.
Zhyhanov
Вы кстати через ingress можете делать /config.js роут от приложения на java. А статика общая тип.
с каждым разом я понимаю что нужно брать и разбиратся в ингрес :))
Rainbow
там нечего особо разбирать. Это почти базовый функционал
Rainbow
там смысл что можно делать / -> nginx со статикой /config.js -> java app /api -> java app
Rainbow
со статикой только учитывайте, что если там есть async import - то будут проблемы
Даня
ребят, порекомендуйте плз, то можно прикрутить в кластер для полноты картинки? джава+нода аппки: работают с консулом, монгой, редисом и реббитом. есть свой апи сервер и веб клиенты, бегают е2е тесты. эластик для сервис-провайдера и ефк стек для логов. завернуто в хельм. думал графану добавить и что-то еще для сбора метрик
Даня
но пока нет идей, т.к. идет активный девелопмент и нет нагрузки как таковой
Rainbow
kube-prometheus
Andor
prometheus + prometheus-operator via kube-prometheus уже советовали?
Andor
и обязательно ksonnet!
Andor
не только мне же страдать
Даня
и обязательно ksonnet!
это, я так понимаю, аналогия хельма?
Andor
Нет
Даня
Нет
ну пока я думаю он не нужен, на данном этапе. а вот если придется уже катить на стейджинг и дальше - появится необходимость в такой абстракции
Andor
А кто нужен?
Даня
или я может не понимаю истинное предназначение) прошу не бросаться помидорами в меня)
Denis
`
Anonymous
I want to assign permanent volume. What section I should add in my pod config yml file please?
Huan
привет всем, подскажите плз как можно узнать значение примапленной переменной из конфигмапа в деплойменте через kubectl describe deploy app или как-то по-другому?
Andor
Узнать ad-hoc или сложить куда-то в поде надо?
Huan
узнать
Huan
Environment: KAFKA_BROKERS: <set to the key 'KAFKA_BROKERS' of config map 'services-configmap'> Optional: false чтоб вместо set to the key 'KAFKA_BROKERS' of config map 'services-configmap' выводило значение
Andrey
Узнать можно в самом конфигмапе
Edouard
Привет, чат. Пробую кубер, v1.13.1, flannel, local-storage. Пытаюсь выпустить wordpress через nginx-ingress, столкнулся с следующей деталью
Edouard
Edouard
Как правильно указать External Traffic Policy в таком случае? Спасибо)
Edouard
Да, но в выводе describe svc имею External Traffic Policy: Cluster
Andrey
Да, но в выводе describe svc имею External Traffic Policy: Cluster
А, вижу. Дай ссылку на Helm Chart, который ты используешь.
Andor
@zuzzas а если чёткое описание чо надо делать чтобы оператор ловил мои эндпоинты? а то я скоро буду делать kind: Service чисто ради того чтобы оператор находил мои приложения
Edouard
helm ls ingress-exampl wordpress-5.1.1 5.0.3 default rafting-iguana nginx-ingress-1.1.4 0.21.0 kube-system
Andrey
helm ls ingress-exampl wordpress-5.1.1 5.0.3 default rafting-iguana nginx-ingress-1.1.4 0.21.0 kube-system
Официальный чарт штоле? В интернете ссылку. На github, например.
Andor
не, я именно для понимания
Andor
вайлдкард будет уже понятно как сделать после этого
Edouard
Да, ставил хельмом без затей. https://github.com/helm/charts/tree/master/stable/wordpress
Andrey
не, я именно для понимания
Ну, мы ставим одинаковый набор лейблов просто. И один ServiceMonitor ловит их во всех Namespaces. selector: matchExpressions: - key: prometheus-custom-target operator: Exists
Andrey
А для отдельных конкретных сервисов другой. А так wildcard'ом разные левые вещи ловим.
Andor
да не надо мне примеры, мне чёткое понимание где и что должно быть, чтобы оператор это гарантировано ловил
Andrey
да не надо мне примеры, мне чёткое понимание где и что должно быть, чтобы оператор это гарантировано ловил
Он ловит эндпоинты, которые создаёт Service или ты статически. Нужно указать селектор лейблов и namespaceselector.
Andrey
Я не знаю, как конкретнее ты хочешь. :)
Andor
вот я у себя сделал селектор и он нихрена не ловит
Andor
почему - я не понял
Andor
вроде всё верно сделал