
Я хочу развернуть традиционное монолитное приложение в Kubernetes.
Тысячи клиентов используют это приложение, и у каждого клиента есть свой экземпляр приложения. Если у нас 5 клиентов, мы должны запустить 5 отдельных экземпляров этого приложения.
Приложение также вызывает API Kubernetes для запуска некоторых заданий.
Я хочу убедиться, что все изолировано. Хорошая ли это идея — создавать отдельное пространство имен для каждого клиента? Возникают ли из-за этого проблемы с производительностью? Есть ли лучшее решение?
решение1
Короткий ответ:да, изоляция пространства имен была бы хорошим шагом в правильном направлении, но конфигурация IAM и четкая политика RBAC являются обязательными при попытке изолировать ресурсы кластера.
Длинный ответ:О чем вам следует беспокоиться, так это о стоимости кластера, Kubernetes устойчив и гибок по своей природе, поэтому, если вы столкнетесь с узкими местами производительности, масштабирование — это всего лишь команда. Если ваш кластер не локальный и вы планируете использовать облачный сервис, я настоятельно рекомендуюДвижок Google Kubernetes (GKE)поскольку он оптимизирован для поддержки многопользовательской среды.
Команда GCP подробно описывает лучшие практики многопользовательской среды K8sздесь, я думаю, это даст гораздо более четкий ответ на ваш вопрос.