Rainbow
не было бы k8s на baremetal, задача стояла такая же. Там куча разных классических решений.
Rainbow
можно через cloudflare даже
V
видимо нужно переформулировать мысль
почему я вот поднял deployment ingress-nginx и если сейчас подыму второй то как будут работать правилла которые создаются в ресурсе ingress
Rainbow
daemonset это паттерн 1 под на 1 ноду
V
нене я имел ввиду что я хочу поднять второй чтобы мягко перевести на другой ip адрес
Maksim
Правила буду рабоать на обоих ингресс-контроллерах
Rainbow
на 1 ноде 2 ip?
Maksim
Это тут при чем?
Rainbow
Если нет, то это задача 2 ingress-controller в deaemonset на двух нодах. Оно само плавно переедет.
Maksim
Такое впечатление, что вы создали не сущетсвующуюп проблему и пытаетесь её решить странными методами
Maksim
Я так понимаю демон сетом вы пытаетесь гарантированть запуск подов на разных нодах?
Rainbow
Это тут при чем?
при том, что зачем-то человек ххочет deployment
Maksim
Вай нот?
Maksim
В ч>м проблема?
Øk_gø_løve
ты когда в аннотациях для Ingress пишешь kubernetes.io/ingress.class: nginx - они привязываются к nginx с классом nginx
Øk_gø_løve
можно переопределить класс и указывать в нужных тебе внутренних ингрессах другую аннотацию
Øk_gø_løve
да спасибо я уже чуть понял
тут хороший пример https://github.com/kubernetes-incubator/external-dns/blob/master/docs/tutorials/public-private-route53.md
Anton
нене я имел ввиду что я хочу поднять второй чтобы мягко перевести на другой ip адрес
трафик на другую ноду будет приходить? вообще ingress nginx controller собирает конфиг для nginx из описаний ingres resources. при этом он может ограничится каким то ns. сколько реплик ты там запустишь или сколько раз задеплоишь и каких kind - твое дело. самый простой вариант - daemonset + hostnetwork. так можно получить везде nginx ingress, который откроет 80 443 tcp порты
Rainbow
В ч>м проблема?
в том, что если сверху балансер, то стоит гарантировать, что на нодах под балансером будут поды. И под такие задачи есть daemonset
Andrey
Ребят, а kubernetes ingress nginx умеет http2 без ssl?
Anton
nginx сам по себе может, но наверное придется хернуть свой шаблон
AB 🇨🇾 🍉
Всем привет! Помогите разобраьтся, есть 4 сервера (1 мастер 3 воркера), есть 4 внешних ip. Почему при таком конфиге весь трафик на 80 и 443 идет на nginx со ВСЕХ 4-ех ip-шников?
AB 🇨🇾 🍉
AB 🇨🇾 🍉
externaIPs только один, а порты 80 и 443 почему-то работают как nodePort (приниют запросы со всех четырех ip и шлют в сервис nginx-a)
Konstantin
как можно отдебажить kops, если он после смены типа инстанса, старую ноду прибил, а новую не создал? И теперь ig висит как READY, но ready nodes = 0, при том что минимум 1
Øk_gø_løve
это амазон?
Anton
Подскажите, в какое место Kubernetes вы добавляете static, которая обычно рядом с nginx лежит? на ingress? собираете отдельный контейнер nginx со статикой? или же статика в контейнере с приложением?
Rainbow
отдельно контенером nginx или через minio. пока не определился на 100%
AB 🇨🇾 🍉
это амазон?
нет, это провайдер без поддержки внешнего LB
Øk_gø_løve
нет, это провайдер без поддержки внешнего LB
тогда зачем делать type: LoadBalancer?
Anton
походу все так =)
ingress или свой контейнет nginx забирает статику с S3?
Rainbow
ingress -> minio
Rainbow
minio это свой s3
AB 🇨🇾 🍉
тогда зачем делать type: LoadBalancer?
Сразу так было сделано и в принципе работало.. до такого момента как на остальные ip не понадобилось тоже заиспользовать 80порт под другие сервисы
Rainbow
Anton
ingress -> nginx со статикой
это 2 разных контейнера? ingress это nginx. его нельзя использовать для раздачи статики?
AB 🇨🇾 🍉
кстати у меня норм, pinding ip на новом сервисе которому нужен 80
Rainbow
это 2 разных контейнера? ingress это nginx. его нельзя использовать для раздачи статики?
в теории можно использовать, но будет сильно неудобней. Типа для каждого фронта часто нужен особенный config. nginx в отдельном контейнере со статикой отлично решает задачу. как htaccess
V
о люди добрые и умные подскажите пожалуйста в чем может быть разница в этих анотациях к ingress ingress.kubernetes.io/cors-allow-credentials: "true" ingress.kubernetes.io/cors-allow-origin: '*' ingress.kubernetes.io/enable-cors: "true" kubernetes.io/cors-allow-credentials: "true" kubernetes.io/cors-allow-origin: '*' kubernetes.io/enable-cors: "true”
Andrey
У одного контроллера есть опция --annotations-prefix ingress.kubernetes.io, а другого нет.
V
У одного контроллера есть опция --annotations-prefix ingress.kubernetes.io, а другого нет.
а где и как вообще это описывается опзиональность и работа с анотациями
Andrey
Здесь: https://github.com/kubernetes/ingress-nginx/tree/master/docs
V
в helm чарте под это есть отдельная value
да я больше вопрос о контроллерах так как еще напрямую не имел с ними работу я так понял это какая то отдельная сущность у кубера
Oleg
А Кубер от DO уже обсудили? Выглядит фантастически дёшево
V
контроллеры? отнюдь, это просто контейнеры
да но которые управляются аннотациями ?
Øk_gø_løve
да но которые управляются аннотациями ?
аннотациями управляется скорее loadbalancer и то, как твой контроллер будет с Ingress работать
V
А Кубер от DO уже обсудили? Выглядит фантастически дёшево
ну наверное как и везде цена просто за виртуалки там они дешевле чем gcloud aws azure в раза 2-3
Oleg
И ничего за контроллер платить не надо
Rainbow
ну наверное как и везде цена просто за виртуалки там они дешевле чем gcloud aws azure в раза 2-3
У aws сразу предлагают кластер за $200+ ha, не нашел как сделать тестовый подешевле
V
И ничего за контроллер платить не надо
гугле вроде тоже за контроллер не платишь только виртуалки
Rainbow
А как дам DO себя чувствует? Я с него увел даже свои проекты, потому что бан по ip не удобен.
Mik
Пишем обвязки и перепокупаем по 40 машин)
Rainbow
Пишем обвязки и перепокупаем по 40 машин)
пока не попадётся ip вне списка?
Адаптивный Рекомбинатор
вот за мониторинг вопрос, прометей и к8, хочу мониторинг нод, для этого юзают node-exporter, однако, в поле instance я вижу только ip:port, что логично для job role: pods, значит ли это, что надо скрейпить их из job role: nodes ?
Rainbow
агаг
вам бы награду за костыли))
Rainbow
В хорошем смысле)
Rainbow
Я не додумался бы
Mik
У ДО есть свои прелести для нас, потому мы не готовы просто взять и выкинуть его за борт
Oleg
А ещё до дешевый, и это огромное преимущество для мелочи
Vadim
не особо дешевле гугла, а кроме того DO Spaces - это out-of-tree модуль, да и preemptible нет
Stas
DigitalOcean Kubernetes does not yet support auto-scaling. брямс...
Sergey
:C
Stas
преемтибл хост гугловый 1 cpu/ 3.75 RAM стоит в финке 8 баксов в месяц. Для куба один фиг преемтибл они или нет
Vlad
вы evict делаете для pod'ов на preemtible нодах перед выключением ноды?
Stas
ничего такого не настраивал
Vlad
понятно. просто для kubernetes смерть ноды неожиданность. и никакой соломки по умолчанию gcp не подстилает. никаких drain и crodon не происходит.
Stas
нет не подстилает - отправляет на ноду сигнал. Тут сразу гуглится статья, где люди меняют дефолтный нод пул на такой в котором по сигналу нода лезет в куб и дрейнит себя - можно сделать, но я ничего такого не держу, что не переживает вырубания ноды