Maksim
всё на ручной тяге
Kirill
Ребят, подскажите пожалуйста, используют ли kops в проде? Или есть какие либо более production-ready системы для подъема кластера на aws с autoscale и прочим блекджеком?
Alexey
Если есть полка дисковая например unity у нее nfs отказоустоичивая но это из другой песни наверное. У нас гластер нфс и fc
Kirill
Используете для прода? Есть ли подводные камни?
Max
да, для прода, пока не наткнулся
Andrey
да, для прода, пока не наткнулся
а dns как настроен? dns_mode и иже с ними. какая сеть?
Max
kube_network_plugin: calico, dns_mode: kubedns
Andrey
спасибо
Vadim
не понимаю я этой патологической любви к ceph, я что-то упускаю?
No1
если там нет проблем с ним, то как бы понятно) а если есть проблемы - жрут кактус) думаю что они есть
Max
ну у меня есть несколько цеф кластеров, одному из них уже больше трех лет и его не разу не получилось ушатать намертво
Max
хороший и надежный сторедж
Dorian
хороший и надежный сторедж
Перегрузи один из серваков по питанию ;)
Max
ну и альтернатив распределенному сторуджу который раздает блочные устройства я не знаю
Max
Перегрузи один из серваков по питанию ;)
это делалось с завидной регулярностью когда флапало питания из за проблем с UPS, как по одному, так и все вмести бутались далеко не раз, во всех возможных комбинациях
Vitalii
Привет! Можно ли "calico-kube-controllers", запускать больше чем одну реплику? Есть ли там какой-нибудь lease leader election механизм внутри?
Logan
на одной ноде должен быть один контроллер, если я правильно помню. зачем вам на одной ноде несколько?
Denis
Можете подсказать как правильно сделать алиас в поде? hostname: consul subdomain: example.ru - ругается на синтаксис, с точкой..
Logan
я лично огреб баг при миграции версии опенстека в рэкспейсе :)))
Михаил
я лично огреб баг при миграции версии опенстека в рэкспейсе :)))
я про то что OpenNebula это "кусочек опенстек на Ruby"
Logan
Какой openstack на ruby!? Ядро Opennebula на C.
Морда точно была на руби - я ее чинил
Vlad
Лучше-бы в опенстеке морда тоже была на рельсах. Та что есть редкостный отстой.
Logan
Лучше бы в опенстеке ядро было на С. Или хотя бы на го. Морду-то не проблема починить
Михаил
посмотри на ceph, в нем есть C++. стал ли он от этого хорошим продуктом?))
Sergei
а сеф делает
Andor
узнал про https://storpool.com/
Andor
не говно ли? :)
Andor
есть у кого опыт?
Andrey
StorPool Storage-fastest and most efficient block storage for cloud builders и как это епт нормально прочитать ? я начинаю понимать мотивы граммар-наци
Vlad
Был перспективный проект sheepdog. Но он похоже впал в кому.
AB 🇨🇾 🍉
НАРОД, как сделать pull нового имаджа перед заменой версии в деплойменте?
Anton
поменять тэг имейджа
Anton
логикой остановки\запуска новых подов при rolling update можно управлять
AB 🇨🇾 🍉
если поменять в деплойменте, то даже с роллингапдейт сервис помирает а новый не успевает стартануть, качается 600мб
Vitalii
я имел ввиду deployment calico-kube-controllers, а вы наверно про daemonset calico-node
отвечу сам себе: lease был, да пропал. Возвращение есть только в виде пуллл-реквеста https://github.com/projectcalico/kube-controllers/pull/215
AB 🇨🇾 🍉
вот так spec: replicas: 1 strategy: type: RollingUpdate template:
Vitalii
вот так spec: replicas: 1 strategy: type: RollingUpdate template:
сделайте: strategy: rollingUpdate: maxUnavailable: 0 maxSurge: 1
Anton
лучше проценты юзать наверное
Anton
еще лучше для него было бы самому доку почитать и понять по наводящим вопросам. вместо четкого ответа. сами воспитываете нежелательное поведение же
Vitalii
лучше проценты юзать наверное
да, наверно. У нас просто нигде нет двухзначного количества реплик. А конфиг я скопировал из первого попавшегося манифеста в репозитории
Andrey
привет чего то не могу найти нормальную инфу - можно ли в деплоймент файле вставлять переменные из файла с переменными (для имаджей) как в docker-compose например можно вставлять из .env
Anton
в kubectl ты yaml кормишь и ограничен его возможностями
Anton
но ты можешь использовать любой шаблонизатор на свой вкус
Dmitrii
Я шаблонизатор sed использую, рекомендую /s
Andrey
то есть красиво обернуть деплой кроме как менять седом или шаблонизаторы юзать никак нельзя?
Andor
добро пожаловать
Andor
популярные варианты: 1) helm 2) ksonnet 3) самодельное что угодно
Andor
и ещё https://github.com/fkorotkov/k8s-kotlin-dsl есть, но лично я пока не пробовал
Andrey
глянем спасибо
Andrey
о кажется вот эту шляпу видел на devoopse но там сходу вообще нифига непонятно
AB 🇨🇾 🍉
но ты можешь использовать любой шаблонизатор на свой вкус
у меня странное поведение, если выставлять maxUnavailable 0, то пода висит долго в статусе пендинг
AB 🇨🇾 🍉
стоит выставить 1, и с небольшим даунтаймом на все заводится
AB 🇨🇾 🍉
возжожно это как-то связано с тем что там крутится nginx с nodePort
AB 🇨🇾 🍉
Реплики тоже не создаются больше двух
Vitalii
Подскажите, почему в calico манифестах по умолчанию CALICO_IPV4POOL_IPIP=Always, а не CrossSubnet?
Denis
Можете подсказать как правильно сделать алиас в поде? subdomain: example.ru - ругается на синтаксис, с точкой.. или как добавить зону в kube-dns example.ru?
𝚔𝚟𝚊𝚙𝚜
у него синтаксис вообще на docker-compose очень похож
Andrey
Anton
у меня странное поведение, если выставлять maxUnavailable 0, то пода висит долго в статусе пендинг
describe для всех сущностей, выясняйте что заставляет ее быть в pending
Vitalii
что бы в облаках работало, иначе ip spoofing получается
спасибо. Включу CrossSubnet, т.к. у нас непонятно будут ли когда-нибудь разные сети в одном кластере https://docs.projectcalico.org/v3.0/usage/configuration/ip-in-ip
Anton
у меня странное поведение, если выставлять maxUnavailable 0, то пода висит долго в статусе пендинг
https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#rolling-update-deployment все верно заметили что maxSurge должен быть больше 0, а maxUnavailable =0. по умолчанию и там и там 25% стоит. но для недоступных округление вниз идет, а для избыточных - с округлением вверх. для 1 реплики должен сначала нарастить число реплик в новом replicaset, потом грохнуть старый rs. по документации такое поведение должно было быть
Oleg
то есть красиво обернуть деплой кроме как менять седом или шаблонизаторы юзать никак нельзя?
Еще есть простой путь через envsubst Например: apiVersion: apps/v1 kind: Deployment metadata: name: blablabla-service namespace: ${DEPLOY_NAMESPACE} ... Объявлена переменная окружения: DEPLOY_NAMESPACE=foobar_ns И в итоге: envsubst < deploy.yaml | kubectl apply -f -
Aleksey
чтобы дебажить отрендеренное
Anton
дайте человеку хайпануть хоть с go template в helm =) такая возможность раз в жизни
Anton
а логи контейнера после апгрейда образа уже никак не посмотреть? -p пишет, что Error from server (BadRequest): previous terminated container "container" in pod "pod" not found
Dmytro
иногда с флагом --previous можно
Dmytro
но кажется это не для terminated а когда он рестартанул
Pavel
Если под остался живой, то на нем вручную можно забрать