@kubernetes_ru

Страница 681 из 958
Alexey
12.07.2018
14:00:35
да хоть триггерами
Я всеми руками за критическию бизнес логику в триггерах (особенно операции с баблом, количество товара и тп). Только этот подход куча людей критикуют, типа бизнесухе не место в базе.

Fike
12.07.2018
14:01:13
Не место. Просто один из вариантов решения проблемы.

Alexey
12.07.2018
14:03:57
Ну у всех своё мнение. Я много случаев видел, когда за тонной кода забывали сделать транзакцию и неделями искали проблему. С деньгими. Нет, спасибо.

Quang
12.07.2018
14:15:04
Anyone is running Magento on docker ??

Google
Juriy
12.07.2018
14:19:14
Quang
12.07.2018
14:20:40
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 ??

Andrey
12.07.2018
14:33:46
$ run migrations $ kubectl apply
а миграции через job c restartPolicy: Never делать?

Alexey
12.07.2018
14:34:19
а миграции через job c restartPolicy: Never делать?
У вас как деплой происходит, руками или ci/cd?

Quang
12.07.2018
14:34:23
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
12.07.2018
14:34:42
Alexey
12.07.2018
14:35:39
автоматом от пуша до выката
ну в том же месте, перед выкатки запускать миграцию.

Andrey
12.07.2018
14:36:48
меня интересует инструмент в разрезе кубера. Для ci/cd доступен только endpoint кубера, вся конфигурация на его стороне, ci/cd только image меняет.

Alexey
12.07.2018
14:40:14
если предположить, что cd меняет только image, тогда как быть, если миграции прошли с ошибкой?... мало что можно. Миграции должны быть шагом перед деплоем в pipeline. gitlab runner/drone.io могут запускаться в k8n, если не хочется делать изнутри.

Juriy
12.07.2018
14:41:04
Alexey
12.07.2018
14:41:15
test -> build image -> migrate -> deploy это супер стандартная схема. Вообще все такое можно подсматривать у gitlab, у них все открыто и задокументировано.

Google
Alexey
12.07.2018
14:41:30
https://docs.gitlab.com/ee/development/migration_style_guide.html в том числе требования к самим миграциям.

У gitlab как эталона большого приложения, которое не просто выкатить. Не как gitlabci.

Andrey
12.07.2018
14:42:41
вообще я бы миграции ещё делал сначала на копии базы

Alexey
12.07.2018
14:44:11
Это image собирать с миграциями нужно... как-то костыльно выйдет. Проще настоять на доступе к базе

вообще я бы миграции ещё делал сначала на копии базы
у всех по разному, есть staging -> preproduction -> production

staging отдельная база. preproduction на проде, но не для всех. Это схема gitlab.

Т.е. нельзя просто пойти и сделать деплой в production. Только через staging и preproduction

Andrey
12.07.2018
14:45:34
ну, настаивать не обязательно, это мне решать. просто билды делаются в vsts, там всё немного костыльно и добавление нового внешнего источника или endpoint затруднительно

Т.е. нельзя просто пойти и сделать деплой в production. Только через staging и preproduction
это да, я пока строю автомат от мастера до дев окружения

плюс база находится в google cloud и снаружи недоступна

Alexey
12.07.2018
14:50:55
Хотя у тех же rails миграции лежать обычно в image. Сделать job, выполнить migration звучит нормально.

Psy
12.07.2018
14:51:01
Друзья, как разрулить такую ситуацию: есть заранее подготовленный образ с базой, создаю под и в итоге не вижу таблиц в своей базе, хотя сама база есть. Пробовал отдельно запустить контейнер с этого образа, в нём все файлы таблиц на месте. Грешу на сторадж, но пока не понимаю как это происходит

Alexey
12.07.2018
14:53:43
как-то не сходятся 2 ответа...

Carrol
12.07.2018
14:54:07
всё же экспортируется, если есть volumeMounts:

Google
Carrol
12.07.2018
14:54:57
а volume mysql-persistent-storage существует до запуска пода?

Carrol
12.07.2018
14:55:34
и этот volume пустой?

Psy
12.07.2018
14:55:54
да

ну, pvc свеже созданный

либо я не правильно понимаю работу со стораджами

Alexey
12.07.2018
14:57:22
Разве volumes не нужно описывать ниже описания контейнера? specs: container: ... volumes: - name: mysql-persistent-storage hostPath: path: /var/db

Carrol
12.07.2018
14:57:28
то есть есть такое: volumes: - name: mysql-persistent-storage emptyDir: {}

Psy
12.07.2018
14:59:04
аа, я понял

Carrol
12.07.2018
15:00:15
аа, я понял
эмммм?..

Psy
12.07.2018
15:07:12
не, не понял. не логично. создаю так:

containers: ... volumeMounts: - name: mysql-persistent-storage mountPath: /var/lib/mysql volumes: - name: mysql-persistent-storage persistentVolumeClaim: claimName: mysql-pv-claim

Psy
12.07.2018
15:20:48
яб понял еслиб вообще никаких данных не осталось, но например в табличке mysql/user остались мои пользователи, сама моя база тоже создана, но она просто пустая стала

Иван
12.07.2018
15:23:14
Все обрыл, не могу найти. Как померить сколько ест процессора конкретный деплоймент?

