Evaluación y desarrollo de un framework para la gestión de cuotas de tiempo de uso de trabajos en Kubernetes

[ES] En el TFM estudiaríamos los modelos existentes para la evaluación y limitación de trabajos en Kubernetes. El objetivo es dar respuesta al siguiente requisito: dado un usuario en Kubernetes, con permisos para desplegar un tipo determinado de objetos en Kubernetes, limitar el número de instancias...

Descripción completa

Detalles Bibliográficos
Autor: Martínez Cuello, Luis Santiago
Tipo de recurso: tesis de maestría
Fecha de publicación:2024
País:España
Institución:Universitat Politècnica de València (UPV)
Repositorio:RiuNet. Repositorio Institucional de la Universitat Politécnica de Valéncia
Idioma:español
OAI Identifier:oai:riunet.upv.es:10251/210761
Acceso en línea:https://riunet.upv.es/handle/10251/210761
Access Level:acceso abierto
Palabra clave:Kubernetes
Cuotas de uso
Monitorización
Contabilización de recursos
CIENCIAS DE LA COMPUTACION E INTELIGENCIA ARTIFICIAL
Máster Universitario en Computación en la Nube y de Altas Prestaciones / Cloud and High-Performance Computing-Màster Universitari en Computació en el Núvol i d&apos
Altes Prestacions / Cloud and High-Performance Computing
Descripción
Sumario:[ES] En el TFM estudiaríamos los modelos existentes para la evaluación y limitación de trabajos en Kubernetes. El objetivo es dar respuesta al siguiente requisito: dado un usuario en Kubernetes, con permisos para desplegar un tipo determinado de objetos en Kubernetes, limitar el número de instancias y el tiempo total acumulado que dichas instancias pueden utilizar . El trabajo se centra en resolver tres problemas: - Limitar al usuario a un determinado namespace, con una cuota máxima de objetos desplegados de manera concurrente y con capacidad de desplegar únicamente este tipo de objetos. Se implementa mediante Service Accounts, Resource Quota, Roles y RoleBindings. - Monitorizar y acumular el tiempo de ejecución de un determinado trabajo. La información se puede obtener de los servicios de kubernetes y se puede implementar mediante un trabajo cron que actualice una base de datos. Eventualmente se puede utilizar una herramienta existente de monitorización, como Prometheus. - Establecer un actuador que baje la cuota a cero y elimine los trabajos de un determinado usuario cuando supere la cuota. Se puede implementar una herramienta de consulta de cuota por usuario. El sistema puede compararse con soluciones como Kube Cost o ScaleOps. Claramente, existirán limitaciones que podrán dejarse propuestas para el futuro (p.e. seguridad en la consulta de la cuota, limitación de cpu y memoria en lugar de número de instancias y forzado a que los objetos tengan unos requerimientos de cpu y memoria, etc.).