Rainbow
Ну у всех своё мнение. Я много случаев видел, когда за тонной кода забывали сделать транзакцию и неделями искали проблему. С деньгими. Нет, спасибо.
Quang
Anyone is running Magento on docker ??
Juriy
Quang
yes
Sr i have question.. how do you scale up your magento app ?? You are using redis for session cache and AWS EFS.. something like that ??
Juriy
Juriy
Rainbow
Quang
I did not scale
How many docker container you are using for Magento?? How about CI?? Any downtime when you do deployment via Kubernestes ??
Andrey
Andrey
меня интересует инструмент в разрезе кубера. Для ci/cd доступен только endpoint кубера, вся конфигурация на его стороне, ci/cd только image меняет.
Rainbow
если предположить, что cd меняет только image, тогда как быть, если миграции прошли с ошибкой?... мало что можно. Миграции должны быть шагом перед деплоем в pipeline. gitlab runner/drone.io могут запускаться в k8n, если не хочется делать изнутри.
Juriy
Rainbow
test -> build image -> migrate -> deploy
это супер стандартная схема. Вообще все такое можно подсматривать у gitlab, у них все открыто и задокументировано.
Rainbow
https://docs.gitlab.com/ee/development/migration_style_guide.html
в том числе требования к самим миграциям.
Rainbow
У gitlab как эталона большого приложения, которое не просто выкатить. Не как gitlabci.
Andrey
Andrey
вообще я бы миграции ещё делал сначала на копии базы
Rainbow
Это image собирать с миграциями нужно... как-то костыльно выйдет. Проще настоять на доступе к базе
Rainbow
staging отдельная база. preproduction на проде, но не для всех. Это схема gitlab.
Rainbow
Т.е. нельзя просто пойти и сделать деплой в production. Только через staging и preproduction
Andrey
ну, настаивать не обязательно, это мне решать. просто билды делаются в vsts, там всё немного костыльно и добавление нового внешнего источника или endpoint затруднительно
Andrey
Andrey
плюс база находится в google cloud и снаружи недоступна
Rainbow
Хотя у тех же rails миграции лежать обычно в image. Сделать job, выполнить migration звучит нормально.
PsyDebug
Друзья, как разрулить такую ситуацию: есть заранее подготовленный образ с базой, создаю под и в итоге не вижу таблиц в своей базе, хотя сама база есть. Пробовал отдельно запустить контейнер с этого образа, в нём все файлы таблиц на месте. Грешу на сторадж, но пока не понимаю как это происходит
Andrey
Rainbow
ℭ𝔞𝔯𝔯𝔬𝔩
PsyDebug
PsyDebug
Rainbow
как-то не сходятся 2 ответа...
ℭ𝔞𝔯𝔯𝔬𝔩
всё же экспортируется, если есть volumeMounts:
ℭ𝔞𝔯𝔯𝔬𝔩
а volume mysql-persistent-storage существует до запуска пода?
PsyDebug
ℭ𝔞𝔯𝔯𝔬𝔩
и этот volume пустой?
PsyDebug
да
PsyDebug
ну, pvc свеже созданный
PsyDebug
либо я не правильно понимаю работу со стораджами
Rainbow
Разве volumes не нужно описывать ниже описания контейнера?
specs:
container:
...
volumes:
- name: mysql-persistent-storage
hostPath:
path: /var/db
ℭ𝔞𝔯𝔯𝔬𝔩
то есть есть такое:
volumes:
- name: mysql-persistent-storage
emptyDir: {}
PsyDebug
аа, я понял
ℭ𝔞𝔯𝔯𝔬𝔩
PsyDebug
не, не понял. не логично. создаю так:
PsyDebug
containers:
...
volumeMounts:
- name: mysql-persistent-storage
mountPath: /var/lib/mysql
volumes:
- name: mysql-persistent-storage
persistentVolumeClaim:
claimName: mysql-pv-claim
PsyDebug
яб понял еслиб вообще никаких данных не осталось, но например в табличке mysql/user остались мои пользователи, сама моя база тоже создана, но она просто пустая стала
Иван
Все обрыл, не могу найти. Как померить сколько ест процессора конкретный деплоймент?
Иван
Через связку Heapster+influx+grafana не получается, так как в influx нету join'ов.
Sergey
Как как хипстер депрекейтед
Иван
Знаю, с metric-server вообще не понял пока как общаться)
Sergey
Сразу в прометей спотреть тадауж
Иван
В прометей смотрел, не нашел там вообще инфы по загрузке подов
Иван
Может туда как-то метрики можно добавить? Если тыкнете в статью буду благодарен)
Sergey
Ну для начала их не надо добавлять
prometheus.io
Dmytro
Andrey
у меня пока нет helm
Andrey
забавная у меня проблема. kubectl run говорит, что
Error from server (AlreadyExists): pods "smartpb-scheduler-init" already exists
при этом kubectl get pods —show-all ничего не показывает.
Никто не сталкивался?
Artyom
kubectl get pods --all-namespaces
Andrey
Dmytro
Denis
Вот это наброс :) https://developers.redhat.com/blog/2018/06/28/why-kubernetes-is-the-new-application-server/
Sergey
Stas
Vadim
Stating the obvious же
Stas
редхаты свои бумажки пишут для удивительных энтерпрайзных дядек
Vadim
Конкретно эта бумажка для девелоперов, но дальше будут обидные памфлеты для админов, "запомните это твит"
Quang
“Routing to internal Kubernetes services using proxies and Ingress controllers” https://tech.holidayextras.com/routing-to-internal-kubernetes-services-using-proxies-and-ingress-controllers-e7eb44954d53
Quang
Do i need a nginx proxy beside an ingress for using domain name routing ??
Stas
you need nginx ingress controller which is an nginx proxy managed through definition of k8s native ingress resources
Quang
Ak i got it now..
Maksim
Vadim
Maksim
Без вазелина залезут, да же не зная инфру и потребности. А интерпрайз админы кушают ибо не умеют думать, толь клочки за вендором нажимать
PsyDebug
https://medium.com/google-cloud/kubernetes-nodeport-vs-loadbalancer-vs-ingress-when-should-i-use-what-922f010849e0
PsyDebug
Норм так разжевано
Й
Ток с лоад балансером немного приврали
Andrey
А чем опеншифт-то от ванильного k8s отличается? Пролистал доки по origin, но особо разницы не заметил.