Через связку Heapster+influx+grafana не получается, так как в influx нету join'ов.

Sergey
12.07.2018
15:46:14
Как как хипстер депрекейтед

Иван
12.07.2018
15:47:03
Знаю, с metric-server вообще не понял пока как общаться)

Sergey
12.07.2018
15:47:40
Сразу в прометей спотреть тадауж

Иван
12.07.2018
15:47:59
В прометей смотрел, не нашел там вообще инфы по загрузке подов

Может туда как-то метрики можно добавить? Если тыкнете в статью буду благодарен)

Google
Sergey
12.07.2018
15:53:00
Ну для начала их не надо добавлять prometheus.io

Andrey
12.07.2018
16:05:23
у меня пока нет helm

Dmytro
12.07.2018
16:07:43
а как быть если миграция должна новый столбец сделать, на базе уже существующих? ты накатишь миграцию, сделается столбец с содержимым, а код еще старый работает, изменит старый столбец и данные разъедутся
так это надо правильно делать миграции, 3-step migration или как там, короче сначала деплоится код который умеет работать со старой схемой базы и с новой, потом деплоится (или еще как запускается миграция), когда миграция закончена - деплоится версия кода которая работает только с новой схемой базы (чистится код)

Andrey
12.07.2018
16:51:20
забавная у меня проблема. kubectl run говорит, что Error from server (AlreadyExists): pods "smartpb-scheduler-init" already exists при этом kubectl get pods —show-all ничего не показывает. Никто не сталкивался?

Artyom
12.07.2018
17:00:45
kubectl get pods --all-namespaces

Admin
ERROR: S client not available

Denis
12.07.2018
17:54:49
Вот это наброс :) https://developers.redhat.com/blog/2018/06/28/why-kubernetes-is-the-new-application-server/

Vadim
12.07.2018
18:56:28
Stating the obvious же

Stas
12.07.2018
18:57:31
редхаты свои бумажки пишут для удивительных энтерпрайзных дядек

Vadim
12.07.2018
18:58:35
Конкретно эта бумажка для девелоперов, но дальше будут обидные памфлеты для админов, "запомните это твит"

Quang
12.07.2018
19:06:13
“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

Do i need a nginx proxy beside an ingress for using domain name routing ??

Stas
12.07.2018
19:14:15
you need nginx ingress controller which is an nginx proxy managed through definition of k8s native ingress resources

Quang
12.07.2018
19:30:21
Ak i got it now..

Maksim
12.07.2018
19:38:39
Конкретно эта бумажка для девелоперов, но дальше будут обидные памфлеты для админов, "запомните это твит"
Да знаем ваших. Лезут везде и несут опеншифт в массы, а сами его ядро уже 3 года не трогали

Google
Maksim
12.07.2018
19:40:56
Без вазелина залезут, да же не зная инфру и потребности. А интерпрайз админы кушают ибо не умеют думать, толь клочки за вендором нажимать

Psy
12.07.2018
20:09:59
https://medium.com/google-cloud/kubernetes-nodeport-vs-loadbalancer-vs-ingress-when-should-i-use-what-922f010849e0

Норм так разжевано

Vasilyev
12.07.2018
20:34:25
Ток с лоад балансером немного приврали

Andrey
13.07.2018
06:41:03
А чем опеншифт-то от ванильного k8s отличается? Пролистал доки по origin, но особо разницы не заметил.

Sergey
13.07.2018
06:47:01
Dmytro
13.07.2018
06:57:39
Да уж, это ж надо уметь так сочинять

Stas
13.07.2018
07:05:27
в целом про шифт можно так сказать

Eugene
13.07.2018
07:07:12
А чем опеншифт-то от ванильного k8s отличается? Пролистал доки по origin, но особо разницы не заметил.
Мордой, своей маргинальной CD, есть котроллеры Deployment Config, который генерит деплойменты, контроллер ImageStream, вроде нжинкс научились но до этого у них роутеры вместо ingressController и был только f5 и haproxy, sdn свой написанный на коленке с использванием Openvswitch. А еще они ублюдки и Клейтон Колейман явно не здоров на голову. Юзаешь бесплатный опеншифт - запасись стульями, ибо регулярно будешь прожигать их горящим пуканом.

Maksim
13.07.2018
07:08:07
Maksim
13.07.2018
07:09:00
Два Summary про Router vs Ingress очень субъективен, плюс без dns записей Router не работает вообще.

и есть ещё одно отличие, чисто архитектурный, OS диктует Архитектуру, в то время как K8S можно подстроить под свою.

Короче в случае с OS мы подстраеваем вагонные пары, а в случаи с K8S мы стоим те рельсы которым нам нужны

Vadim
13.07.2018
07:14:04
>они ублюдки и Клейтон Я требую немедленного включения Клейтона в список ублюдков

Psy
13.07.2018
08:43:03
Вобщем я отчаялся заиметь свою закотовленную базу с имаджа. Попробую взять базовый образ для деплой пода, а вот чтоб положить свою базу- на сколько хорошее решение создать одноразовый под, который на нужный вольюм мне развернёт данные, а потом просто использовать этот вольюм в моём поде?

так делают вообще?

Страница 681 из 958