Vitalii
Спасибо за ответы,
интересны кейсы, может кто еще накинет?
Я немного слупок, но:
У нас есть шаблон для создания нэймспэйсов. Там по умолчанию создаётся LimitRange. Для CPU лимит 5. Для memory 1.5. Числа выведены эмпирически.
Также есть Resource Quota. Эти настройки запрещают создание подов, где нет requests и limits
Vitalii
В графане есть дашборды по общей capacity кластера. Есть дашборды с таблицами, где сравнивается реальное потребление пола и его requests limits. Метрики достаются из kubelet и kube-state-metrics
Vitalii
Ещё в kubelet ставим флаги kube-reserved, system-reserved. Т.к. были проблемы с oom killer
Vitalii
Еще можно из kubernetes API достать данные по ресурсам подов, а дальше как угодно агрегировать. Я например писал консольную команду, чтобы найти все поды с неправильно указанными ресурсами
Vitalii
И есть один жирный минус: если что-то не так с ресурсами, то создаётся deployment, replicaset. А вот поды просто не создаются. Helm этого не видит например. И коллеги тоже не видят и не понимают что не так
Vitalii
Vitalii
а securityContext делать больно. Приходится практически перебором. 99% докер образов хаба под это не заточены. Хотят рут и capabilities на CHOWN, SETUID, SETGID
Denis
@zakharovvi спасибо за расписанный ответ :)
Logan
Vitalii
я скорее про официальные: mariadb, redis, postgres, prometheus, grafana и т.д.
Vitalii
свои собирать и поддерживать в порядке больно. Последнее время особенно от этого страдаю. Своих образов штук 30
Volodymyr
https://www.nginx.com/resources/library/kubernetes-cookbook/?mkt_tok=eyJpIjoiTVRjMFpEVXpZVGc0TWpVeSIsInQiOiI3aUtiZ2UzY29aU2xKamtTOEhoT0twR1JIN1RaaDFLT3JqaTdtd2owVXNld01jYktucFk1eGxXSmJMUFlZN1pFbTlRS0lpbEhFYWNkencxcDA4Q0dzM1Noa2RJQThueDVmZUI4ZjlXaW1CRENTbGFOXC9pOVd2bVNYMzFUSW5RaG4ifQ%3D%3D
Volodymyr
регистрацию хотят
dIoMeDs
Volodymyr
Спасибо, а то смне ссылку так и не прислали :)
G72K
G72K
evicition там кажется крайний случай )
G72K
G72K
G72K
G72K
Suicide Liza
hello i can communicate in russian but its difficult for me to type is there any good architecture for microservices and use sockets for each microservices or just have 1 socket for all services?
Anton
причем видно что он срабатывал еще раз вчера вечером и я понятия не имею почему
Anton
вдруг ему взбредает в голову
kubelet[28382]: W1012 17:36:48.046037 28382 eviction_manager.go:331] eviction manager: attempting to reclaim nodefs
kubelet[28382]: I1012 17:36:48.046053 28382 eviction_manager.go:345] eviction manager: must evict pod(s) to reclaim nodefs
и начинает выгонять поды (все)
kubelet[28382]: I1012 17:36:48.046263 28382 eviction_manager.go:363] eviction manager: pods ranked for eviction:
нꙺ
всеобщее здравствуйте
Mikhail [azalio]
Suicide Liza
service = microservice
Suicide Liza
:D
G72K
попробуй запстить kubelet с --v=4
нꙺ
парни, направьте в нужную сторону:
1. Есть хост машина с установленым kubectl
2. Есть виртуалбокс с бубунтой (или федорой или дебианом или еще с чем)
Возможно ли развернуть кластерок на виртуалке? Что почитать?
G72K
miniukube
G72K
minikube start. done
нꙺ
Дело в том, что у меня есть локально установленый докер, но я не хочу заморачиваться с $env и прицеплять его к миникубу (это в случае если я захочу локально его ставить)
нꙺ
miniukube
ставить миникуб в виртуальную машину? т.е. виртуалка в виртуалке?
Алексей
Подскажите, хочу понять кубы.
Могу ли я в рамках одного впс все установить?
Или нужен ещё один сервак как управляющий?
G72K
Vitalii
дашборды нагуглили, или сами сделали?
Всё сами.
На многие вопросы все равно сложно отвечать. Например "сколько серверов для тестов можно переназначить на продакшн без ущерба производству"
Oleksandr
... продакшн ... производству - тавтология?
Vitalii
Ой. Под производством я имел ввиду разработку и тестирование)
Oleksandr
трудности перевода. сложно, когда терминология то русская то англ.
G72K
Oleksandr
Vitalii
выложите куда-нибудь, чтобы помочь несчастным копи-пастерам? :)
Я уже скидывал как-то. Там всё банально: https://www.evernote.com/shard/s123/sh/22d6d0af-dc84-4183-b024-c5d87a325df3/49c133cdff169b9a
дашборд из json непросто будет запустить, т.к. там reocrding rules
https://gist.github.com/zakharovvi/7c97929f2ca05620c365535057c90a59
G72K
Etki
вроде обсуждали и приходили к общему мнению о неработоспособности и что внутри тот же цеф, который у многих здесь стоит
Logan
Logan
рукс нельзя использовать
G72K
G72K
(не в прод)
Logan
потому, что это запуск цефа внутри контейнера. Проще, логичнее и удобнее вытащить цеф в отдельную инсталляцию и использовать его снаружи
Logan
работать будет заметно надежнее6 отлаживать проще. Впрочем, если есть желание есть кактус - отговорить невозможно
Logan
мне не нравится попытка тюнинговать бульдозер в самолет. Инструменты все-таки лучше под задачу подбирать. А не наоборот
G72K
в чем контейнер ограничвает цеф?
Logan
а ничего, что контейнер иммутабелен?
G72K
volume в нем зато нет)
Ivan
Правда до 1.8 ещё не обновил... Но скоро
Anonymous
Есть хорошее чтиво за цеф с стори оф сексесс , подбираю фс, для распределенного хранения мелких блобов
Logan
ничего не понял. в чем вопрос-то?
Gleb
Gleb
а так вряд ли ты что то вменяемое найдешь
Etki
откуда вы берете й в kubernetes? :3
Anonymous
ничего не понял. в чем вопрос-то?
хочу файлы хранить для сущностей распределенно, чтобы можно было дать абсолютную ссылку приложению и уже не контрлировать , на какой из машин оно лежит,ну и не с минимальным реальным блоком в 128 мегабайт
нꙺ
G72K
Logan
🦠
Grigory
AWS S3
маленькие файлы плохо там лежат
Grigory
Logan
Binary
если вы когда-нибудь планируете извлечь свои данные - в монго их хранить нельзя
Grigory
Grigory
ну вопрос же не об этом
Logan
вопрос именно в этом. Хранилище должно быть надежным, это его основное качество. Скорость, удобство использования и настройки – это уже по желанию. Но надежность – ключевой параметр