Stefan
и вот в поисках наиболее оптимального решения для мультиподов
Rainbow
https://i.ytimg.com/vi/fEYceCWI_h0/hqdefault.jpg
Stefan
ахах баян, но смешной
Rainbow
и вот в поисках наиболее оптимального решения для мультиподов
оптимальное решение - скинуть разрабам ссылку на s3 либу. И s3 это не только aws s3. У почти у каждого облака есть s3 совместимое хранилище. На крайний случай minio.
Rainbow
а, у тебя же aws.
Rainbow
тогда 100500 вопросов почему не s3. слабый лид какой-то, если контр агрумент не приведёт.
Stefan
ну у нас сейчас питоновское приложение работает так, что оно в вольюм пода сбрасывает сгенерированные файлы
Rainbow
все ещё кейс s3
Stefan
ну это на будущее, этот вопрос пока даже и не подымался, с мультиподами
Stefan
в теории
Rainbow
подключить либу + пару строк в загрузке поменять + поменять места, где выдаются ссылки на файлы (обычно оно захардкожено, потому что не думают).
Stefan
а кстати, возможно такое не подойдёт, из-за того что скорее всего заказчики будут хотеть у себя на сервак размещать и завязка на s3 может не зайти(
Rainbow
https://minio.io
Stefan
Stefan
рассмотрим, спасибо
Rainbow
С s3 даже код загрузки писать не нужно. Там подписывается url и пользователь сразу льёт на s3 сервер. Никаких tmp файлов и тп в приложении. Это если совсем красиво. PS presigned url
Rainbow
aws это придумал. но есть куча s3 совместимых реализаций. Почти у каждого облака. У ceph. Просто minio. s3 compatible storage гугли
Stefan
aws это придумал. но есть куча s3 совместимых реализаций. Почти у каждого облака. У ceph. Просто minio. s3 compatible storage гугли
а самими средствами кубера я так понимаю хренушки да? просто если представить ситуацию с клиентом МЫ ХОТИМ КРУТИТЬ ЭТО НА СВОЕМ ЖЕЛЕЗЕ! НИКАКИХ АМАЗОНОВ И ПРОЧЕЕ кубер ван лав и только
Rainbow
ceph из очень сложного
Stefan
minio.io из простого
тогда изучу по лучше этот продукт, спасибо
Rainbow
тогда изучу по лучше этот продукт, спасибо
переключение между aws s3 и minio это скорее всего просто поменять credentials. url, accesskey, privatekey
Stefan
переключение между aws s3 и minio это скорее всего просто поменять credentials. url, accesskey, privatekey
ну тем не менее это ведь сэлфхостед решение, которое можно развернуть в кубер среде?)
Rainbow
да.
Stefan
что вполне должно подойти)
Rainbow
очень просто разворачивается. только доку внимательно читать и потестить отвалы нод (как правильно восстанавливать)
Stefan
@alexesDev кстати переубедил ты меня заюзать нжинкс таки, вместо траефика, еще и в инете наткнулся на интересные слова так доволен пока как слон, из-коробки возможность скейлить реплики, автоматическая синхронизация между репликами, безболезненное выписывание сертов, наверняка еще и производительность
Stefan
жаль что у траефиков пока до такого же не додумались, был бы не плохой конкурент
Rainbow
если использовать то, что использую большенство - меньше проблем словишь. traefik хорошее решение. Я им активно пользуюсь. Но не в кубе
Stefan
если использовать то, что использую большенство - меньше проблем словишь. traefik хорошее решение. Я им активно пользуюсь. Но не в кубе
мне он всё же зашел при необходимости простые инсталляции сделать, с докер-компоузами😆
Stefan
пока на большее надобности и не было))
Rainbow
не используй docker-compose на проде
Stefan
если использовать то, что использую большенство - меньше проблем словишь. traefik хорошее решение. Я им активно пользуюсь. Но не в кубе
та я не хотел нжинкс юзать из-за его настройки первичной😆 слегка сложен оказался, но поняв суть, всё оказалось не так плохо
Mikhail
Доброго времени суток, Кто нибудь пользуется kustomize? Возможно ли там организовать набор из практически одинаковых сервисов с ReplicationSet и pvc, такие чтобы цифра в названии менялась (организовать шардинг сервиса походу)? А то копипастить не очень, а ci/cd перекраивать чтобы cp + sed добавить тоже не подходящий вариант.
Stefan
не используй docker-compose на проде
не не, это так, для общего корпоративного пользования так сказать
Stefan
не относится к продукту никак
Stefan
сертификаты трэфик точно из коробки может
это собсна чем он и подкупал, но и то, чем мне не понравился в следствии автоскейлингов
Stefan
а тянуть в кластер zookeeper/consul etc для KV как по мне не нужный оверхед
Rainbow
Можно так делать kustomize build . | ID=10 envsubst | kubectl apply -f - apiVersion: apps/v1 kind: Deployment metadata: name: the-deployment$ID
Mikhail
Спасибо, способ интересный, но придется ci/cd переделывать. Но суть понятна.
Phil
не используй docker-compose на проде
а почему так? есть что-нибудь почитать на эту тему? почему не катят компоуз на прод?
Phil
это да, согласен)
Rainbow
Я предлагаю менять на https://docs.ansible.com/ansible/latest/modules/docker_container_module.html
Rainbow
Тот же yaml, почти теже опции. Только рядом огромная стопка других полезных штук.
Phil
Я предлагаю менять на https://docs.ansible.com/ansible/latest/modules/docker_container_module.html
о, спасибо, пойду гляну. а то вот совсем недавно вопрос встал, как катать связку образов на проде сразу
Nikita
кто знает как одолеть ошибку? lohmag:deployment nmass$ kubectl apply -f helloword-service.yml --force The Service "helloword-service" is invalid: spec.ports[0].nodePort: Forbidden: may not be used when type is 'ClusterIP' lohmag:deployment nmass$ kubectl get svc NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 14s
Nikita
это kubernetes mac desktop
Eduard
это kubernetes mac desktop
Это нарушение стандарта
Eduard
Или поменяй ClusterIP на NodePort
Eduard
Или выпили порт из описания
Nikita
там простенький сервис apiVersion: v1 kind: Service metadata: name: helloword-service spec: ports: - port: 31001 nodePort: 31001 targetPort: nodejs-ports protocol: TCP selector: app: helloword type: NodePort
Rainbow
в spec, а не в селектор
Nikita
ок, спс
Andrey
Ребят, а чтобы использовать разные реврайты на одном и том же домене, например: / -> / /service/ -> / /some_url/ -> /abc/some_url надо делать разные ingress'ы ? Или можно как-то разрулить одним?
George
Вообще, имхо, логика рерайтов не в ингрессе должна быть
Andrey
Зачем разными ингрессами ?
Но там ведь тип реврайта задается аннотацией.
George
Но там ведь тип реврайта задается аннотацией.
Ты рерайт можешь в своем прикладе делать ?
Andrey
Ты рерайт можешь в своем прикладе делать ?
не, тут суть как раз в том что нужно правильно раскидывать запросы по микросервисам
George
Ещё в одном прокси?
Давайте за бест практис поговорим. И так цепочки прокси получаются. Одним больше - одним меньше - только летенси страдает
Kirill
Давайте за бест практис поговорим. И так цепочки прокси получаются. Одним больше - одним меньше - только летенси страдает
Ну да, я к тому же. Реврайты вроде обычно настраиваются в нжинксе, а ты предлагаешь их вынести куда-то ещё.
Kirill
Ну в смысле на каком-то прокси
Andrey
Мне просто не оч нравится выносить такую логику дальше ингреса. Ну чтоб все что относится к приложению, валялось аккуратненько в yaml'иках, а не где-то в ансибловых плейбуках по которым настраиваются балансеры стоящие перед ingress.
Andrey
Собственно вопрос. Можно ли как-то в одном ingress'e использовать несколько типов реврайтов?
George
Если речь про настройку редиректов лейблами - ещё куда ни шло