E
Я это пытаюсь сделать на kube под windows
может прав на чтение папки нет, в манифесте мускула юзер никакой не прописан? попробуй запустить с privileged: true и securitycontext runAsUser поменять
Артем
может прав на чтение папки нет, в манифесте мускула юзер никакой не прописан? попробуй запустить с privileged: true и securitycontext runAsUser поменять
Просто про mysql это пример, не одни файлы не подгружаются, /env/php/www.conf:/etc/php/7.1/fpm/pool.d/www.conf В кубе соответственно volumes: - name: env-app1 hostPath: path: /env/php/www.conf volumeMounts: - name: env-app1 mountPath: /etc/php/7.1/fpm/pool.d/www.conf
E
ну глянь из под какого юзера контейнеры запущены и прочитай папку через sudo -u \#id ls /env/php/www.conf
Александр
Сделал PersistentVolume через nfs-provisioner. Возникли вопросы. Как на нем можно забекапить инфу? Доступ к нему имеют только поды? Нельзя просто взять руками и залить файлы?
Артем
ну глянь из под какого юзера контейнеры запущены и прочитай папку через sudo -u \#id ls /env/php/www.conf
В контенере все запускается от user, как сделать чтобы kub тоже с ним работал
E
в контейнере и на хосте разные юзеры, сам контейнер кубовый из под какого юзера запущен? он может ls на шару сделать?
E
на хосте через sudo ?
Артем
E
значит прав нет шару читать
E
перемонтируй с правами новыми или добавь юзера в группу или овнером или разреши всем всё
Antlar
парни, с прометей оператора раскатывается кто? как дашборды в графану заливаете?
Antlar
helm stable/prometheus-operator имею ввиду
Antlar
либо stable/grafana
Antlar
Antlar
интересует больше через модификацию values.yml способ
Rainbow
парни, с прометей оператора раскатывается кто? как дашборды в графану заливаете?
установить kube-prometheus, прочитать доки https://github.com/coreos/prometheus-operator/tree/master/contrib/kube-prometheus
Rainbow
В examples есть прилично примеров.
Артем
значит прав нет шару читать
Подскажите еще пожалуйста, проблема окзавается не в правах. Просто kub монтирует в рабочую папку корневой образ dockerfile. пример volumes: - name: app-env hostPath: path: / - name: app-env1 hostPath: path: /env/php/www.conf - name: app-env2 hostPath: path: /env/php/xdebug.conf - name: app-env3 и что в контейнере получается
Vadim
у вас PATH переписался на /var/www
E
volumeMounts ещё покажите
E
зачем / монтировать?
Артем
volumeMounts ещё покажите
volumeMounts: - name: app-env mountPath: /var/www - name: app-env1 mountPath: /etc/php/7.1/fpm/pool.d/www.conf - name: app-env2 mountPath: /usr/local/etc/php/conf.d/xdebug-dev.ini - name: app-env3 mountPath: /etc/supervisor - name: app-env4 mountPath: /etc/crontab.conf - name: app-env5 mountPath: /var/log/supervisor
E
subPath умеет файлы
Артем
subPath умеет файлы
В dockerfile нет папки с проектом она монтировалась при сборке через compose
Rainbow
это не сборка. это просто mount. И так не делают нормальные image. Нужно закидывать в код в контейнер и деплоить.
Rainbow
crontab у k8s родной, не нужно пытаться его запускать в контейнере.
Rainbow
supervisor это не нормально для контейнера
Rainbow
Вы можете делать как хотите, но не получите всех плюх от контейнеров и k8s, если это игнорировать, а будет боль.
Артем
Хорошо, вы советуете переделать dockerfile сначало?
Rainbow
Да. Должен быть самостоятельный контейнер, которому нужны данные подключения к базе через env и все. Тут сложности с php-fpm, потому что нужно решить 2 контейнера php-fpm и nginx или раздельно, я не эксперт, не скажу.
Rainbow
В dev вы можете и будете монтировать код проекта, но это dev.
Rainbow
А, лучше почитать про 12 factor applications
Артем
Ок, понял спасибо
Anton
Группа не только ест, но даже выпивает порой)
Александр
Книгу Kubernetes in action безусловно.
The
Ага
Разово шарить порт наружу через прокси и пробовать моньтировать на удаленый хост, кмк.
The
идея. Попробую
У меня nfs сервер снаружи, в моём случае удобнее получается
Александр
У меня nfs сервер снаружи, в моём случае удобнее получается
Через nfs-provisioner с PersistentVolume и PersistentVolumeClaim?
Александр
Yep
не кинешь мануалом? Интересно почитать
Light Mushroom
Всем привет
Light Mushroom
есть ли способ заснапшотить под?
Light Mushroom
не pvc, а под целиком?
Andrey
Привет. Зачем?
Grigorii
есть ли способ заснапшотить под?
а что за кейс такой необычный? контейнеры вроде должны быть иммютабл
Andrey
Если ты меняешь что-то в overlay FS контейнера, то не делай это.
Andor
надеюсь для живой миграции
Nikolay
ну вообще, насколько я понимаю, можно посмотреть, в каком контейнере живет под и сделать его имидж усилиями докера. но подойдет ли - хз
Light Mushroom
дело в том, что под- экземляр системы
Light Mushroom
но как по мне извращение
Sam
парни, что-то я не пойму как по нормальному организовать pipeline для деплоя с помощью Jenkins'a, по сути задача cкармливать yaml файлы кластеру k8s. yaml файлы хранить в отдельном репо? если так, то тогда надо отдельно идти комитить специфик файл после каждого билда имейджа, а затем аплаить все.. звучит не очень хорошо. Держать в коде репозитория вместе с дженкинс файлом.. и тригерить после при изменении, или сделать джобу отдельную для деплоя и подставлять нужную версию и комитить в репо с конфигами с самого дженкинса.. не пойму как организовать флоу в целом
Andor
глянь kubernetes the easy way доклад, он описывает как у него сделано
Huan
првиет всем. засетаплен куб 1.13.3. после сетапа (1-2 часа)на воркер нодах на всей файловой системе ставится chmod 777. никто с таким не сталкивался?
Huan
ссш ни у кого нет
Sam
глянь kubernetes the easy way доклад, он описывает как у него сделано
I do not use GKE. Концепт пыщ-пыщ прикольный конечно, но по прежнему не понятно организовать процесс. А стоп, ты наверно про Jenkins X: Easy CI/CD for Kubernetes
Rainbow
I do not use GKE. Концепт пыщ-пыщ прикольный конечно, но по прежнему не понятно организовать процесс. А стоп, ты наверно про Jenkins X: Easy CI/CD for Kubernetes
выполнить любым ci/cd export IMAGE=myregistry.com/company/project:$COMMIT_SHA docker build -t $IMAGE . docker push $IMAGE cat k8s.yml | envsubst | kubectl apply -f - В k8s.yml в git проекта что-то вроде spec: image: $IMAGE
Rainbow
Можно даже по крону без ci/cd вызывать bash с кодом выше - будет работать 🙈 git pull только делать
Zhyhanov
Zhyhanov
на данный момент у меня просто set image все делается
Rainbow
Я sed использовал пока пол года назад мне тут не подсказали envsubst
Rainbow
а я все думал как в йамлах версию менять, и не доходило до меня ппц, думал седами или еще чем то
на части проектов сделано k8s.js console.log(JSON.stringify({ metadata: { // ... }, spec: { image: process.env.IMAGE } })); Тоже норм docker run -e IMAGE= ... nodejs k8s.js | kubectl apply -f -
Tadeusz
лол
Tadeusz
еще perl туда вкрутите
Rainbow
ну json удобно писать? Что за коменты. Родной же формат для js
Rainbow
а вот это не понял :)
ну kubectl принимает json, потому что json подмножество yaml. на nodejs генерить json.