CN113596190B - Application distributed multi-activity system and method based on Kubernetes - Google Patents

Application distributed multi-activity system and method based on Kubernetes Download PDF

Info

Publication number
CN113596190B
CN113596190B CN202110835439.6A CN202110835439A CN113596190B CN 113596190 B CN113596190 B CN 113596190B CN 202110835439 A CN202110835439 A CN 202110835439A CN 113596190 B CN113596190 B CN 113596190B
Authority
CN
China
Prior art keywords
cluster
clusters
application
kubernetes
domain name
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110835439.6A
Other languages
Chinese (zh)
Other versions
CN113596190A (en
Inventor
郑强
张东海
王刚
高传集
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Cloud Information Technology Co Ltd
Original Assignee
Inspur Cloud Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Cloud Information Technology Co Ltd filed Critical Inspur Cloud Information Technology Co Ltd
Priority to CN202110835439.6A priority Critical patent/CN113596190B/en
Publication of CN113596190A publication Critical patent/CN113596190A/en
Application granted granted Critical
Publication of CN113596190B publication Critical patent/CN113596190B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0659Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Abstract

The invention discloses an application distributed multi-activity system and method based on Kubernetes, which belong to the field of cloud computing, and solve the technical problem of how to uniformly manage and schedule container resources of application services, and make up the limitation of single Kubernetes cluster on the reliability support of cloud native application services, wherein the technical scheme is as follows: the system comprises a cluster manager, a configuration manager, a scheduler and a domain name resolver; the cluster manager is used for uniformly managing a plurality of different areas and different types of clusters; the configuration manager is used for processing various Kubernetes resource objects; the scheduler is used for applying the scheduling distribution in the cluster; domain name resolvers are used for application service discovery between various clusters. The method comprises the steps of synchronously distributing and dispatching application services to the Kubernetes clusters, uniformly exposing the application services of the plurality of Kubernetes clusters through a server of an automatic configuration DNS server, automatically carrying out health examination on the application of the plurality of Kubernetes clusters, and timely kicking out fault application from the server of the DNS server to realize automatic flow cutting of the fault application.

Description

Application distributed multi-activity system and method based on Kubernetes
Technical Field
The invention relates to the field of Kubernetes application management in cloud computing technology, in particular to an application distributed multi-activity system and method based on the Kubernetes.
Background
As technologies in the container and cloud computing fields are continuously mature, more and more traditional applications start to cloud, and Kubernetes become the fact standard for cloud native application arrangement, application services are deployed on Kubernetes, but in actual use, problems are often encountered, that is, a single Kubernetes cluster cannot be deployed across multiple regions, not to mention across different cloud vendors, so that problems are brought to application services, that an application cannot realize disaster recovery backup at a region level and fault current switching between different regions, and problems such as upper limit of a single cluster size exist, so that according to service forms of application services and demands for cloud disaster recovery, how to uniformly manage container resources of scheduling application services are generally required, and meanwhile, limitations of single Kubernetes cluster on reliability support of cloud native application services are the problems to be solved at present.
Disclosure of Invention
The technical task of the invention is to provide an application distributed multi-activity system and method based on Kubernetes, which are used for solving the problem of how to uniformly manage and schedule container resources of application services and simultaneously solving the limitation of single Kubernetes cluster on the reliability support of cloud native application services.
The technical task of the present invention is achieved in a manner that an application distributed multi-activity system based on Kubernetes, the system comprising,
the cluster manager is used for uniformly managing a plurality of different areas and clusters of different types;
a configuration manager for processing various Kubernetes resource objects;
a scheduler for applying a scheduling distribution in the cluster;
domain name resolvers for application service discovery between various clusters.
Preferably, the Cluster manager comprises a Cluster resource object and a Cluster controller;
cluster resource objects are used to define various clusters that are managed;
the Cluster controller is used for monitoring Cluster resource objects and synchronously managing various clusters according to the change of the Cluster resource objects, so that unified management of a plurality of clusters with different areas and different types can be realized, and dynamic Cluster access and deletion are supported.
Preferably, the configuration manager comprises a Config resource object and a configuration controller;
the Config resource object is used for defining detailed information of the resource object to be issued;
the configuration controller is used for monitoring the Config resource object and synchronously issuing the Config resource object to the managed cluster according to the definition content;
wherein, the Config resource object comprises Template, placement and Override;
the Template is used for defining all information of the resource object to be issued, such as a resource definition of Deployment, service in Kubernetes;
placement is used for defining which clusters to issue resource objects to be managed, and if the resource objects are not defined, the resource objects are issued to all the managed clusters simultaneously; defining the maximum and minimum instance numbers of each cluster distribution at the same time, and carrying out flexible scheduling by a scheduler according to the configuration;
the Override is used to provide the ability to differentially modify the fields in the Template; for the same resource object to be issued, due to the influence of various factors such as cloud manufacturer or cluster version, there may be a difference in different cluster configurations; such as a duplicate object, where some fields are not required to be identical in different Kubernetes clusters, it is necessary to differentially configure these fields.
Preferably, the scheduler is used for scheduling and distributing the depoyment resources applied in the Kubernetes, performing flexible scheduling according to the most and least examples of defining the resource object distribution in each cluster, and performing reasonable expansion and contraction among the clusters according to the load condition of the clusters;
when the scheduling result collides with the customized Override, the scheduling result has priority, for example, the number of the defined application instances in the Override is 5, the actual scheduling result calculated by the actual scheduler is only 3, and then the number of the instances in the customized Override is changed from 5 to 3.
More preferably, the domain name resolver is used for application service discovery among various clusters, specifically as follows:
(1) The domain name resolver is connected to a server of the DNS server;
(2) After the application service is issued and created, the domain name resolver collects information of the corresponding devices of the applications in each cluster, and obtains corresponding ip and domain name combinations;
(3) Automatically configuring the ip and the corresponding domain name of each cluster service to a server of a DNS server of a public network so as to realize cross-cluster service discovery through the domain name of the public network;
(4) The domain name resolver performs health check on the application service:
when a cluster failure or an application becomes problematic, the health check fails;
(5) And updating a server of the DNS server by the domain name resolver, and removing the ip of the fault application from the server of the DNS server to realize automatic fault flow cutting.
The utility model provides an application distributing type multi-activity method based on Kubernetes, which is characterized in that application services are synchronously distributed and scheduled to the Kubernetes clusters, the application services of a plurality of Kubernetes clusters are uniformly exposed through a server of an automatic configuration DNS server, health examination is automatically carried out on the application of the plurality of Kubernetes clusters, fault application is kicked out from the server of the DNS server in time, automatic tangential flow of the fault application is realized, and the distributed multi-activity of the application service is finally realized while the service access stability is ensured.
Preferably, the method is as follows;
s1, a cluster manager performs unified management on a plurality of different areas and clusters of different types, and specifically comprises the following steps:
s101, defining various managed clusters by a Cluster resource object of a Cluster manager;
s102, a Cluster controller of a Cluster manager monitors Cluster resource objects, synchronously manages various clusters according to changes of the Cluster resource objects, realizes unified management of a plurality of different areas and different types of clusters, and supports dynamic Cluster access and deletion;
s2, a configuration manager processes various Kubernetes resource objects, specifically as follows;
s201, defining detailed information of a resource object to be issued in a Config resource object of a configuration manager;
s202, a configuration controller monitors Config resource objects and synchronously transmits the Config resource objects to a managed cluster according to definition contents in the Config resource objects;
s3, the scheduler is responsible for scheduling distribution of the depoyment resources applied to the Kubernetes, elastic scheduling is carried out according to the maximum and minimum examples of the resource objects distributed in each cluster, and reasonable expansion and contraction are carried out among the clusters according to the load condition of the clusters;
and S4, the domain name resolver is responsible for application service discovery among the clusters.
More preferably, the Config resource object includes Template, placement and Override;
the Template is used for defining all information of the resource object to be issued, such as a resource definition of Deployment, service in Kubernetes;
placement is used for defining which clusters to issue resource objects to be managed, and if the resource objects are not defined, the resource objects are issued to all the managed clusters simultaneously; defining the maximum and minimum instance numbers of each cluster distribution at the same time, and carrying out flexible scheduling by a scheduler according to the configuration;
the Override is used to provide the ability to differentially modify the fields in the Template; for the same resource object to be issued, due to the influence of various factors such as cloud manufacturer or cluster version, there may be a difference in different cluster configurations; such as a duplicate object, where some fields are not required to be identical in different Kubernetes clusters, it is necessary to differentially configure these fields.
More preferably, the domain name resolver in step S4 is responsible for application service discovery between clusters specifically as follows:
s401, a domain name resolver is connected to a server of a DNS server in a butt joint mode;
s402, after application services are issued and created, a domain name resolver collects information of corresponding devices of applications in each cluster, and corresponding ip and domain name combinations are obtained;
s403, automatically configuring the ip and the corresponding domain name of each cluster service to a server of a DNS server of a public network so as to realize cross-cluster service discovery through the domain name of the public network;
s404, performing health check on the application service by the domain name resolver:
when a cluster failure or an application becomes problematic, the health check fails;
and S405, updating a server of the DNS server by the domain name resolver, and removing the ip of the fault application from the server of the DNS server to realize automatic fault flow cutting.
A computer readable storage medium having stored therein a computer program executable by a processor to implement a Kubernetes-based application distributed multi-lived method as described above.
The application distributed multi-activity system and method based on the Kubernetes have the following advantages:
the invention aims to uniformly manage a plurality of Kubernetes clusters, synchronously and distributively schedule application services into the clusters, uniformly expose the application services of the clusters through an automatic configuration DNS server, automatically check the health of the application of the clusters, timely kick out fault application from the DNS server, realize automatic tangential flow of the fault application, ensure the stability of service access, thereby compensating the limitation of the single Kubernetes cluster on the reliability support of cloud native application service, and finally realizing the distributed multiple activities of the application service;
the invention adopts a mode of uniformly managing and scheduling a plurality of Kubernetes clusters, carries out application service arrangement across the clusters, reasonably stretches and contracts according to the load condition, has a domain name resolution function, can provide cross-cluster access capability for managing the application of each cluster, and enables the application to access the same back-end service of the clusters;
the method is simple and easy to use, can manage the resource objects of a plurality of Kubernetes clusters, can automatically synchronize to the plurality of clusters only by one definition, and dispersedly distributes and deploys the workload among the plurality of clusters, thereby improving the reliability of application service;
the invention realizes the scheduling of the resource arrangement of the cross-cluster, and the scheduler can perform the deployment of the elastic application service in a plurality of clusters according to the arrangement strategy;
the invention realizes the service discovery of the cross-cluster, realizes the service discovery of the cross-cluster through domain name resolution, can remove the fault application in time, and ensures that the application can stably provide service;
the method and the system uniformly manage and schedule a plurality of Kubernetes clusters, support dynamic cluster access and deletion, perform distributed elastic scheduling on application services according to configuration and load conditions, uniformly deploy, update and delete applications across clusters, provide cross-cluster access capability of each cluster application by automatically configuring a DNS server, ensure that the same back-end application of a plurality of clusters can be accessed, and automatically switch to the same back-end service of other clusters when the back-end application of a certain cluster fails, and ensure the availability and robustness of the application service;
the invention simplifies the management of a plurality of Kubernetes clusters, and can dynamically access a new Cluster or delete a certain Cluster only by defining a Cluster resource object;
the invention distributes and schedules the application service to different clusters through an automatic mechanism, and the application is arranged based on the scheduling strategies such as the copy number, the cluster load condition and the like;
the invention automatically carries out health examination on the application service, timely kicks out unhealthy application from the DNS server, and realizes automatic tangential flow of fault application;
the application distributed multi-activity design based on the Kubernetes can deploy application services in different Kubernetes clusters and uniformly manage operation and maintenance, simplify application Service components such as devionynts, services and the like for managing a plurality of clusters, and disperse workload among the plurality of clusters so as to improve the reliability of the application services and finally realize the distributed multi-activity of the application services. .
Drawings
The invention is further described below with reference to the accompanying drawings.
Fig. 1 is a block diagram of a Kubernetes-based application distributed multi-activity system.
Detailed Description
The Kubernetes-based application distributed multi-activity system and method of the present invention are described in detail below with reference to the drawings and detailed description.
In the description of the present invention, it should be understood that the terms "upper", "lower", "front", "rear", "left", "right", "vertical", "horizontal", "top", "bottom", "inner", "outer", etc. indicate orientations or positional relationships based on the orientations or positional relationships shown in the drawings, only for convenience in describing the present invention and simplifying the description. Rather than indicating or implying that the apparatus or elements herein referred to must have a particular orientation, be constructed and operated in a particular orientation, and therefore should not be construed as limiting the invention. Furthermore, the terms "first," "second," and "third" are used for descriptive purposes only and are not to be construed as indicating or implying relative importance.
In the description of the present invention, it should be noted that, unless explicitly specified and limited otherwise, the terms "mounted," "connected," and "connected" are to be construed broadly, and may be either fixedly connected, detachably connected, or integrally connected, for example; can be mechanically or electrically connected; can be directly connected or indirectly connected through an intermediate medium, and can be communication between two elements. The specific meaning of the above terms in the present invention will be understood in specific cases by those of ordinary skill in the art.
Example 1:
as shown in fig. 1, the Kubernetes-based application distributed multi-activity system of the present invention comprises,
the cluster manager is used for uniformly managing a plurality of different areas and clusters of different types;
a configuration manager for processing various Kubernetes resource objects;
a scheduler for applying a scheduling distribution in the cluster;
domain name resolvers for application service discovery between various clusters.
The Cluster manager in this embodiment includes a Cluster resource object and a Cluster controller;
cluster resource objects are used to define various clusters that are managed;
the Cluster controller is used for monitoring Cluster resource objects and synchronously managing various clusters according to the change of the Cluster resource objects, so that unified management of a plurality of clusters with different areas and different types can be realized, and dynamic Cluster access and deletion are supported.
The configuration manager in this embodiment includes a Config resource object and a configuration controller;
the Config resource object is used for defining detailed information of the resource object to be issued;
the configuration controller is used for monitoring the Config resource object and synchronously issuing the Config resource object to the managed cluster according to the definition content;
wherein, the Config resource object comprises Template, placement and Override;
the Template is used for defining all information of the resource object to be issued, such as a resource definition of Deployment, service in Kubernetes;
placement is used for defining which clusters to issue resource objects to be managed, and if the resource objects are not defined, the resource objects are issued to all the managed clusters simultaneously; defining the maximum and minimum instance numbers of each cluster distribution at the same time, and carrying out flexible scheduling by a scheduler according to the configuration;
the Override is used to provide the ability to differentially modify the fields in the Template; for the same resource object to be issued, due to the influence of various factors such as cloud manufacturer or cluster version, there may be a difference in different cluster configurations; such as a duplicate object, where some fields are not required to be identical in different Kubernetes clusters, it is necessary to differentially configure these fields.
The scheduler in the embodiment is used for scheduling and distributing the depoyment resources applied in the Kubernetes, performing elastic scheduling according to the most and least examples of defining the resource object distribution in each cluster, and performing reasonable expansion and contraction among the clusters according to the load condition of the clusters;
when the scheduling result collides with the customized Override, the scheduling result has priority, for example, the number of the defined application instances in the Override is 5, the actual scheduling result calculated by the actual scheduler is only 3, and then the number of the instances in the customized Override is changed from 5 to 3.
The domain name resolver in this embodiment is used for application service discovery between various clusters, specifically as follows:
(1) The domain name resolver is connected to a server of the DNS server;
(2) After the application service is issued and created, the domain name resolver collects information of the corresponding devices of the applications in each cluster, and obtains corresponding ip and domain name combinations;
(3) Automatically configuring the ip and the corresponding domain name of each cluster service to a server of a DNS server of a public network so as to realize cross-cluster service discovery through the domain name of the public network;
(4) The domain name resolver performs health check on the application service:
when a cluster failure or an application becomes problematic, the health check fails;
(5) And updating a server of the DNS server by the domain name resolver, and removing the ip of the fault application from the server of the DNS server to realize automatic fault flow cutting.
Example 2:
the invention discloses a Kubernetes-based application distributed multi-activity method, which comprises the steps of synchronously distributing and dispatching application services into Kubernetes clusters, uniformly exposing the application services of a plurality of Kubernetes clusters through a server of an automatic configuration DNS server, automatically carrying out health examination on the application of the plurality of Kubernetes clusters, timely kicking out fault application from the server of the DNS server, realizing automatic tangential flow of the fault application, ensuring service access stability and finally realizing distributed multi-activity of the application service; the method is as follows;
s1, a cluster manager performs unified management on a plurality of different areas and clusters of different types, and specifically comprises the following steps:
s101, defining various managed clusters by a Cluster resource object of a Cluster manager;
s102, a Cluster controller of a Cluster manager monitors Cluster resource objects, synchronously manages various clusters according to changes of the Cluster resource objects, realizes unified management of a plurality of different areas and different types of clusters, and supports dynamic Cluster access and deletion;
s2, a configuration manager processes various Kubernetes resource objects, specifically as follows;
s201, defining detailed information of a resource object to be issued in a Config resource object of a configuration manager;
s202, a configuration controller monitors Config resource objects and synchronously transmits the Config resource objects to a managed cluster according to definition contents in the Config resource objects;
s3, the scheduler is responsible for scheduling distribution of the depoyment resources applied to the Kubernetes, elastic scheduling is carried out according to the maximum and minimum examples of the resource objects distributed in each cluster, and reasonable expansion and contraction are carried out among the clusters according to the load condition of the clusters;
s4, the domain name resolver is responsible for application service discovery among all clusters; the method comprises the following steps:
s401, a domain name resolver is connected to a server of a DNS server in a butt joint mode;
s402, after application services are issued and created, a domain name resolver collects information of corresponding devices of applications in each cluster, and corresponding ip and domain name combinations are obtained;
s403, automatically configuring the ip and the corresponding domain name of each cluster service to a server of a DNS server of a public network so as to realize cross-cluster service discovery through the domain name of the public network;
s404, performing health check on the application service by the domain name resolver:
when a cluster failure or an application becomes problematic, the health check fails;
and S405, updating a server of the DNS server by the domain name resolver, and removing the ip of the fault application from the server of the DNS server to realize automatic fault flow cutting.
The Config resource object in this embodiment includes Template, placement and Override;
the Template is used for defining all information of the resource object to be issued, such as a resource definition of Deployment, service in Kubernetes;
placement is used for defining which clusters to issue resource objects to be managed, and if the resource objects are not defined, the resource objects are issued to all the managed clusters simultaneously; defining the maximum and minimum instance numbers of each cluster distribution at the same time, and carrying out flexible scheduling by a scheduler according to the configuration;
the Override is used to provide the ability to differentially modify the fields in the Template; for the same resource object to be issued, due to the influence of various factors such as cloud manufacturer or cluster version, there may be a difference in different cluster configurations; such as a duplicate object, where some fields are not required to be identical in different Kubernetes clusters, it is necessary to differentially configure these fields.
Example 3:
the embodiment of the invention also provides a computer readable storage medium, wherein a plurality of instructions are stored, and the instructions are loaded by a processor, so that the processor executes the application distributed multi-activity method based on the Kubernetes in any embodiment of the invention. Specifically, a system or apparatus provided with a storage medium on which a software program code realizing the functions of any of the above embodiments is stored, and a computer (or CPU or MPU) of the system or apparatus may be caused to read out and execute the program code stored in the storage medium.
In this case, the program code itself read from the storage medium may realize the functions of any of the above-described embodiments, and thus the program code and the storage medium storing the program code form part of the present invention.
Examples of the storage medium for providing the program code include a floppy disk, a hard disk, a magneto-optical disk, an optical disk (e.g., CD-ROM, CD-R, CD-RW, DVD-ROM, DVD-RAM, DVD-RW, DVD+RW), a magnetic tape, a nonvolatile memory card, and a ROM. Alternatively, the program code may be downloaded from a server computer by a communication network.
Further, it should be apparent that the functions of any of the above-described embodiments may be implemented not only by executing the program code read out by the computer, but also by causing an operating system or the like operating on the computer to perform part or all of the actual operations based on the instructions of the program code.
Further, it is understood that the program code read out by the storage medium is written into a memory provided in an expansion board inserted into a computer or into a memory provided in an expansion unit connected to the computer, and then a CPU or the like mounted on the expansion board or the expansion unit is caused to perform part and all of actual operations based on instructions of the program code, thereby realizing the functions of any of the above embodiments.
Finally, it should be noted that: the above embodiments are only for illustrating the technical solution of the present invention, and not for limiting the same; although the invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical scheme described in the foregoing embodiments can be modified or some or all of the technical features thereof can be replaced by equivalents; such modifications and substitutions do not depart from the spirit of the invention.

Claims (3)

1. An application distributed multi-activity system based on Kubernetes, which is characterized in that the system comprises,
the cluster manager is used for uniformly managing a plurality of different areas and clusters of different types; the Cluster manager comprises a Cluster resource object and a Cluster controller;
cluster resource objects are used to define various clusters that are managed;
the Cluster controller is used for monitoring Cluster resource objects and synchronously managing various clusters according to the change of the Cluster resource objects, so that unified management of a plurality of clusters with different areas and different types can be realized, and dynamic Cluster access and deletion are supported;
a configuration manager for processing various Kubernetes resource objects; the configuration manager comprises a Config resource object and a configuration controller;
the Config resource object is used for defining detailed information of the resource object to be issued;
the configuration controller is used for monitoring the Config resource object and synchronously issuing the Config resource object to the managed cluster according to the definition content;
wherein, the Config resource object comprises Template, placement and Override;
the Template is used for defining all information of the resource object to be issued;
placement is used for defining which clusters to issue resource objects to be managed, and if the resource objects are not defined, the resource objects are issued to all the managed clusters simultaneously; defining the maximum and minimum instance numbers of each cluster distribution at the same time, and carrying out flexible scheduling by a scheduler according to the configuration;
the Override is used to provide the ability to differentially modify the fields in the Template;
a scheduler for applying a scheduling distribution in the cluster; the scheduler is used for scheduling and distributing the depoyment resources applied in the Kubernetes, flexibly scheduling according to the maximum and minimum examples of defining the resource object distribution in each cluster, and reasonably expanding and contracting among the clusters according to the load condition of the clusters; when the scheduling result collides with the custom Override, the scheduling result enjoys priority;
a domain name resolver for application service discovery between various clusters; the domain name resolver is used for discovering application services among various clusters, and specifically comprises the following steps:
(1) The domain name resolver is connected to a server of the DNS server;
(2) After the application service is issued and created, the domain name resolver collects information of the corresponding devices of the applications in each cluster, and obtains corresponding ip and domain name combinations;
(3) Automatically configuring the ip and the corresponding domain name of each cluster service to a server of a DNS server of a public network so as to realize cross-cluster service discovery through the domain name of the public network;
(4) The domain name resolver performs health check on the application service:
when a cluster failure or an application becomes problematic, the health check fails;
(5) And updating a server of the DNS server by the domain name resolver, and removing the ip of the fault application from the server of the DNS server to realize automatic fault flow cutting.
2. The utility model provides an application distributed multi-activity method based on Kubernetes, which is characterized in that the method is that application services are synchronously distributed and scheduled into the Kubernetes clusters, the application services of a plurality of Kubernetes clusters are uniformly exposed through a server of an automatic configuration DNS server, health examination is automatically carried out on the application of the plurality of Kubernetes clusters, fault application is timely kicked out from the server of the DNS server, automatic tangential flow of the fault application is realized, and the distributed multi-activity of the application service is finally realized while the service access stability is ensured; the method comprises the following steps:
s1, a cluster manager performs unified management on a plurality of different areas and clusters of different types, and specifically comprises the following steps:
s101, defining various managed clusters by a Cluster resource object of a Cluster manager;
s102, a Cluster controller of a Cluster manager monitors Cluster resource objects, synchronously manages various clusters according to changes of the Cluster resource objects, realizes unified management of a plurality of different areas and different types of clusters, and supports dynamic Cluster access and deletion;
s2, the configuration manager processes various Kubernetes resource objects, and the method specifically comprises the following steps:
s201, defining detailed information of a resource object to be issued in a Config resource object of a configuration manager; wherein, the Config resource object comprises Template, placement and Override;
the Template is used for defining all information of the resource object to be issued;
placement is used for defining which clusters to issue resource objects to be managed, and if the resource objects are not defined, the resource objects are issued to all the managed clusters simultaneously; defining the maximum and minimum instance numbers of each cluster distribution at the same time, and carrying out flexible scheduling by a scheduler according to the configuration;
the Override is used to provide the ability to differentially modify the fields in the Template;
s202, a configuration controller monitors Config resource objects and synchronously transmits the Config resource objects to a managed cluster according to definition contents in the Config resource objects;
s3, the scheduler is responsible for scheduling distribution of the depoyment resources applied to the Kubernetes, elastic scheduling is carried out according to the maximum and minimum examples of the resource objects distributed in each cluster, and reasonable expansion and contraction are carried out among the clusters according to the load condition of the clusters;
s4, the domain name resolver is responsible for application service discovery among all clusters; the method comprises the following steps:
s401, a domain name resolver is connected to a server of a DNS server in a butt joint mode;
s402, after application services are issued and created, a domain name resolver collects information of corresponding devices of applications in each cluster, and corresponding ip and domain name combinations are obtained;
s403, automatically configuring the ip and the corresponding domain name of each cluster service to a server of a DNS server of a public network so as to realize cross-cluster service discovery through the domain name of the public network;
s404, performing health check on the application service by the domain name resolver:
when a cluster failure or an application becomes problematic, the health check fails;
and S405, updating a server of the DNS server by the domain name resolver, and removing the ip of the fault application from the server of the DNS server to realize automatic fault flow cutting.
3. A computer readable storage medium having a computer program stored therein, the computer program being executable by a processor to implement the Kubernetes-based application distributed multi-lived method of claim 2.
CN202110835439.6A 2021-07-23 2021-07-23 Application distributed multi-activity system and method based on Kubernetes Active CN113596190B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110835439.6A CN113596190B (en) 2021-07-23 2021-07-23 Application distributed multi-activity system and method based on Kubernetes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110835439.6A CN113596190B (en) 2021-07-23 2021-07-23 Application distributed multi-activity system and method based on Kubernetes

Publications (2)

Publication Number Publication Date
CN113596190A CN113596190A (en) 2021-11-02
CN113596190B true CN113596190B (en) 2023-05-26

Family

ID=78249131

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110835439.6A Active CN113596190B (en) 2021-07-23 2021-07-23 Application distributed multi-activity system and method based on Kubernetes

Country Status (1)

Country Link
CN (1) CN113596190B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114374692A (en) * 2021-12-02 2022-04-19 浪潮云信息技术股份公司 Method and system for realizing multi-container cluster management
CN115145683A (en) * 2022-06-22 2022-10-04 北京火山引擎科技有限公司 Cloud service implementation method and device
CN115174364A (en) * 2022-06-30 2022-10-11 济南浪潮数据技术有限公司 Data recovery method, device and medium in disaster tolerance scene
CN116132366A (en) * 2022-07-01 2023-05-16 马上消费金融股份有限公司 Traffic management method, traffic management device, electronic equipment and storage medium
CN116319676B (en) * 2023-05-23 2023-10-20 阿里云计算有限公司 Domain name resolution method, device, storage medium and system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103647830A (en) * 2013-12-13 2014-03-19 浪潮电子信息产业股份有限公司 Dynamic management method for multilevel configuration files in cluster management system
WO2019154394A1 (en) * 2018-02-12 2019-08-15 中兴通讯股份有限公司 Distributed database cluster system, data synchronization method and storage medium

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2923068C (en) * 2015-03-06 2022-07-19 Superna Business Consulting Inc. Method and system for metadata synchronization
CN109189860A (en) * 2018-10-19 2019-01-11 山东浪潮云信息技术有限公司 A kind of active and standby increment synchronization method of MySQL based on Kubernetes system
CN110535831B (en) * 2019-07-30 2022-02-01 平安科技(深圳)有限公司 Kubernetes and network domain-based cluster security management method and device and storage medium
CN110830546A (en) * 2019-09-20 2020-02-21 平安科技(深圳)有限公司 Available domain construction method, device and equipment based on container cloud platform
US11706162B2 (en) * 2019-10-21 2023-07-18 Sap Se Dynamic, distributed, and scalable single endpoint solution for a service in cloud platform
CN112000434A (en) * 2020-08-14 2020-11-27 苏州浪潮智能科技有限公司 Kubernetes dynamic management service based governance rule configuration method and system
CN112181660A (en) * 2020-10-12 2021-01-05 北京计算机技术及应用研究所 High-availability method based on server cluster
CN112764886A (en) * 2021-01-29 2021-05-07 上海弘积信息科技有限公司 Load balancing controller based on Kubernetes platform

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103647830A (en) * 2013-12-13 2014-03-19 浪潮电子信息产业股份有限公司 Dynamic management method for multilevel configuration files in cluster management system
WO2019154394A1 (en) * 2018-02-12 2019-08-15 中兴通讯股份有限公司 Distributed database cluster system, data synchronization method and storage medium

Also Published As

Publication number Publication date
CN113596190A (en) 2021-11-02

Similar Documents

Publication Publication Date Title
CN113596190B (en) Application distributed multi-activity system and method based on Kubernetes
US10540211B2 (en) Elasticity for highly available applications
US8825864B2 (en) System and method for supporting a dynamic resource broker in a transactional middleware machine environment
JP6329547B2 (en) System and method for providing a service management engine for use in a cloud computing environment
JP6658882B2 (en) Control device, VNF placement destination selection method and program
CN105939290B (en) A kind of method and device for distributing resource
US20150169313A1 (en) Integrated system and firmware update method
EP1267518A2 (en) Multiple device management method and system
US8219611B2 (en) Systems and methods for providing a complete view of large computing networks
US8745124B2 (en) Extensible power control for an autonomically controlled distributed computing system
CN104360878A (en) Method and device for deploying application software
US9483258B1 (en) Multi-site provisioning of resources to software offerings using infrastructure slices
US20120222037A1 (en) Dynamic reprovisioning of resources to software offerings
KR102328384B1 (en) Computer readable media storing automatic provisioning engine program for managed cluster
CN110932914B (en) Deployment method, deployment device, hybrid cloud system architecture and computer storage medium
CN112230987B (en) Distributed modular plug-in frame realization system and method
US11528186B2 (en) Automated initialization of bare metal servers
CN112417051A (en) Container arrangement engine resource management method and device, readable medium and electronic equipment
JP2015191246A (en) Communication system and management method
US20230222006A1 (en) Container Orchestration System
CN111367618A (en) Code management method, system, terminal and medium based on docker
CN112035123A (en) Method for realizing no server based on kubernets platform
CN110633085A (en) Relay protection setting calculation method and device based on micro-service architecture
CN102713842A (en) Verification of compatibility among telecommunication network features
CN112559138B (en) Resource scheduling system and method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant