In a multi-tenant environment, users' resource demands must be understood by cluster administrators to efficiently and fairly share cluster resources without hindering performance. Kubernetes is a container orchestration system that enables users to share cluster resources, such as CPU, memory, and disk, for the execution of their tasks. Kubernetes provides a monolithic scheduler to make scheduling decisions for all users in a multi-tenant shared cluster. Kube-batch enables Kubernetes to make a scheduling decision based on a multi-resource fairness policy called Dominant Resource Fairness (DRF). DRF has been proven to be a successful mechanism for fine-grained resource allocation. However, it does not incorporate other fairness aspects of a shared cluster. Our fairness metrics take into account the use of DRF along with a task's resource demand and average waiting time. We have developed a policy-driven meta-scheduler, KubeSphere, for a Kubernetes cluster where tasks for individual users can be scheduled based on each user's overall resource demands and current resource consumption. Our experimental results show how the dominant share of a task along with the overall resource demand can improve fairness in a multi-tenant cluster.
展开▼