Anatoliy
ну так по сути на каждый сервис придется вешать прослойку в виде этого gw, я ведь прав?
G72K
Нет, gw один и через него все ходят. Можно на коленке на базе Nginx ingess controller собрать прототип
Anatoliy
Anatoliy
Ну в общем по api gw нашел вот такую штуку: https://www.getambassador.io/user-guide/getting-started и судя по всему это действительно круто) Умеет кубер, есть исходники на гитхабе.
Serega
так можно и до Kong дойти. Только далеко не всем сервисам нужны эти апи гетвеи.
Igor
Serega
Dmitry
Igor
Оно надо для чего:
Разводить роутинг между public/private
Авторизацию общую, а не в каждом сервисе и т.п.
Но там еще пилить и пилить, сейчас все работают в этом направлении, включая nginx unit
Igor
например? istio ?
Не факт, но они бегут быстро, быстрее nginx unit по крайней мере. На базе envoy будет много GW со временем.
Serega
а смысл в nginx unit в кубере? у nginx unit вроде другой бизнес-кейс.
Igor
Смысл этих движков, управление http/s трафиком через API, тогда они легко встраиваются в компоненты типа Istio, где можно создавать условия общения между сервисами.
Serega
таки да, Service mesh у nginx unit как одна из фич.
Serega
ну посмотрим, думается мне что istio больше под k8s заточен.
Anatoliy
Так, стоп, поясните пожалуйста один момент. api gw нужен что бы сервисы могли удобно обращаться по адресу вида mainaddr/service/... ? и при этом всегда быть уверенными что им ответят, так? В итоге не надо головняка при смене сервисов, просто назначаем новые по тем же адресам, так?
Anatoliy
Но в итоге у нас есть кубер, который может назначать сервисы по адресам вида http[s]://service-name/... ? Так зачем тогда нужен api gw?
Serega
есть API Gateway и есть Service Mesh. Иногда обе эти технологии обьеденены в один продукт.
Назначение апи гетвея - скорее для обслуживания запросов из вне.
Назначение сервис меш - связность сервисов внутри кластера.
Igor
Anatoliy
угу, т.е. кубер дает сервис меш, так?
Anatoliy
а для связности с внешних запросов уже нужен api gw?
Anatoliy
Тогда да, это имеет смысл и будет очень круто когда будет работать. Но пока оно мне не надо, обычное бы приложение доделать, пока и без api
Serega
ну вот и бери обычный ингрес.
Anatoliy
так его и взял)
Anatoliy
а кто nfs пользуется, можете подсказать какие могут быть проблемы если соединение разорвется и на одной из машин в это время в папку что-то запишется? а потом соединение восстановится?
Maksim
под умрёт.
Maksim
а дальше всё зависит от аппликатива
Anatoliy
который? и когда? сразу после разрыва?
Maksim
когда попытается обратиться в volume
Maksim
все поды, которые попробуют обратиться к volume
Anatoliy
Т.е. если у меня там будет база то она упадет и начнет подниматься по новой? и так пока не подрубится вольюм?
Anatoliy
мда... наверное это плохая идея все же ставиь нфс...
Maksim
ну для экспериментов, и на первых порах можно
Anatoliy
а потом?
Anatoliy
немного поясню, я хочу поставить postgres, и даже в принципе не против поставиь только один мастер, но все что читаю - предлагают ставить сразу кластер, в принципе я и против этого ничего не имею, но если уж есть примеры перед глазами сразу с нормальным развертыванием - почему бы и нет
Maksim
а что потом? Потом нужно схд с отказоустойчивостью.
Maksim
Maksim
да
Maksim
Azur Aws
Anatoliy
$194.1800 в месяц за машину с 30 гигами оперативки и 8 ядрами. Притом что я щас плачу за подобное 40
Anatoliy
чет такое себе
Anatoliy
И это я еще не смотрел сколько места на дисках там есть, что скорее всего отдельно и тоже платно
Vitalii
Мы смирились с hostPath и nodeSelector например
Maksim
Anatoliy
Мы смирились с hostPath и nodeSelector например
ну с nodeSelector и я смирился. правда я делаю через
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: env
operator: In
values:
- dev
Maksim
40 Баксов?
Anatoliy
40 Баксов?
https://www.soyoustart.com/ie/essential-servers/
Anatoliy
падение на моей памяти было только раз, но у них там вообще все падало
Anatoliy
диски тоже заменили сразу как сыпаться начали. правда по запросу. но проблем с ними не было ни разу
Maksim
ну так орендуй там 3 сервака
Maksim
сделай на них гласт или сеф
Maksim
разверни кластер кубера)
Maksim
и вуаля)
Maksim
правда стоит будет 120
Maksim
Дык подсели туда еще сеф какой нибудь
Anatoliy
правда гласт я не ставил там
Serega
c GCE очень круто эксперементировать. 300 фришных баксов на год... да с preemptible нодами.. всяческие фишки из коробки. Ну и вестимо persistent volumes с динамическим pvc
Anatoliy
300 фришных баксов на год ?
Anatoliy
пояснить можно?
Etki
когда регистрируешься, тебе дают триста долларов. если не успеешь использовать за год все, остаток сгорит
Etki
есть еще программа always free, которая позволяет тратить чуть меньше, но в промышленных масштабах прям погоды вряд ли сделает
Dmitry
Как ей воспользоваться?
Serega
https://cloud.google.com/free/
Serega
но у всех крупных клауд провайдеров есть подобное.
bebebe
смотрю в Dockerfile от heketi, и в нем делается EXPOSE на 8080 порт
у меня на этом порту уже слушает k8s-dashboard
при создании daemonset'a на двух нодах, где на этом порту слушает уже dashboard контейнеры не стартуют
это шах и мат?
Anatoliy
а что мешает не открывать порт на 8080? или expose это типа принудительно?
bebebe
дело не совсем в этом, внутри heketi биндится на :8080 который уже already in used
bebebe
и поменять это без пересборки контейнера я так понимаю нельзя
Anatoliy
видимо я что-то не понимаю, если вы запускаете контейнер отдельно - какая вам разница куда он идет?
bebebe
поды не стартуют
Roman
Maksym
▫️Какой у вас проект или где работаете?
Несколько проектов на k8s
▫️В чём вы специалист?
Linux, виртуализация, ci/cd
▫️Чем можете быть интересны или полезны сообществу?
Помогу чем смогу с k8s
▫️Чем интересно сообщество вам?
Обсудить новости
▫️Откуда вы?
СПб
#whois
Anatoliy
Maksym
Попробуем :-)