Font Size: a A A

Design And Implementation Of DevOps Platform Based On Kubernetes

Posted on:2022-01-03Degree:MasterType:Thesis
Country:ChinaCandidate:H H LiuFull Text:PDF
GTID:2518306569981709Subject:Software engineering
Abstract/Summary:PDF Full Text Request
In the traditional software application development model,the development team and the operation and maintenance team work relatively independently.However,in the practical production scenario where the software functions are increasing and the software architecture is becoming more and more complex,the traditional software development mode will cause the software development and delivery speed to be difficult to meet the requirements of rapid iteration of versions.DevOps(Development&Operations)is a development concept that combines development with operations to improve the efficiency of software application development,speed up delivery,reduce the cost of testing and operations,and ensure application quality of service.Container technology is one of the most commonly used tools in the DevOps practice,and Kubernetes is the most widely used container orchestration system worldwide.This dissertation designs and implements a DevOps platform based on Kubernetes and optimizes its function of guaranteeing application quality of service based on the horizontal scaling mechanism.The platform includes four functional modules: continuous integration,continuous deployment,role authority control,and automatic operation and maintenance.The continuous integration module mainly realizes the rapid merging of code branches,the automatic compilation,and preliminary running test,to achieve the goal of rapid integration of code and verification of its usability.Through container technology and Kubernetes,the continuous deployment module unifies the basic dependency environment of the application,speeds up the application deployment,and realizes the function of continuous delivery and continuous deployment.The role management module simulates the different divisions of labor among the members of the development team.By the method of binding user role and user authority,it divides the responsibilities and authority of different users,to simplify the management and improve the development efficiency of the team.The automatic operation and maintenance module mainly provides monitoring of applications,automatic alarms,and quality guarantees of application service functions.The module provides monitoring functions for service clusters and applications in the cluster through an intuitive graphical interface,and will automatically alarm when an abnormal situation occurs in the application.And based on the level of Kubernetes automatic expansion and contraction mechanism,this platform achieves the quality guarantee function for applications in the cluster.Secondly,to optimize the function of quality guarantees of application service of the platform,this dissertation studies the horizontal automatic scaling mechanism HPA(Horizontal Pod Autoscaler)of Kubernetes.Because of the poor performance of HPA in a scene where business pressure changes drastically,which leads to bad quality of application service,the reasons are analyzed.Aiming at its shortcomings,an optimized dynamic horizontal automatic expansion strategy DHPA(Dynamic Horizontal Pod Autoscaler)was proposed,and the strategy was realized by writing a custom controller.After that,the effect of DHPA was verified through comparative experiments.The experimental results show that compared with HPA,DHPA can better guarantee the quality of application service.Finally,a complete test was performed on the system to prove that the system can realize the DevOps concept,meet the functional requirements of improving the team's development efficiency,accelerating the application iteration speed,and realizing automated operation and maintenance.
Keywords/Search Tags:DevOps, Linux Container, Kubernetes, Horizontal Auto Scale
PDF Full Text Request
Related items