Font Size: a A A

Design And Implementation Of A Container Cloud Platform Based On Docker And Kubernetes

Posted on:2020-02-19Degree:MasterType:Thesis
Country:ChinaCandidate:L TanFull Text:PDF
GTID:2428330590996542Subject:Software engineering
Abstract/Summary:PDF Full Text Request
With the rapid development of computer technology and container virtualization technology,Cloud Computing has become the most basic computing platform in many areas such as IoT and big data.Application containerization also has become a trend However,with the growth of the application scale and the intricacies of application relationships,the manual management of container applications is becoming more and more difficult.So,how to reduce the cost of manual maintenance and how to manage the large-scale containers in the enterprise environment have become an urgent problem to be solved.Based on the user requirements of the internship company,this thesis has studied Docker and Kubernetes,and implemented a container cloud platform which can be deployed into private cloud.The platform provides users with a container orchestration solution that simplifies the process of deploying applications.Besides,this thesis also researched and optimized the priority algorithm of Kubernetes v1.5.2.The main work of this thesis is as follows:First of all,this thesis introduced the research background and significance of this issue,analyzed the current research status of virtualization technology and orchestration tools.Secondly,the user requirements of the platform were described in detail.Users were divided into two types of cloud administrator and public users.Functional requirements were generated from the user requirements,and non-functional requirements were summarized according to usage and scenarios of the platform.Then,the overall architecture of the platform was designed,including front-end design,back-end design and the interaction between other parts and the back-end based on the demand analysis.The database design was completed by analyzing the entities of the component in the platform and the relationship of different entities.In Chapter 4,this thesis studied the Kubernetes scheduling process.The resource model used by the default algorithms is too small,and it doesn't take the performance of node into account either.In addition,during the priority process,the setting of default requests of CPU and memory are unreasonable.Aiming at the shortcomings above,this thesis proposed an improved priority algorithm based on load balancing.In the improved priority algorithm,the count of CPU core was taken into consideration when setting the CPU's default requests,the total memory capacity was taken into account when setting the default requests value of memory.Also,the improved priority algorithm calculated the performance of the node itself.Finally,in Chapter 5,this thesis used Java,JavaScript,and HTML/CSS to implement a container cloud platform based on Docker and Kubernetes through Spring Boot,Mybatis,Vue,and Thymeleaf frameworks,and demonstrated the implementation effects.In more detail,the private Docker Registry was built using Harbor project,the framework of Harbor and the Harbor API were studied.The application warehouse module was developed in combination with the Docker API and Harbor API.The application orchestration function was completed by using TWaver and HTML5 drag and drop technology.The management of Kubernetes resources and the call of Kubernetes Restful API are studied.The deployment of application and management of application instances were completed by using the Java Kubernetes client based on Fabric8.Echarts was applied to develop the application overview module.User permission control and data validation for the platform were completed by using Vue and jQuery validate.
Keywords/Search Tags:Cloud Computing, Container cloud platform, Docker, Harbor, Kubernetes, Priority scheduling algorithm
PDF Full Text Request
Related items