Font Size: a A A

Design And Implementation Of A Scalable Distributed Resource Scheduler Based On Kubernetes

Posted on:2018-07-09Degree:MasterType:Thesis
Country:ChinaCandidate:K XuFull Text:PDF
GTID:2348330518487945Subject:Engineering
Abstract/Summary:PDF Full Text Request
Modern cluster is a distributed platform which has a large number of heterogeneous resources and runs a differentiated service.As a cluster resource manager,a stable and reliable resource scheduler is particularly important in a cluster.The resource scheduler manages the whole resource usage and allocation in the cluster,which can be designed into an independent abstraction layer.Not only does the scheduler provide convenience for daily operation and management,but it could also decreases coupling degree of system during the cluster running time.As the most popular container management tool in the community at present,Kubernetes has been paid close attention in the industry and widely used in the actual production environment.Kubernetes scheduler is a loose coupled component in the cluster,which provides support for users to defined scheduling policies by themselves.The join and exit of the scheduler will not lead to the system to crash.However,current Kubernetes scheduler is a single-node scheduler.It although is able to meet the needs of daily production environment,it cannot effectively deal with the complex environment.the single-node failure is the worst effective situation among the factors.In addition,with the increasing of the cluster size,people puts forward higher demand for resource scheduler.Therefore,it is necessary to design a scalable distributed resource scheduler to meet the needs of large-scale cluster.After the deep study of Kubernetes,a new distributed scheduling framework is developed to improve the performance of scheduler in this paper.Besides,the distributed architecture and dynamic scalable scheduler characteristics of Kubernetes resource scheduling are proposed for the first time.Firstly,two excellent distributed resource scheduling frameworks are introduced,then the design idea and work flow of them are explored,on the base of this,the advantages and disadvantages of both are analyzed.Secondly,the business roles and work flow of Kubernetes scheduler in a cluster are elaborated.Based on the analysis of the demands of Kubernetes scheduler,the required functions of the distributed resource scheduler are given.Next,the architecture of the scheduler is designed,and the outline design and function module division in data flow are presented.Through the analysis of the data flow,the data structure of each functional module is designed;According to the analysis of the business logic,the function of each module is implemented.Finally,the functional and nonfunctional demands of resource scheduler are tested,and the results are analyzed.The test results that obtained from the scalable distributed resource scheduler for Kubernetes show that although the performance of distributed resource scheduler had little difference in small clusters,it is significant for the large-scale cluster to enhance the performance of resource scheduling.Besides,during a long time work,It can still Performed well,which shows that it can effectively reducing the probability of business interruption and anticipated goals achieved.
Keywords/Search Tags:Resource Scheduling, Container-as-a-Service, Cloud Computing
PDF Full Text Request
Related items