Ivan
Job output is logged to stdout / stderr
Andor
я пока не уверен, но кажется моя проблема решена без лишних сущностей
Andor
Job output is logged to stdout / stderr
подумал сначала что этот тот "крон" который контейнеры запускает, а не внутри контейнеров работает
Andrey
Парни, а где глянуть, как правильно делают для, например, php-fpm контейнер и nginx контейнер? Как их nginx статику раздавать? Копировать ее при сборке образа внутрь как то не ок
Andrey
Вроде понятно, что надо делать общий volume. Но есть его на папку с данными указать на контейнер phpfpm, то папка станет пустой? верно? или надо как-то при старте контейнера phpfpm копировать эти данные в volume? в общем, запуталося
Andrey
а, то есть весь код, а не только статику?
Andrey
а как в волюм этот код доставить?
Konstantin
а как в волюм этот код доставить?
Я так понимаю, вопрос про докер, а не кубер
Andrey
так именно про кубер. я тут чтото фундаментально не допонял. Как с докер композом все это дело поднять, вопросов не возникает
Andrey
А с кубером я эту задачу не решал пока, только самодостостаточнеые контейнеры пока были
Andrey
Хотя про докер композ я имею ввиду именно проброс волюма между сервисами. Ну я так делал
Ivan
при создании волюма код копируется из контейнера в докере
Andrey
ну вот у меня именно что не скопировался, а в контейнера папка стала пустая
Andrey
отсюда и понял что я ничего не понял
Ivan
я вообще запускаю нжинкс из того же image что и php-fpm
Ivan
для файлов генерируемых пхп подключаю волюм
Konstantin
при создании волюма код копируется из контейнера в докере
копируется, если dest пустой, если нет - берутся данные из волума.
bebebe
так именно про кубер. я тут чтото фундаментально не допонял. Как с докер композом все это дело поднять, вопросов не возникает
вы можете создать отдельный volume, запихнуть туда сбилженную статику и маунтить её из нескольких контейнеров read-only
Konstantin
а, то есть весь код, а не только статику?
сорри, дичь гоню) код в образе конечно же. В общем тут несколько путей и опять же зависит от окружения. У меня был как-то CDN, там одно - ассеты кешировались в CDN, если нужно чтобы nginx сам держал - другое. В большинстве случаев собирал отдельный образ nginx+статика или какой-то общий волум со статикой
Andrey
копируется, если dest пустой, если нет - берутся данные из волума.
apiVersion: v1 kind: Pod metadata: name: two spec: volumes: - name: shared-data # emptyDir: {} containers: - name: c1 image: nginx volumeMounts: - name: shared-data mountPath: /usr/share/nginx/html ну вот это например? оно чистит папку в контейнере nginx
Andrey
вы можете создать отдельный volume, запихнуть туда сбилженную статику и маунтить её из нескольких контейнеров read-only
еще volume в Dockefile должен быть объявлен после формирования данных в образе, ЕМНИП, иначе то, что создано инструкциями после, на вольюм уже не попадет
Andrey
Должны же быть примеры в живом мире) я бы поразбирался, только помогите., где глянуть)
Andrey
да, точно Changing the volume from within the Dockerfile: If any build steps change the data within the volume after it has been declared, those changes will be discarded.
Logan
коллеги, кто-нибудь пробовал работать с вот этим инструментом? выглядит очень многообещающе: https://openebs.io/
Anton
чет меня бесить потихоньку начинает helm. нет ну все класно, кроме того что в values.yaml нельзя ссылаться на другие values. и потом начинаешь в ci или новые yaml файлы генерить для деплоя или извращаться с --set X.Y[0].name= что скорее всего приведет к фейлу. смотрю на этой волне на ksonnet очередной раз, уже не так пугающее jsonnet выглядит как будто бы. кто нить использует у себя?
Sergey
хельма с головой хватает а переменные в переменные это изврат какой то
Anton
хельма с головой хватает а переменные в переменные это изврат какой то
ну как, вот ты в зависимостях говоришь "добавь какую то хрень и пароль для хрен N" и приложению нужно передать пароль тоже. согласись удобнее было бы в одном месте указать только
Sergey
ну не знаю, через конфиги передавай))
Sergey
Ребят, а кто то пробовал уже CoreOS Operator? Что это за зверь такой? Аналог хельма для CoreOS?
Sergey
в чем отличия от кубер-хельма?
bebebe
Не в амазоне
А причем тут это?
Andor
при том, что в общем случае это не работает
Andor
есть несколько драйверов/провайдеров которые умеют шарить волюмы
Andor
но далеко не все
MRY
Всем привет. Есть у кого линки как работает heapster или telegraph, инетресует как вручную поднять и прописать лог колекторы для кубера, как говорится хочется увидеть изнутри. Поднять inflyx/elasticsearch + прицепить графану это не проблема, больше интересует как собираются логи и метрики из k8s окружения.
Sergey
https://github.com/kubernetes/heapster
Sergey
не?)
Andor
heapster/cadvisor/kube-state-metrics
Andor
первое с прометеем не работает, но требуется для графиков в дашборде
Anonymous
такое решение - сильно лучше чем прометей?
Andor
у нас cadvisor и kube-state-metrics используются с прометеем
Anonymous
чтото большой зоопарк технологий - непонятно, что куда
Anonymous
прометей: тычется к эндопоинты, собирает с них инфу и кладёт к себе в БД, откуда можно графаной строить графики
Anonymous
а это heapster/cadvisor/kube-state-metrics как работает?
Anonymous
я как раз на пороге принятия решения на этот счёт, и теряюсь сильно
Andor
cadvisor - экспортер про метрики контейнеров
Andor
kube-state-metrics - экспортер про стейт кубера
Andor
хипстер только для дашборды юзаем, но он вроде умеет в инфлюкс, хз
Andor
первые два - с прометеем дружат
Anonymous
получается, что первые два - маст хэв, чтоли
Andor
ну первый в кубелете зашит
Andor
а второй очень полезен
Anonymous
в моих влажных фантазиях кубик сам умел отдавать метрики ))
Anonymous
ааа, вот оно
Andor
кубелет отдаёт сам
Andor
стейт-метрик опционален, но очень полезен
Anonymous
вроде и установка у него как два пальца об асфальт
Andor
ну да. просто демонок внутри кубера
Andor
и кубер-дискавери в прометее для него
MRY
Интересно в k8s есть похожие команды для генерирования полного reference к примеру kind: Deployment, что то похожее на aws ec2 blablabla —generate-cli-sceleton > blablabla.json ???
MRY
что-то вроде этого https://gist.github.com/negz/c3ee465b48306593f16c523a22015bec ?
Вот за этот скриптик спасибо. Единственно, что он сгенерировал скелеты только на основе существующих субьектов. А так не плохо, благодарю.
Alexey
Добрый день, я хочу один котейнер в поде разделить на два: один с доступом к базе, а второй без. И собственно возникли вопросы: 1) можно ли секреты цеплять к контейнеру, а не поду, чтоб у второго не было секретов 2) как лучше всего организовать коммуникацию? Порт на локалхосте? Сокет? Нужны ли доп к8с сервисы? Надо ли что-то делать чтоб к контейнеру без доступа к базе мог коннектиться другой контейнер только из того же пода?
Andor
Секреты же и так к контейнерам цепляются, а не к подам
Andor
Секреты превращаются в переменные окружения или конфигмапы, которые уже к контейнерам цепляются
Alexey
Да, точно
Andor
Слушай юникс сокет или локалхост и будет норм
Alexey
Если несколько таких подов будут на одной ноде и все откроют один порт это будет ок?
Andor
У каждого будет свой локалхост
Alexey
Ок
Alexey
Спасибо
Denis
Подскажите пожалуйста. Поднял локально на VB k8s. С одним мастером и 2 воркерами. И частенько при деплое получаю такое сообщение. Я понимаю что под не может быть размещен, но логику почему не могу понять
Denis
0/3 nodes are available: 1 node(s) had taints that the pod didn't tolerate, 2 node(s) didn't match pod affinity/anti-affinity, 2 node(s) didn't satisfy existing pods anti-affinity rules.
Andor
что подсказать-то?