Rémy
Привет всем, есть ли здесь пользователи, которым было бы интересно начать перевод документации Kubernetes на русский язык? Не стесняйтесь связаться со мной (на английском или французском, я не говорю по-русски), чтобы начать, если вы заинтересованы 🙂
Vadim
𝚔𝚟𝚊𝚙𝚜
Nikolay
Спасибо, посмотрю
David
Добрый вечер всем! Новый доклад! Про request и limit подробно и на пальцах, и не только про них. Надеюсь, будет полезно: https://youtu.be/10ZR-fbyuSY?t=400 . Сокращенная версия текстом: https://habr.com/ru/company/flant/blog/459326/ .
Roman
спасибо, Дмитрий!
Andrey
David
Нет.
Andrey
Нет.
Это зря - имхо, одна из наиболее полезных фичей в плане борьбы с resource starvation на нодах в условиях, когда не на все проставлены лимиты. Ну, чисто так мое мнение.
David
Вы гляньте, потом скажете, было ли полезно.
Vadim
еще неплохо было бы осветить https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
David
Мне всегда хочется осветить в несколько раз больше, чем возможно упихать в один доклад. Не знаю, что с этим делать.
Vadim
David
Vadim
картиночки красивые, а тут недавно писали что лимиты на цпу нельзя ставить
Co(n)stantine👨🔬
Sergey
Да сделайте два доклада, первый Уде есть, второй - расширенная версия
Andrey
Andrey
Хм, а может статья с подробным описанием принципов работы kube-proxy будет полезна?
Sergey
G72K
Andrey
Vadim
Andrey
Andrey
но разве еще такого нет?
Vadim
судя по частым "шэф, все пропало ровно через год, буду переустанавливать" в этом чате - то есть, но мало
Andrey
Andrey
Но придумать реализацию для ванильных кубеней - это интересно
Andrey
Так, ладно. Я тут достаточно пиздел, давайте по порядку - начну с релиза оператора для rabbitmq. https://github.com/tekliner/rabbitmq-operator вот он красавец. Надо щас настроить пуш имаджа на публичный реп, но собрать и сами можете без проблем. Ремарка: на текущий момент там захардкожен пуш сообщений об ошибках в нашу sentry, выпилю как только так сразу. Оператор используется у нас в продакшене, но ничего не обещаю и караулить у подъезда в случае чего бессмысленно.
Vadim
Anonymous
Andrey
На подходе ещё оператор для nginx ingress контроллера. Если надо, то опенсорсну. У нас просто несколько ингресс контроллеров, нам полезно + я не люблю хелм.
Андрей
Чем хелм не угодил?
Stanislav
Stanislav
Абсолютно
Slach
https://zoom.us/w/934296256?tk=cppLkff4u23YXW2iEAznWVRoDKj6c-St2BT3lf9sVi4.DQEAAAAAN7A6wBZQOUVHeXFGRVJHbTJVcm5pM1QwVzVRAA&uuid=WN_gP9-PnN7QKG_Rzqo7ppkgQ
Никто не хочет случайно послушать как Vitess в Kubernetes запускают?
Andrey
3)
Andrey
Andrey
Генерация yaml из темплейтов - это слишком жесткое извращение даже в наш век после сексуальной революции и с распространением толерантности
Co(n)stantine👨🔬
Slach
Эт зум над ставить?
;))) ну стандарт дефакто сейчас увы, может потом на ютюб куда нибудь выложат но не факт
Just a baka
Andrey
Co(n)stantine👨🔬
Co(n)stantine👨🔬
оо, тогда не нужно, лучше почитать посмотреть отдельно что-то про Vitess
Костя
Если кто-то имеет экспертизу, милости прошу помочь https://stackoverflow.com/questions/57053436/priorityclass-doesnt-populate-its-value-to-podspec
Mikhail
Михаил
Sergey
Sergey
а! в смысле как раз и надо чтоб _не_ процессил? ну, Kopf их таки отпроцессит, но по-быстрому, внутренне, без погружения в обработчики (потому что не найдёт причины что-то вызывать).
𝚔𝚟𝚊𝚙𝚜
𝚔𝚟𝚊𝚙𝚜
𝚔𝚟𝚊𝚙𝚜
На operator-sdk я просто .metadata.generation сохранял в status.generation и при зпуске проверял, но на ansible - всё равно долго
Sergey
да, json без мусорных и системных полей.
документация: https://kopf.readthedocs.io/en/latest/continuity/
работа с полями: https://github.com/zalando-incubator/kopf/blob/master/kopf/structs/lastseen.py
Sergey
вообще, я не знаю, как правильнее: логично бы последнее состояние хранить в status где-нибудь чтоб не замусоривать сам объект. но вот kubectl хранит свои данные для своего apply и диффов в аннотациях в виде json. вроде как "официальный" способ.
𝚔𝚟𝚊𝚙𝚜
Mikhail
Max
Ребят, есть проблемка при RollingUpdate, специфичная для нашего юзкейса.
Используем nginx ingress controller. Есть replicaset из N подов, на которые балансится http трафик через nginx. Клиенты — websocket. Когда выкатываем новую версию деплоймента, некоторые клиенты переподключаются аж 3-4 раза, что для нас очень критично. То есть куб удаляет под, websocket-клиент, который был подключен к этому поду, переподключается еще раз, но не факт что к новому поду, а к старому, который куб также прибивает и клиент рано или поздно подключается к новому поду
Max
Есть ли способы это обойти?
Max
canary?
Max
blue/green?
Max
если честно, никогда это не делал. в gitlab изи делается?
Max
а не добавили 50 подов, на которые нам кластера не хватит
Max
а потом только удалили 50 старых)
G72K
Пока переливается, скейлим ап новую версию, скейлим вниз старую. Можно весёлый оператор написать и убить пару недель