
Quiero implementar una aplicación monolítica tradicional en Kubernetes.
Miles de clientes utilizan esta aplicación y cada cliente tiene su propia instancia de aplicación. si tenemos 5 clientes deberíamos ejecutar 5 instancias separadas de esta aplicación.
La aplicación también llama a la API de Kubernetes para ejecutar algunos trabajos.
Quiero asegurarme de que todo esté aislado. ¿Es una buena idea crear un espacio de nombres separado para cada cliente? ¿Causa algunos problemas de rendimiento? ¿Existe alguna solución mejor para ello?
Respuesta1
Respuesta corta:Sí, el aislamiento del espacio de nombres sería un buen paso en la dirección correcta, pero la configuración de IAM y una política RBAC clara son imprescindibles al intentar aislar los recursos del clúster.
Respuesta larga:Lo que debería preocuparle aquí son los costos del clúster, Kubernetes es resistente y flexible por diseño, por lo que si encuentra cuellos de botella en el rendimiento, escalar está a un comando de distancia. Si su clúster no es local y planea utilizar un servicio en la nube, le recomiendo encarecidamenteMotor Google Kubernetes (GKE)ya que está optimizado para admitir múltiples inquilinos.
El equipo de GCP detalla las mejores prácticas de arrendamiento múltiple de K8aquí, Creo que proporcionará una respuesta mucho más clara a su pregunta.