Method and equipment for automatically building container platform based on ansible

A container and platform technology, applied in the field of micro-service computer system deployment, can solve problems such as increased deployment time, high cost of manual learning, difficulty in micro-service application and popularization, and achieve the effect of reducing resource consumption

Pending Publication Date: 2022-04-29
AEROSPACE INFORMATION
0 Cites 0 Cited by

AI-Extracted Technical Summary

Problems solved by technology

[0004] In the existing technology, k8s clusters are manually deployed in the field, which causes problems such as inconsistent system environment versions, increase...
View more

Method used

According to the technical scheme disclosed in the application, ansible automatic operation and maintenance tool is introduced, and by configuring playbook, configuration host list, and running playbook to install the Kubernetes container platform on the server, the standardized delivery and deployment mode of k8s platform has been realized, which is remarkable Increase efficiency and reduce cost, creating good technical conditions for the application, popularization and promotion of microservices. In addition, using ansible to build the Kubernetes platform does not require installing an agent on the client, and can also reduce resource consumption on the client.
Through deep understanding to many technical solutions and combinations thereof, the applicant selects to introduce ansible into Kubernetes cluster deployment, realizes the standardized delivery and deployment mode of building Kubernetes container platform, significantly increases efficiency and reduces costs, and is the application and popularization of microservices It has created good technical conditions for promotion and promotion, and can also reduce the resource consumption of the client operating system.
[0043] The ip address corresponding to each role can be set in the host list. The same role can be deployed on multiple servers to achieve batch deployment and facilitate high availability of the system.
[0051] For example, by defining the init_system (system initialization) role in a play, the unified configuration optimization of the operating system initialization can be realized, which usually includes repairing security holes, baseline repairing, and the like. Through this app...
View more

Abstract

The invention relates to a method and equipment for automatically building a container platform based on ansible. According to the application, an ansible automatic operation and maintenance tool is introduced, the layout is configured in the ansible, the host list is configured, and the layout is operated to install the Kubernetes container platform on the server, so that a standardized and batch delivery deployment mode of building the k8s platform is realized, the efficiency is remarkably improved, the cost is remarkably reduced, and good technical conditions are created for application, popularization and promotion of micro-services. Besides, the ansible is adopted to establish the Kubernetes platform, so that an agent in an operating system does not need to be installed in a client, and the resource loss of the client can be reduced.

Application Domain

Software simulation/interpretation/emulation

Technology Topic

Micro servicesSystems engineering +3

Image

  • Method and equipment for automatically building container platform based on ansible
  • Method and equipment for automatically building container platform based on ansible

Examples

  • Experimental program(1)

Example Embodiment

