| With the rapid development of computer technology,more and more fields are closely integrated with it.In modern warfare,Special Aircraft,which has the core strategic position of Air Operations Command,play an important role in all links of the air strike chain.The traditional Special Aircraft system is based on sub-systems,including radar detection system,electronic reconnaissance system,data processing system,navigation system,identification of friend or foe system and so on.Each sub-system is the basic unit,they are closely integrated and interconnected to form Special Aircraftt system.However,the complexity of the functions of each sub-system increases and the coupling between sub-system systems increases.When the developer completes a sub-system function,the modification of the system configuration and environment will affects the operation of other sub-systems,the operation-maintenance people usually don’t understand the internal structure of the code,so it is difficult to quickly adjust the resource environment to ensure the stable operation of all sub-systems.This brings great trouble to the work of operation-maintenance people,and the upgrading of the system becomes more and more slow.At the same time,the binding of each sub-system to specific hardware resources makes resource allocation and scheduling difficult,the resource utilization is greatly reduced.Nowadays,with the maturity of container technology and microservice concepts,we can divide each sub-system into multiple functional components and services,package each component and service into Docker images and deploy them in Kubernetes cluster.Then the image can run as the form of container independently and provide services,so that the purpose of decoupling the Special Aircraft sub-systems can be achieved.Since the container only contains applications and necessary operating resources,the utilization of system resources can be improved.In order to increase the connection between developers and operation-maintenance people,this article will design and implement a DevOps platform based on Kubernetes.It integrates,encapsulates,and provides easy-to-use interface of container and cluster.The user’s learning cost of Docker,Kubernetes and other container-related technologies can be reduced.Through these interfaces,developers can package the newly developed Special Aircraft sub-system components in any system environment,package them as Docker images,quickly deploy them through the platform,and can monitor them in real time.The platform can automatically maintain and schedule running containers.What’ s more,in order to improve the development efficiency of the Special Aircraft sub-system,the platform provide continuous code integration function,which can automatically complete tasks such as code construction,compilation,testing,and deployment.It can reduce a lot of repetitive and boring manual operations.This paper mainly completed the following aspects:(1)Build a private image warehouse and design management interface of it.After the development of the Special Aircraft sub-system image is completed,the image needs to be stored in a private image warehouse.The image of the Special Aircraft sub-system components needs to be stored in a private image hub.This article builds a image warehouse and designs basic CRUD functions for it.It realizes the function of online construction of image,optimized query speed and update image information in real time.(2)Monitoring and management of cluster.The platform provides a simple and easy-to-use operating interface for Special Aircraft sun-system operation-maintenance people.They do not need to master Kubernetes,Docker and other container-related knowledge,thereby the cost of learning can be reduced.Through the interface provided by the platform,operation-maintenance people can deploy the images to the cluster,designate deployment nodes for them,set up migratable nodes,and allocate resource occupancy as needed.What’ s more,it can monitor cluster node’ s CPU status,memory,network I/O,events and other resources,and increases or decreases the cluster nodes according to the monitoring information.(3)Establish a log management system.It can collect logs of different resource objects in real time,and provide log query and delete function.Moreover,the log will not disappear after the cluster goes down unexpectedly,the platform can save the log persistently.(4)Configuration management.It can modify the environment variables and configuration files of application components in real time.It centrally manage them,and take effect immediately.(5)Continuous integration.After the developer submits the code to the code warehouse,the platform can integrate the code in time,integrate the code into the main code warehouse,and perform automatic compilation,construction,testing,deployment and other operations on it.This is conducive to quickly verifying the rationality of the code,improving the efficiency of code integration,speeding up the iteration speed of the early warning machine sub-system component version and educe the workload of operation-maintenance people.(6)Optimize the automatic scaling performance of the platform.The native auto-scaling strategy provided by Kubernetes has limitations.It performs poorly in the face of sudden and large-scale concurrent access.This article optimizes the native strategy.This platform uses Golang,which performs well in the direction of microservices,for deployment,and uses the GRPC framework to improve data transmission efficiency.Since all components are packaged as images and run in the cluster in the form of containers,the difference between the development environment and the operating environment can be well shielded.One-click deployment and "plug and play" are important advantages.The1.0 version of the platform system has proven its practicability during the trial test.The user has a good experience.It can meet the basic development and operation-maintenance needs of the Special Aircraft sub-system developers. |