Andor
но вцелом да
Anonymous
Всем привет! Мы запускаем корпоративный курс обучения основам работы с Kubernetes для системных инженеров и администраторов. Мы изучим концепты Куба, научим разворачивать свой кластер, запускать и мониторить приложения. Можем провести курс у нас или у вас в офисе, график обсуждается. Если есть особые пожелания по курсу, можем дополнить программу. Буду рад ответить на ваши вопросы! https://kubernetes-course.exonlab.ru
Andrei
Хорошая политика. Упрощает жизнь
то есть тебе нравиться идея с тем чтобы namespace в какой то мере был независим?
Rainbow
то есть тебе нравиться идея с тем чтобы namespace в какой то мере был независим?
я надеюсь он тролил факт того, что "программеры решили"
G72K
https://github.com/kubernetes/kubernetes/issues/72257
Должно быть больно. Ваше?
𝚔𝚟𝚊𝚙𝚜
Vadim
мощная вещь, " As a result, images are removed but their data (the image layers) are still stored on disk"
Andrey
Должно быть больно. Ваше?
Нет, я пока локал вольюмы не использую (но вообще планировал). Но это просто эпичнейшая бага.
G72K
а еще, я бы попросил с указанным реджистри провести практическое тестирование. потому что мои тесты опровергают ваши заявления
Storage как раз важно какой. Локальная ФС обычно используется эксклюзивно и код может писаться соответственно, тогда как в S3 ничего кроме положить ключ/прочитать ключ и нет и соответственно 2 инстанса registry вполне могут плохо работать с одним диском, но хорошо с одним S3 бакетом. (Сам не проверял)
Anton
https://github.com/kubernetes/kubernetes/issues/72257
Напарывался с логами эластик, перешел с hostPath на local volume и поимел проблем
G72K
я надеюсь он тролил факт того, что "программеры решили"
Нет :) самодостаточные неймспейсы упрощают понимание
𝚔𝚟𝚊𝚙𝚜
мощная вещь, " As a result, images are removed but their data (the image layers) are still stored on disk"
Ну так gitlab-ctl registry-garbage-collect снесет остальное
Vadim
Ну так gitlab-ctl registry-garbage-collect снесет остальное
в регистри вообще нет "когда там этот имадж пуллили", так что если вы случайно где-то привязались к sha256 манифесту или вообще не дай бог прочитали в документации про внешние слои - то оно их тоже снесет
Pavel
Это мем с митапа по кубику от мыла
Andrey
это что вообще?
Мечты о CRIU в кубере
Rainbow
Мечты о CRIU в кубере
у меня все построено на том, что контейнеры дохнут. Главное уследить, что не все разом. Норм же, нафиг проблемы сверху?
Rainbow
То, что есть легаси, которое не умеет умирать... ну это легаси
Pavel
Но со временем мем перерастает в ральность. Точно также как "танец с бубном перед сервером" при управлении этим сервером через Leap Motion
G72K
Да я серьезно, что все думают, что я шучу :) если б под с базой при kubectl drain переезжал на другую ноду без единого разрыва я б точно пользовался
Rainbow
ловить ещё потом баги что в одном месте взяли time. потом вдругом, а оно уже перенеслось и diff большой или вообще отрицательный. Вот забавно
𝚔𝚟𝚊𝚙𝚜
в регистри вообще нет "когда там этот имадж пуллили", так что если вы случайно где-то привязались к sha256 манифесту или вообще не дай бог прочитали в документации про внешние слои - то оно их тоже снесет
Пушим имаджи с тэгом $CI_COMMIT_REF_NAME. Каждую ночь по крону запускается gitlab-registry-cleanup, затем gitlab-ctl registry-garbage-collect. Никаких проблем с удалением устаревших имаджей не испытываем.
Anton
А подробнее можно?
Ничего интересного юзал эластик +nodeSelector +hostPath - все было норм, решил попробовать localVolume - так как он привязывается к хосту, что боле логично, в любой непотятной ситуации я люблю дропать ноды, не помню толььи после дропа, толи после редеплоя - пропала часть логов
𝚔𝚟𝚊𝚙𝚜
G72K
Да там долго кликать :)
𝚔𝚟𝚊𝚙𝚜
Но можно и логику какую-нибудь придумать
𝚔𝚟𝚊𝚙𝚜
Главное что все удаленные в гитлабе тэги сносятся также и из регистри, а следовательно мусора мы не держим
Sergey
🤔
𝚔𝚟𝚊𝚙𝚜
Да, стопает
𝚔𝚟𝚊𝚙𝚜
https://github.com/kubernetes/kubernetes/issues/72257
Я так и не понял что у него произошло то, он использовал local volume на root device, почему проверка то не сработала?
𝚔𝚟𝚊𝚙𝚜
https://github.com/kubernetes/kubernetes/blob/master/pkg/util/mount/mount_linux.go#L250
G72K
Я так и не понял что у него произошло то, он использовал local volume на root device, почему проверка то не сработала?
Потому что проверка идёт по выводу stat на файле и выше и сравнении xdev или как там оно зовётся
Anton
Варенье, local не привязывается к нодам как к таковым, а имеет nodeAfinity при дропании ноды волум останется существовать
Да через nodeAffinity - что позволяет не беспокоится о nodeAffinity на подах - достаточно указать storageClass, когда смотрел статус элстика он заново создавал шарды - загляну в папку она была подозрителььно малого размера в сравнении с остальными, наверно имелось ввиду дроп пода таки?
G72K
Там даже в комментах к функции указано что на bindmount не сработает
𝚔𝚟𝚊𝚙𝚜
Там даже в комментах к функции указано что на bindmount не сработает
Кстати работает, но это очень порочная практика. Этот issue тому подтверждение
Andrey
@kvaps @rossmohax https://github.com/kubernetes/kubernetes/blob/master/pkg/util/mount/mount.go#L253
Andrey
А в RemoveAllOneFilesystem используется именно IsNotLikelyMountPoint
Andrey
Т.е., грубо говоря, баг фиксится удалением 6 символов в одной строке
G72K
Т.е., грубо говоря, баг фиксится удалением 6 символов в одной строке
Что случается с pvc когда уменьшают количество реплик в стейтфулсете? Может оно и так должно было пропасть ?
𝚔𝚟𝚊𝚙𝚜
если очень хочется, то можно :) mount -o bind /data/myvolume /data/myvolume
Ну у меня работало, хотя возможно эта проверка выполняется только при удалении волума
Andrey
Это явно указано в доке
Anonymous
serverless безполезная фигня, исключая кейсы, когда оплата за call, а не ресурсы cpu/mem.
почему бесполезная? что если у меня есть куча микросервисов которые нужны лишь чтобы обрабатотать чтото несколько раз в день? держать огромный кластер чтобы они хавали память невыгодно
Anonymous
подскажите плиз я правильно понимаю что istio-cni удобнее, тк мне не придется менять конфиги приложений вообще? https://github.com/istio/cni
𝚔𝚟𝚊𝚙𝚜
ну или так: fallocate -l 10G ./myvolume.img mkfs.ext4 ./myvolume.img mount -o loop ./myvolume.img /data/myvolume cat /proc/mounts | grep /data/myvolume >> /etc/fstab
Ну а вообще если очень не хочется выделять отдельный logical volume, то вариант с loop-devices тоже вполне действенный
Anonymous
подскажите плиз я правильно понимаю что istio-cni удобнее, тк мне не придется менять конфиги приложений вообще? https://github.com/istio/cni
и нужно ли менять конфиги приложений если я поменить все неймспейсы для istio auto-inject?🤔
𝚔𝚟𝚊𝚙𝚜
Ну или не юзать local-volumes когда хочется просто прокинуть директорию с хоста, т.к. там фишка в провижионинге в основном
Anonymous
kubeless генерит deployment для каждой функции? Какой смысл, самому написать не сложнее. Кривая реализация?
а, я не про реализацию knative, не смотрел пока, а про концпецию serverless в кластерах вообще
Rainbow
а, я не про реализацию knative, не смотрел пока, а про концпецию serverless в кластерах вообще
не думаю, что там будет что-то отличное от deployment. Может только какой-то скелер по вызовам. А автоскейл не в резиновых облаках - такое себе
𝚔𝚟𝚊𝚙𝚜
Andrey
А ты уверен что здесь есть именно баг?
Прям чтоб уверен - нет, но то, что пишет автор issue выглядит вполне убедительно
Anonymous
Вы сделаете много добра если расскажете на курсе как организовать деплои с jsonnet, можно взять пример kube-prometheus , большой и развесистый деплой, при этом удивительно гибкий из-за jsonnet
Вообще курс про введение в куб, хотя может и включим это. Дальше планируется проводить курсы по кубу уже для знающих и понимающих куб. Спасибо за совет!
𝚔𝚟𝚊𝚙𝚜
Прям чтоб уверен - нет, но то, что пишет автор issue выглядит вполне убедительно
Т.к. в данном случае проверяется только родительская директория - этого должно вполне хватить, я не вижу причины почему улучшенная проверка отработала бы как то по другому
Anonymous
Ого, удобно
так это рил так? я просто только разбираюсь в этом еще
Anton
Anonymous
--set istio-cni.cniBinDir=/home/kubernetes/bin а как istio-cni в values.yaml прописать? там такого нет https://github.com/istio/istio/blob/master/install/kubernetes/helm/istio/values.yaml https://github.com/istio/cni#gke-setup
ebalashov
Привет коллеги, есть у кого опыт разворота kube-prometheus на кластер созданный kubespray. Не находит эендпонты kube-dns - monitoring/coredns/0 (0/0 up)
Никита
В сервисмониторе для coredns поменяй лейблы.
Anonymous
--set istio-cni.cniBinDir=/home/kubernetes/bin а как istio-cni в values.yaml прописать? там такого нет https://github.com/istio/istio/blob/master/install/kubernetes/helm/istio/values.yaml https://github.com/istio/cni#gke-setup
вау, я крч поставил istio сначала и у меня сервис начал падал при старте а сейчас накатил istio-cni и он снова заработал 🤔🤔🤔🌚🌚
Andor
Мастер нода у тебя одна и ты её почему-то ещё не ребутал?
Andor
Попробуй поставить фланель теперь
ebalashov
В сервисмониторе для coredns поменяй лейблы.
стоят k8s-app: kube-dns, я генерил шаблоны спецом для Kubespray