[0031] The present application will be described in more detail below with reference to the accompanying drawings. Although preferred embodiments of the present application are shown in the accompanying drawings, it should be understood that the present application can be implemented in various forms and should not be limited by the embodiments set forth herein. On the contrary, these embodiments are provided to make the application more thorough and complete, and to fully convey the scope of the application to those skilled in the art.
[0032] As mentioned above, kubernetes is of great significance for the application, popularization and promotion of microservices. However, at present, it is necessary to manually deploy kubernetes clusters, resulting in problems such as inconsistent versions of the system environment, increased deployment time, high manual learning cost and difficult transplantation, which brings great difficulties to the application of microservices.
[0033]After in-depth understanding of many technical solutions and their combinations, the applicant chose to introduce ansible into kubernetes cluster deployment, realized the standardized delivery and deployment mode of building kubernetes container platform, significantly increased efficiency and reduced cost, created good technical conditions for the application, popularization and promotion of microservices, and reduced the resource loss of client operating system.
[0034] Ansible is a simple, powerful and agent-free automation language, which is written based on yaml text and easy to read. Ansible requires no agent, and no additional agent (agent) needs to be installed on the host or network device. In addition, ansible also enables cross platform support, which can support Linux, windows, UNIX and network devices. Playbook, play, role, inventory, task and module are all important terms in ansible. PlayBook can be regarded as a task list of roles. It is a script file built based on yaml in ansible. The main function of play is to dress up the hosts that are merged into a group in advance as roles defined through the task in advance. Role is a new feature introduced by ansible since version 1.2. It is used to organize playbooks hierarchically and structurally. Task calls the predefined module in ansible to perform the desired task. A module is a predefined module in ansible. Inventory is the list of roles. Ansible supports both dynamic and static objects. Plugin refers to the code segment added to ansible, which is used to extend ansible platform.
[0035] Figure 1 A flowchart showing a method of automatically building a container platform based on ansible according to an embodiment of the present application. as Figure 1 As shown, the method includes step 102, step 104 and step 106.
[0036] Step 102: configure the playbook, which includes a plurality of plays for installing the kubernetes container platform, and each play corresponds to at least one role.
[0037] In some possible embodiments, the roles corresponding to the plurality of plays include a role for system initialization, a role for installing a container, a role for installing a mirror warehouse, a role for installing an orchestration platform of kubernetes, etc. The layout platform of kubernetes usually includes master and node.
[0038] In some possible embodiments, each role is configured to perform at least one task, and an ansible predefined module can be called to write the task corresponding to each role.
[0039] The deployment task can be divided into multiple plays, and each play corresponds to at least one role. The play will dress up the hosts that are merged into a group as roles defined in advance through the task in ansible. You can call ansible predefined modules to write corresponding tasks. Copy, template, shell, yum, etc. are all frequently called modules in ansible. Copy module, which is used to overwrite the files in the specified directory to the role; Template module, which is used to replace and overwrite the configuration file on the role; Shell module for remote execution of shell script; Yum module for remote installation and uninstallation of software.
[0040] In some possible embodiments, the method further includes: creating a plurality of folders for each role, including a folder storing static files, a folder storing template files, a folder setting variables, a folder group storing at least one task executed by the role, a file group setting variables, and a file group storing at least one task executed by the role.
[0041] You can create files, tasks, templates, vars folders for each role. Files is used to store static files; Templates is used to store template files; Vars is used to set the running variables; Tasks is used to store one or more tasks executed by the role. Predefined modules in ansible can be called in the task file.
[0042] Step 104: configure the host list, and set the IP address corresponding to each role in the host list.
[0043] The IP address corresponding to each role can be set in the host list. The same role can be deployed on multiple servers to realize batch deployment and high availability of the system.
[0044] Step 106, run the playbook and install the kubernetes container platform on the server indicated by the IP address.
[0045] The above server can be a host server or a networking server.
[0046] In some possible embodiments, if the server indicated by the IP address is at the first security level, run the playbook to remotely install the kubernetes container platform on the server. In one example, the kubernetes container platform may be remotely installed on the server indicated by the IP address based on the SSH protocol.
[0047] In some possible embodiments, if the server indicated by the IP address is in the second security level, migrate the playbook to the device connected to the server, and run the playbook on the device to install the kubernetes container platform on the server.
[0048] For servers in ordinary production environment (the first security level), SSH authentication can be used to get through all these container platform servers for remote installation and deployment; After the deployment of the private key to the fortress is completed, the private key is added to the fortress.
[0049] For the server in the network isolation environment (the second security level), you can copy the playbook until the device connected with the server. This device can be other servers in the same network isolation environment with the server, or the server itself; Running playbook on the device to install and deploy on the server; And the playbook on the device can be deleted after installation.
[0050] According to the technical scheme disclosed in the application, the ansible automatic operation and maintenance tool is introduced. By configuring the playbook, configuring the host list, and running the playbook to install the kubernetes container platform on the server, the standardized delivery and deployment mode of building the k8s platform is realized, which significantly improves efficiency and reduces cost, and creates good technical conditions for the application, popularization and promotion of micro services. In addition, using ansible to build kubernetes platform, there is no need to install agents on the client, which can also reduce the resource loss of the client.
[0051]For example, you can define init in a play_ System (system initialization) role, which realizes the unified configuration optimization of operating system initialization, usually including the repair of security vulnerabilities, baseline repair, etc. Through this application, set init in playbook_ System, which can directly cover multiple remote container platform servers: sshd_ config、selinux、localtime、limits. conf、sudo、sysctl. conf、login. defs、pwquality. Conf, you can also upgrade the Linux kernel Kube apiserver, kubelet, Kube controller manager, Kube scheduler, Kube prox, install and delete RPM (RPM package manager), which significantly improves the deployment efficiency and reduces the error rate. In addition, since the agent is not deployed on the client, it will not cause resource loss to its operating system.
[0052] For another example, the deployment of kubernetesdocker, a container platform, is relatively complex. In the existing technology, experienced technicians are required to deploy manually, and the delivery cycle time is also long. By defining the role of installing the docker container in a play, you can create certificates, etcd clusters, master high availability, automatic installation of multiple components, etc. without understanding the internal principle of the container and module call mechanism, you can deliver quickly. In addition, the role is stored in the form of file, which has strong portability and reusability, and can be quickly copied to other projects.
[0053] In some possible embodiments, multiple plays in the playbook can install the kubernetes container platform on the role in a binary manner.
[0054] Binary deployment makes it easier to troubleshoot problems, but its deployment is more complex and error prone. According to this application, automatic deployment in binary mode is realized by introducing ansible, which avoids the defects of cumbersome and error prone modification of configuration file in binary deployment.
[0055] Figure 2 A flow chart for building a container platform according to an exemplary embodiment of the present application is displayed. As shown in the figure, S202 starts to run playbook. S204, execute the play of the corresponding system initialization role. S206, execute the play of the corresponding docker role. S208, execute the play corresponding to installing the role of the mirror warehouse. S210, execute the play corresponding to installing the etcd cluster role. When executing S210, also pull the image in the image warehouse. S212, execute the play corresponding to the installation of the cluster master role. S214, execute the play corresponding to installing the role of the cluster controlled node.
[0056] The embodiments of the present application have been described above. The above description is exemplary, not exhaustive, and is not limited to the disclosed embodiments. Without departing from the scope and spirit of the described embodiments, many modifications and changes are obvious to those skilled in the art.

PUM

no PUM

Description & Claims & Application Information

We can also present the details of the Description, Claims and Application information to help users get a comprehensive understanding of the technical details of the patent, such as background art, summary of invention, brief description of drawings, description of embodiments, and other original content. On the other hand, users can also determine the specific scope of protection of the technology through the list of claims; as well as understand the changes in the life cycle of the technology with the presentation of the patent timeline. Login to view more.

Similar technology patents

Environment-friendly industrial coal waste recycling device

ActiveCN110976486AImprove mechanical transmission efficiencyReduce resource consumption
Owner:徐州鸿誉环境科技有限公司

Classification and recommendation of technical efficacy words

  • Reduce resource consumption
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Try Eureka
PatSnap group products