WO2022190387A1 - 管理システム及び管理方法 - Google Patents

管理システム及び管理方法 Download PDF

Info

Publication number
WO2022190387A1
WO2022190387A1 PCT/JP2021/010206 JP2021010206W WO2022190387A1 WO 2022190387 A1 WO2022190387 A1 WO 2022190387A1 JP 2021010206 W JP2021010206 W JP 2021010206W WO 2022190387 A1 WO2022190387 A1 WO 2022190387A1
Authority
WO
WIPO (PCT)
Prior art keywords
cluster
external system
communication
cdc
computer system
Prior art date
Application number
PCT/JP2021/010206
Other languages
English (en)
French (fr)
Inventor
一成 竹内
Original Assignee
楽天モバイル株式会社
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 楽天モバイル株式会社 filed Critical 楽天モバイル株式会社
Priority to PCT/JP2021/010206 priority Critical patent/WO2022190387A1/ja
Priority to US17/906,743 priority patent/US20230146880A1/en
Publication of WO2022190387A1 publication Critical patent/WO2022190387A1/ja

Links

Images

Classifications

    • 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/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/08Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
    • 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/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • 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/0663Performing the actions predefined by failover planning, e.g. switching to standby network elements
    • 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/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors

Definitions

  • the present invention relates to a management system and management method.
  • a DNS (Domain Name System) server monitors the life and death of other servers and collects load information. It is described that an activation command is issued to a standby server, and accesses from newly connected client terminals are distributed to the standby server.
  • clusters of nodes that run container-type virtualized applications are built at each base such as a data center, thereby forming a single communication system as a whole. may be constructed.
  • clusters that are responsible for certain functions may be added. For example, in order to increase the availability of a communication system, new clusters may be added to back up existing clusters that perform certain functions.
  • Patent Document 1 Even if the above technique described in Patent Document 1 is applied to increase the number of clusters, the developer needs to manually change the settings of the DNS server, etc., which is time-consuming and slows down the communication system. Not expandable.
  • the present invention has been made in view of the above circumstances, and one of its purposes is to provide a management system and management method that can smoothly expand a communication system.
  • a management system registers resource data indicating the address of an external system capable of responding to an arbitrary computer system in response to a communication establishment request received from the computer system. and resource data registration means for controlling transmission of a communication establishment request from a given computer system to the external system whose address is indicated in the resource data in accordance with the registration of the resource data.
  • communication establishing means for establishing communication between a given computer system and the external system; and setting the role of the external system with which the communication is established in a given process executed by the given computer system. and role setting means for performing.
  • the resource data registration means may be configured to indicate the address of the new external system.
  • the communication establishing means establishes communication between the given computer system and the new external system according to the registration of the resource data, and the role setting means setting the role of the new external system with which the communication has been established in relation to the existing external system in the process;
  • the role setting means may set the new external system to be the backup role of the existing external system.
  • it further includes transmission means for transmitting target data related to the processing to the existing external system, wherein the transmission means is a failure of the existing external system or a failure of the given computer system and the existing external system.
  • the target data may be transmitted to the new external system instead of the existing external system when a failure occurs in a communication path with the system.
  • the means may transmit the target data to the new external system instead of the existing external system when the packet has not been received from the existing external system.
  • the receiving means further receives a packet repeatedly transmitted from the new external system for monitoring the normality of a path to the new external system, and means, when the packet has not been received from the existing external system and the packet has been received from the new external system, the new external system instead of the existing external system
  • the target data may be transmitted to the system.
  • the packet may be a BFD (Bidirectional Forwarding Detection) packet.
  • BFD Bidirectional Forwarding Detection
  • one aspect of the present invention further includes service data registration means for registering service data indicating the role of the external system in the processing.
  • the service data may be a DNS (Domain Name System) record used for name resolution of the destination of the target data related to the process.
  • DNS Domain Name System
  • the management method comprises the steps of: registering resource data indicating an address of an external system capable of responding to a computer system in response to a communication establishment request from an arbitrary computer system; in response to the registration of the given computer system and the external system by controlling that a communication establishment request is sent from the given computer system to the external system whose address is indicated in the resource data. and setting the role of the external system with which the communication is established in a given process performed by the given computer system.
  • FIG. 1 is a diagram showing the configuration of a computer system in which a cluster of nodes executing containerized applications is built;
  • FIG. 1 is a diagram showing the configuration of a communication system according to a first embodiment;
  • FIG. 13 shows an example of a DNS record stored in coredns of a GC cluster;
  • 4 is a flow chart showing the operation of a GC cluster;
  • FIG. 13 shows an example of a DNS record stored in coredns of a GC cluster;
  • FIG. 10 is a diagram showing the configuration of a communication system according to a second embodiment;
  • FIG. 13 shows an example of a DNS record stored in coredns of a GC cluster; 4 is a flow chart showing the operation of a GC cluster; It is a figure which shows an example of the data structure of service data.
  • FIG. 12 is a diagram showing the configuration of the communication system of the third embodiment in a state where CDC2 is not added; 4 is a flow chart showing an example of the flow of processing executed in a GC cluster;
  • FIG. 1 shows the configuration of a computer system in which a cluster of nodes (also called computers or servers) that execute containerized applications is constructed.
  • FIG. 1 depicts a GC cluster 12, a CDC cluster 14a, and a CDC cluster 14b as a plurality of computer systems in which the above clusters are constructed.
  • the GC cluster 12 is a cluster built in a GC (Group Unit Center) station of a mobile communication carrier.
  • An exemplary cluster is a set of nodes installed with software (specifically Kubernetes) to manage containerized workloads and services.
  • the cluster of the embodiment is a Kubernetes cluster that defines a range in which pods, which are containerized applications, can be managed by Kubernetes.
  • a Kubernetes cluster can also be said to be a set of multiple nodes on which Kubernetes can deploy pods.
  • the GC cluster 12 comprises a plurality of master nodes 20 (master node 20a, master node 20b, master node 20c) and a plurality of worker nodes 25 (one node is shown in FIG. 1).
  • the worker node 25 is deployed with a pod 26 that is a containerized application that executes various data processing (business processing, etc.).
  • the pod 26 can also be said to be a CNF (Cloud-native Network Function) instance.
  • CNF Cloud-native Network Function
  • Each of the multiple master nodes 20 is a node that manages multiple worker nodes 25 and multiple pods 26 .
  • Each of the plurality of master nodes 20 includes coredns 21, which is a DNS (Domain Name System) server that provides name resolution services to pods 26 within the cluster.
  • DNS Domain Name System
  • One leader is selected from among the plurality of master nodes 20, and in FIG. 1, the master node 20a is selected as the leader.
  • the CDC cluster 14a is a Kubernetes cluster built in CDC1, which is the first CDC (Central Data Center) of a mobile telecommunications carrier.
  • the CDC cluster 14a includes a plurality of master nodes 30 (master node 30a, master node 30b, master node 30c) and a plurality of worker nodes 35 (one node is illustrated in FIG. 1).
  • a pod 36 that executes various data processing (business processing, etc.) is deployed to the worker node 35 .
  • the CDC cluster 14b is a Kubernetes cluster built in CDC2, the second CDC of mobile telecommunications carriers.
  • the CDC cluster 14b includes a plurality of master nodes 40 (master node 40a, master node 40b, master node 40c) and a plurality of worker nodes 45 (one node is illustrated in FIG. 1).
  • a pod 46 that executes various data processing (business processing, etc.) is deployed to the worker node 45 .
  • the pod 26 of the GC cluster 12 transmits data related to application processing (hereinafter also referred to as "target data") to the pod 36 of the CDC cluster 14a.
  • the target data includes, for example, the processing results of the pods 26 deployed within the GC cluster 12 .
  • the pod26 of the GC cluster 12 transmits the target data to the pod46 of the CDC cluster 14b instead of the pod36 of the CDC cluster 14a.
  • the GSLB device 50 (also called infrastructure DNS) provided outside the cluster is accessed to resolve the name of the destination pod (eg pod 36). had to do.
  • the GSLB device 50 periodically performs a health check of the pod 36 by periodically transmitting predetermined data to the pod 36 of the CDC cluster 14a.
  • the GSLB device 50 periodically performs a health check of the pod 46 by periodically transmitting predetermined data to the pod 46 of the CDC cluster 14b.
  • the pod 26 of the GC cluster 12 requests coredns 21 to resolve the destination pod name (for example, the destination virtual domain name obtained by virtualizing pod 36 and pod 46).
  • the coredns 21 requests the GSLB device 50 to resolve the destination Pod name. If the pod 36 of the CDC cluster 14a is in a normal state, the GSLB device 50 sends the IP address of the pod 36 to the coredns 21 of the GC cluster 12 as a response to the name resolution request.
  • coredns21 returns the IP address of pod36 to pod26 within its own cluster.
  • the pod26 transmits the target data to the pod36 of the CDC cluster 14a based on the IP address of the pod36 provided by the coredns21.
  • the GSLB device 50 detects that fact.
  • the GSLB device 50 transmits the IP address of the pod 46 of the CDC cluster 14b to the coredns 21 of the GC cluster 12 as a response to the name resolution request.
  • coredns21 returns the IP address of pod46 to pod26 within its own cluster.
  • the pod26 transmits the target data to the pod46 of the CDC cluster 14b based on the IP address of the pod46 provided by the coredns21.
  • the GC cluster 12 and the GSLB device 50 are connected via a WAN 52 including a layer 2 (L2) communication section (eg Ethernet (registered trademark)).
  • L2 layer 2
  • Ethernet registered trademark
  • a failure occurs in the normal L2 communication path in the WAN 52, it takes a relatively long time to switch to the backup L2 communication path. Therefore, when a failure occurs in the WAN 52 between the GC cluster 12 and the GSLB device 50, it takes time to obtain the IP address of the destination Pod from the GSLB device 50, and the GC cluster 12 and the CDC cluster 14a (or CDC cluster 14b) ) could be delayed.
  • the first embodiment and the second embodiment of the present disclosure in communication between a plurality of Kubernetes clusters, packets that are repeatedly transmitted from the destination Kubernetes cluster every several seconds, Delay in communication between a plurality of Kubernetes clusters is suppressed by using a packet for monitoring the normality of the path between the Kubernetes cluster and the destination Kubernetes cluster.
  • the above packets in the embodiment are BFD packets transmitted and received by the BFD (Bidirectional Forwarding Detection) function.
  • FIG. 2 shows the configuration of the communication system 10 of the first embodiment.
  • FIG. 2 includes a block diagram showing functional blocks provided by each component of the communication system 10. As shown in FIG.
  • Each block shown in the block diagram of the present disclosure can be realized by hardware such as a CPU and memory of a computer or a mechanical device, and is realized by a computer program or the like in terms of software. , and the functional blocks realized by their cooperation are drawn. It should be understood by those skilled in the art that these functional blocks can be implemented in various ways by combining hardware and software.
  • the node configuration of the GC cluster 12 of the communication system 10 is the same as the node configuration of the GC cluster 12 of FIG. 1 described above.
  • the GC cluster 12 of the communication system 10 is a computer system in which a Kubernetes cluster, which is a cluster of nodes executing Pods, is built. Also, the GC cluster 12 is a computer system that is a transmission source of transmission target data (hereinafter “target data”) related to Pod processing.
  • target data transmission source of transmission target data
  • the GC cluster 12 includes communication units in nodes (that is, within the nodes constituting the cluster) for communicating with a plurality of external systems (the CDC cluster 14a and the CDC cluster 14b in the first embodiment).
  • the communication unit includes a bfd unit 22 provided in the master node 20 and an envoy 27 provided in the worker node 25 . Details of the bfd unit 22 and the envoy 27 will be described later.
  • the master node 20 includes a coredns 21 , a bfd unit 22 and an update unit 23 .
  • Worker node 25 comprises pod 26 and envoy 27 .
  • the envoy 27 is a proxy unit that hooks transmission data output from source applications defined by a known service mesh and transmits the transmission data to a destination application according to a predetermined communication protocol. I can say
  • the GC cluster 12 is connected to the CDC cluster 14a and the CDC cluster 14b via the WAN 52 including the L2 communication section.
  • the node configuration of the CDC cluster 14a of the communication system 10 is the same as the node configuration of the CDC cluster 14a of FIG. 1 described above.
  • the CDC cluster 14a is a computer system in which the Kubernetes cluster is built, and is the first external computer system to which the target data is originally sent.
  • the master node 30 has a bfd unit 31 .
  • Worker node 35 comprises pod 36 and envoy 37 .
  • the node configuration of the CDC cluster 14b of the communication system 10 is the same as the node configuration of the CDC cluster 14b in FIG. 1 described above.
  • the CDC cluster 14b is also a computer system upon which the Kubernetes cluster is built.
  • the CDC cluster 14b serves as a second transmission destination of target data in place of the CDC cluster 14a when a failure occurs in the CDC cluster 14a or when a failure occurs in the communication path between the GC cluster 12 and the CDC cluster 14a. It is an external computer system.
  • the master node 40 has a bfd unit 41 .
  • the worker node 45 includes pods 46 and envoys 47 .
  • the functionality of one or more functional blocks on a node may be implemented in a computer readable computer program.
  • This computer program may be stored in a non-temporary recording medium, and may be installed in the storage of the node via the recording medium. Alternatively, the computer program may be downloaded over a network and installed in the storage of the node.
  • the CPU of the node may read the computer program into the main memory and execute it, thereby exhibiting the functions of one or more functional blocks provided in the node.
  • the bfd unit 22 of the GC cluster 12 as a receiving unit in the communication unit, sequentially receives BFD packets repeatedly transmitted every few seconds from the bfd unit 31 of the CDC cluster 14a.
  • the GC cluster 12 can quickly detect the failure and quickly switch the transmission destination of the target data to the CDC cluster 14b.
  • the bfd unit 22 of the GC cluster 12 as a receiving unit in the communication unit, further sequentially receives BFD packets repeatedly transmitted every few seconds from the bfd unit 41 of the CDC cluster 14b.
  • the pod 26 and envoy 27 of the GC cluster 12 have not received the BFD packet from the CDC cluster 14a as a transmission unit in the communication unit, and on the other hand, when continuing to receive the BFD packet from the CDC cluster 14b, the CDC cluster
  • the target data is sent to the CDC cluster 14b instead of 14a.
  • the destination of the target data is quickly switched to the CDC cluster 14b. As a result, the target data can be more reliably delivered to the destination.
  • the coredns 21 of the GC cluster 12 resolves the name of the destination of the target data for the pods 26 within the cluster.
  • the pod 26 and the envoy 27, as transmission units in the communication unit, inquire of the coredns 21 about the destination address of the target data, and transmit the target data to the destination address provided by the coredns 21.
  • FIG. When the BFD packet from the CDC cluster 14a is not received, the updating unit 23 updates the record of the coredns 21 so as to change the destination address of the target data from the address of the CDC cluster 14a to the address of the CDC cluster 14b. According to this aspect, it is possible to flexibly change the transmission destination of the target data by updating the record of coredns21.
  • the GC cluster 12 may also include a data store portion 28 .
  • the data store unit 28 registers the resources of the Kubernetes cluster (for example, master node 20, coredns 21, bfd unit 22, update unit 23, worker node 25, pod 26, envoy 27) according to developer's operation.
  • the resources of the Kubernetes cluster are similarly registered in the data store section 38 of the CDC cluster 14a and the data store section 48 of the CDC cluster 14b.
  • the data store units 28, 38, 48 can be implemented by, for example, the Kubernetes kube-apiserver and etcd.
  • the bfd section 22 of the GC cluster 12 negotiates with the bfd section 31 of the CDC cluster 14a according to the developer's operation.
  • the bfd unit 22 of the GC cluster 12 also negotiates with the bfd unit 41 of the CDC cluster 14b according to the developer's operation. Through this negotiation, the transmission destination and transmission timing of the BFD packet are set.
  • Each of the GC cluster 12, the CDC cluster 14a, and the CDC cluster 14b executes leader selection processing for the master node 20.
  • service data indicating the role of at least one external system (eg, the CDC cluster 14a and the CDC cluster 14b) in a given process (eg, the application process described above) is registered in the GC cluster 12.
  • An example of such service data is the DNS records stored in coredns 21 of the GC cluster 12, shown in FIG.
  • FIG. 3 shows an example of DNS records stored in coredns21 of the GC cluster 12.
  • FIG. The figure shows a DNS record initially set in coredns21.
  • the DNS record 60 includes an A record 62 that associates the FQDN (pod.CDC1.example.com) of the pod36 of the CDC cluster 14a with the IP address of the pod36.
  • the DNS record 60 also includes an A record 62 that associates the FQDN (pod.CDC2.example.com) of the pod 46 of the CDC cluster 14b with the IP address of the pod 46 .
  • the DNS record 60 associates the destination virtual domain name (pod.example.com) corresponding to the group of pod36 and pod46 with the FQDN of pod36 (pod.CDC1.example.com) as its alias. Contains a CNAME record 64.
  • FIG. 4 is a flowchart showing the operation of the GC cluster 12.
  • the bfd unit 22 of the GC cluster 12 repeatedly executes processing of transmitting BFD packets to the bfd unit 31 of the CDC cluster 14a at predetermined time intervals. Also, the bfd unit 22 repeatedly executes the process of transmitting the BFD packet to the bfd unit 41 of the CDC cluster 14b at predetermined time intervals (S10).
  • the bfd unit 22 of the GC cluster 12 sequentially receives BFD packets repeatedly transmitted at predetermined intervals from the bfd unit 31 of the CDC cluster 14a. Also, the bfd unit 22 sequentially receives BFD packets repeatedly transmitted at predetermined time intervals from the bfd unit 41 of the CDC cluster 14b (S12).
  • S12 predetermined time intervals from the bfd unit 41 of the CDC cluster 14b
  • the updating unit 23 of the GC cluster 12 determines that the reception status of the BFD packets in the bfd unit 22 is normal, and skips the process of updating the DNS record 60 of the coredns 21 (Y in S14).
  • the pod 26 of the GC cluster 12 acquires target data to be transmitted to the CDC cluster 14a or CDC cluster 14b (S18).
  • the pod 26 sends a name resolution query designating the destination virtual domain name (pod.example.com) to the coredns 21 .
  • the coredns21 returns the IP address of the pod36 corresponding to the destination virtual domain name to the pod26 (S20).
  • the pod 26 may sequentially retrieve the CNAME record 64 and A record 62 of the coredns 21 and acquire the IP address of the pod 36 corresponding to the destination virtual domain name from the coredns 21 .
  • the pod 26 of the GC cluster 12 passes to the envoy 27 a message containing the target data and specifying the IP address of the pod 36 as the destination address (S22).
  • the envoy 27 acts as a proxy for receiving target data from the pod 26 and transmitting the target data to the CDC cluster 14a or the CDC cluster 14b.
  • the envoy 27 transmits the target data to the pod 36 (envoy 37) of the CDC cluster 14a by sending a message including the target data and specifying the IP address of the pod 36 as the destination address to the WAN 52. (S24).
  • the bfd unit 22 of the GC cluster 12 has not received the BFD packet transmitted from the bfd unit 31 of the CDC cluster 14a for a predetermined period of time.
  • the bfd unit 22 continues to repeatedly receive the BFD packets transmitted from the bfd unit 41 of the CDC cluster 14b at predetermined time intervals.
  • the updating unit 23 of the GC cluster 12 checks the BFD packet reception status in the bfd unit 22 . If the update unit 23 has not received a BFD packet from the CDC cluster 14a for a predetermined period of time and has continued to receive BFD packets from the CDC cluster 14b periodically (N in S14). , the record of coredns 21 is updated to change the destination address of the target data from the IP address of pod 36 of CDC cluster 14a to the IP address of pod 46 of CDC cluster 14b (S16).
  • FIG. 5 shows an example of DNS records stored in coredns21 of the GC cluster 12.
  • FIG. The figure shows the updated DNS record.
  • the updating unit 23 updates the CNAME record 64 so as to associate the destination virtual domain name (pod.example.com) corresponding to the group of the pods 36 and 46 with the FQDN of the pod 46 (pod.CDC2.example.com) as its alias. to change
  • the pod 26 of the GC cluster 12 acquires the target data (S18), sends a name resolution inquiry designating the destination virtual domain name (pod.example.com) to the coredns 21,
  • the IP address of pod 46 associated with the name is obtained from coredns 21 (S20).
  • the pod 26 passes to the envoy 27 a message containing the target data and specifying the IP address of the pod 46 as the destination address (S22).
  • the envoy 27 transmits the target data to the pod 46 (envoy 47) of the CDC cluster 14b by sending the message to the WAN 52 (S24). Note that the processes of S10 to S16 and the processes of S18 to S24 in FIG. 4 may be executed in parallel.
  • the failure can be quickly detected based on the BFD packet reception status.
  • the GC cluster 12 detects the occurrence of a failure, the GC cluster 12 transmits target data to the CDC cluster 14b instead of the CDC cluster 14a, thereby suppressing communication delays between the Kubernetes clusters.
  • the CDC 1 plays a role as a destination corresponding to the destination virtual domain name (pod.example.com).
  • the CDC2 also serves as a backup of the destination (backup of the CDC1) corresponding to the destination virtual domain name (pod.example.com). And these are shown in the DNS record 60 shown in FIG.
  • FIG. 6 is a diagram showing the configuration of the communication system 10 of the second embodiment.
  • the communication system 10 of the second embodiment also includes a GC cluster 12, a CDC cluster 14a, and a CDC cluster 14b, like the communication system 10 of the first embodiment.
  • the node configuration and functional blocks of each cluster in the second embodiment are the same as in the first embodiment.
  • the envoy 27 of the GC cluster 12 acts as a proxy to receive target data from the pod 26 and transmit the target data to the CDC cluster 14a.
  • the envoy 27 When the envoy 27 has not received the BFD packet from the CDC cluster 14a, it rewrites the destination address of the target data from the IP address of the CDC cluster 14a to the IP address of the CDC cluster 14b.
  • the operation of the communication system 10 of the second embodiment will be explained.
  • an operation different from the communication system 10 of the first embodiment an operation when a failure occurs in the CDC cluster 14a or a failure occurs in the communication path between the GC cluster 12 and the CDC cluster 14a will be described.
  • FIG. 7 shows an example of DNS records stored in coredns21 of the GC cluster 12.
  • the DNS record 60 is an A record that associates the destination virtual domain name (pod.example.com) corresponding to the group of the pod 36 of the CDC cluster 14a and the pod 46 of the CDC cluster 14b with the IP address of the pod 36 of the CDC cluster 14a. 62 included.
  • the DNS record 60 of the second embodiment does not change even if the BFD packet reception status changes.
  • FIG. 8 is a flowchart showing the operation of the GC cluster 12.
  • the updating unit 23 of the GC cluster 12 confirms the reception status of the BFD packets in the bfd unit 22 .
  • BFD packets from CDC cluster 14a have not been received for more than a predetermined period of time, while BFD packets from CDC cluster 14b continue to be received periodically.
  • the updating unit 23 determines that the reception status of the BFD packet is abnormal (N of S34), and changes the destination address of the target data from the IP address of the pod 36 of the CDC cluster 14a to the IP address of the pod 46 of the CDC cluster 14b.
  • the envoy 27 is instructed (S36).
  • the updating unit 23 may store a file or flag instructing to change the destination address of the target data from the IP address of the pod 36 to the IP address of the pod 46 in a storage area that can be referenced by the envoy 27. . If the BFD packet reception status is normal (Y of S34), the process of S36 is skipped.
  • the pod 26 of the GC cluster 12 acquires the target data (S38), sends a name resolution inquiry specifying the destination virtual domain name (pod.example.com) to the coredns 21, Then, the IP address of the pod 36 of the CDC cluster 14a is obtained from the coredns 21 (S40).
  • the pod 26 passes a telegram containing the target data and designating the IP address of the pod 36 as the destination address (herein referred to as a "transmission telegram") to the envoy 27 (S42).
  • the envoy 27 When the envoy 27 receives an instruction to change the transmission destination address from the update unit 23, for example, when a file containing the instruction is stored in a predetermined storage area (Y in S44), the transmission telegram output from the pod 26 is rewritten to the IP address of the pod 46 of the CDC cluster 14b (S46). The envoy 27 transmits the target data to the pod 46 (envoy 47) of the CDC cluster 14b by transmitting the transmission message after rewriting the destination address to the WAN 52 (S48).
  • the envoy 27 transmits the target data to the pod 36 (envoy 37) of the CDC cluster 14a by sending the message output from the pod 26 to the WAN 52 without rewriting the destination address (S48). Note that the processes of S30 to S36 and the processes of S38 to S48 in FIG. 8 may be executed in parallel.
  • the GC cluster 12 of the second embodiment also has the same effects as the GC cluster 12 of the first embodiment. That is, in the communication system 10 of the second embodiment as well, it is possible to suppress delays in communication between Kubernetes clusters.
  • the third embodiment will be described below with a focus on functions related to establishment of communication between clusters triggered by the registration of resources in the data store unit 28, and also on differences from the first and second embodiments. , and description of common points is omitted as appropriate.
  • constituent elements of this embodiment constituent elements that are the same as or correspond to the constituent elements of the first and second embodiments are denoted by the same reference numerals.
  • the GC cluster 12 registers, in the data store unit 28, resource data indicating the address of an external system capable of responding to an arbitrary computer system in response to a communication establishment request from the computer system. .
  • FIG. 9 is a diagram showing an example of the data structure of resource data registered in the data store unit 28 of the GC cluster 12.
  • resource data includes, for example, address data, domain name data, credential data, and the like.
  • the resource data according to the third embodiment is data associated with computer systems such as clusters included in the communication system 10 .
  • the address data included in the resource data is data indicating the address (here, IP address, for example) of the computer system associated with the resource data.
  • the domain name data included in the resource data is data indicating the domain name (here, FQDN, for example) of the computer system associated with the resource data.
  • the credential data included in the resource data is data that indicates authentication information (credentials) such as a user name and password required when establishing communication with the computer system associated with the resource data.
  • the master node 20a has been selected as the leader of the GC cluster 12 in advance. It is also assumed that the bfd unit 22 of the GC cluster 12 has been activated and is ready for communication.
  • CDC1 For example, assume that the setup of CDC1 is completed and CDC1 becomes available. Also assume that the master node 30a is selected as the leader of the CDC cluster 14a. Then, assume that the bfd unit 31 of the CDC cluster 14a is activated and becomes capable of responding to any computer system in response to receiving a communication establishment request from the computer system.
  • the GC cluster 12 registers the resource data indicating the address of the external system in the data store unit 28 as described above, for example, according to the developer's operation.
  • GC cluster 12 corresponds to a given computer system and CDC1 corresponds to an external system.
  • the bfd unit 22 of the GC cluster 12 in accordance with the registration of the resource data, controls so that a communication establishment request is transmitted from the given computer system to the external system whose address is indicated in the resource data. , establishes communication between the given computer system and an external system.
  • CDC 1 corresponds to the external system and the given computer system corresponds to GC cluster 12 .
  • the computer system with which communication is established with the CDC 1 is the same GC cluster 12 as the computer system with which resource data is registered.
  • the computer system in which communication is established with the CDC 1 may be different from the computer system in which the resource data is registered.
  • the bfd unit 22 of the GC cluster 12 performs negotiation with the bfd unit 31 of the CDC cluster 14a, triggered by the registration of the resource data associated with the CDC1 in the data store unit 28.
  • communication BFD session
  • the GC cluster 12 sets the role of the external system with which communication has been established in a given process executed by a given computer system.
  • an application process executed by the GC cluster 12 corresponds to a given process executed by a given computer system.
  • the GC cluster 12 may register service data indicating the role of an external system (here, CDC1, for example) in a given process, for example, according to a developer's operation.
  • An example of service data is the DNS record 60 used for name resolution of the destination of the above-described target data.
  • the DNS record 60 shown in FIG. 7 includes the destination virtual domain name (pod.example.com) corresponding to the group of the pod 36 of the CDC cluster 14a and the pod 46 of the CDC cluster 14b, and the It includes an A record 62 associated with an IP address.
  • the destination virtual domain name pod.example.com
  • the coredns21 returns the IP address of the pod36 to the pod26 in response to the name resolution inquiry specifying the destination virtual domain name (pod.example.com) transmitted from the pod26. becomes.
  • the target data acquired by the pod 26 of the GC cluster 12 can be transmitted to the CDC cluster 14a via the envoy 27.
  • the CDC cluster 14b which serves as a backup for the CDC cluster 14a, is set up and the CDC2 becomes available. Also assume that the master node 30b is selected as the leader of the CDC cluster 14b. Then, assume that the bfd unit 41 of the CDC cluster 14b has been activated and is ready to respond to any computer system in response to a communication establishment request from the computer system.
  • the GC cluster 12 registers resource data indicating the address of the new external system in the data store unit 28 when a given computer system is executing given processing in cooperation with an existing external system. do.
  • GC cluster 12 corresponds to a given computer system
  • CDC1 corresponds to an existing external system
  • CDC2 corresponds to a new external system.
  • resource data associated with the CDC 2 is registered in the data store unit 28 according to the developer's operation.
  • the bfd unit 22 of the GC cluster 12 performs control so that a communication establishment request is transmitted from the given computer system to the external system whose address is indicated in the resource data according to the registration of the resource data. , to establish communication between the GC cluster 12 and the CDC2.
  • the bfd unit 22 of the GC cluster 12 performs negotiation with the bfd unit 41 of the CDC cluster 14b, triggered by the registration of the resource data associated with the CDC2 in the data store unit 28.
  • communication BFD session
  • the GC cluster 12 sets the role of the external system with which communication has been established in relation to existing external systems in a given process.
  • CDC2 corresponds to an external system with which communication has been established
  • CDC1 corresponds to an existing external system.
  • CDC2 may be set to play a backup role for CDC1.
  • the DNS record 60 registered in the coredns 21 of the GC cluster 12 may be updated from the one shown in FIG. 7 to the one shown in FIG. 3 according to the developer's operation.
  • the DNS record 60 shown in FIG. 3 includes the A record 62 that associates the FQDN (pod.CDC1.example.com) of the pod36 of the CDC cluster 14a with the IP address of the pod36.
  • the DNS record 60 also includes an A record 62 that associates the FQDN (pod.CDC2.example.com) of the pod 46 of the CDC cluster 14b with the IP address of the pod 46 .
  • the DNS record 60 associates the destination virtual domain name (pod.example.com) corresponding to the group of pod36 and pod46 with the FQDN of pod36 (pod.CDC1.example.com) as its alias. Contains a CNAME record 64.
  • the pod 26 transmits target data regarding given processing to an existing external system.
  • the pod 26 transmits the target data to the new external system instead of the existing external system.
  • CDC1 corresponds to an existing external system
  • GC cluster 12 corresponds to a given computer system
  • CDC2 corresponds to a new external system (see FIG. 2).
  • the bfd unit 22 is a packet that is repeatedly transmitted from the CDC 1 and is a packet for monitoring the normality of the path to the CDC 1 (for example, BFD packet) may be received.
  • the bfd unit 22 may receive a packet (for example, a BFD packet) that is repeatedly transmitted from the CDC 2 and is for monitoring the normality of the path to the CDC 2 .
  • a packet for example, a BFD packet
  • the pod 26 may transmit the target data to the CDC2 instead of the CDC1.
  • the pod 26 may transmit the target data to the CDC2 instead of the CDC1.
  • the bfd section 31 of the CDC1 has already been activated when registering the resource data of the CDC1.
  • the bfd unit 41 of the CDC2 has already been started when the resource data of the CDC2 is registered. Therefore, in the third embodiment, when resource data is registered, a BFD session corresponding to the registered resource data is established without intervention of the developer's operation.
  • the addition of an external system and the registration of the service of the external system can be performed independently. Therefore, after adding some external systems in advance and establishing a BFD session, appropriately registering the external system with the established BFD session in the service (for example, registering the external system in the DNS record 60 registration) is possible.
  • the communication system 10 can be smoothly expanded.
  • the GC cluster 12 registers the resource data of the external system newly added to the communication system 10 in the data store unit 28 (S50).
  • the bfd unit 22 of the GC cluster 12 refers to the resource data registered in the processing shown in S50, and performs bfd negotiation with the external system associated with the resource data (S52).
  • Processing related to this negotiation includes, for example, processing for transmitting a communication establishment request from the GC cluster 12 to the external system.
  • the external system that is the partner of negotiation may be specified based on the resource data. Authentication using the credential data included in the resource data may then be performed for the identified external system.
  • the resource data registered in the process shown in S50 may be transmitted to the external system. Then, this resource data may be registered in the data store section of the destination external system.
  • the GC cluster 12 stores service data (DNS record 60 in the above example) indicating the role of the external system associated with the resource data registered in the processing shown in S50 in coredns21. Register (S54). Then, the processing shown in this processing example ends.
  • service data DNS record 60 in the above example
  • the GC cluster 12 is changed from a state in which target data is transmitted only to the CDC cluster 14a so that the operation shown in FIG. 8 is performed. may be controlled.
  • the GC cluster 12 may control so that the target data is transmitted to the CDC cluster 14b when the BFD packet from the CDC cluster 14a has not been received.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

通信システムの拡張をスムーズに行うことができる管理システム及び管理方法を提供する。GCクラスタ(12)は、任意のコンピュータシステムからの通信確立要求の受付に応じた当該コンピュータシステムへの応答が可能な外部システムのアドレスを示すリソースデータを登録する。bfd部(22)は、リソースデータの登録に応じて、当該リソースデータにアドレスが示されている外部システムに所与のコンピュータシステムから通信確立要求が送信されるよう制御することで、当該所与のコンピュータシステムと外部システムとの間での通信を確立する。GCクラスタ(12)は、通信が確立された外部システムの、所与のコンピュータシステムが実行する所与の処理における役割を設定する。

Description

管理システム及び管理方法
 本発明は、管理システム及び管理方法に関する。
 特許文献1には、DNS(Domain Name System)サーバは、他のサーバの死活監視と負荷情報収集を行うこと、稼働系のサーバが高負荷状態もしくはサービス不能状態に陥った場合、DNSサーバは、待機系のサーバに対して起動命令を出し、新規に接続するクライアント端末からのアクセスを待機系のサーバに振り分けることが記載されている。
特開2019-168920号公報
 現在、データセンタ等の拠点ごとに、コンテナ型で仮想化されたアプリケーション(以降、コンテナ化されたアプリケーションとも呼ぶ。)を実行するノードのクラスタが構築されることで、全体として1つの通信システムが構築されることがある。
 そして、このような通信システムにおいて、ある機能を担うクラスタの増設が行われることがある。例えば、通信システムの可用性を高めるために、ある機能を担う既存のクラスタをバックアップするための新規のクラスタの増設が行われることがある。
 しかし、クラスタを増設するにあたって、特許文献1に記載の上記の技術を適用しても、DNSサーバの設定変更などを開発者が手作業で行う必要があるため手間がかかり、通信システムのスムーズな拡張ができない。
 なお、このことは、複数のクラスタを含む通信システムに限らず、クラスタではない一般的なサブシステムを複数含む通信システムであっても同様にあてはまる。
 本発明は上記実情に鑑みてなされたものであって、その目的の一つは、通信システムの拡張をスムーズに行うことができる管理システム及び管理方法を提供することにある。
 上記課題を解決するために、本発明に係る管理システムは、任意のコンピュータシステムからの通信確立要求の受付に応じた当該コンピュータシステムへの応答が可能な外部システムのアドレスを示すリソースデータを登録するリソースデータ登録手段と、前記リソースデータの登録に応じて、当該リソースデータにアドレスが示されている前記外部システムに所与のコンピュータシステムから通信確立要求が送信されるよう制御することで、当該所与のコンピュータシステムと前記外部システムとの間での通信を確立する通信確立手段と、前記通信が確立された前記外部システムの、前記所与のコンピュータシステムが実行する所与の処理における役割を設定する役割設定手段と、を含む。
 本発明の一態様では、前記リソースデータ登録手段は、前記所与のコンピュータシステムが既存の前記外部システムと連携して前記処理を実行している際に、新規の前記外部システムのアドレスを示す前記リソースデータを登録し、前記通信確立手段は、前記リソースデータの登録に応じて、前記所与のコンピュータシステムと前記新規の前記外部システムとの間での通信を確立し、前記役割設定手段は、前記通信が確立された前記新規の前記外部システムの、前記処理における前記既存の前記外部システムとの関係での役割を設定する。
 この態様では、前記役割設定手段は、前記新規の前記外部システムが、前記既存の前記外部システムのバックアップの役割であることを設定してもよい。
 さらに、前記処理に関する対象データを前記既存の前記外部システムに送信する送信手段、をさらに含み、前記送信手段は、前記既存の前記外部システムの障害又は前記所与のコンピュータシステムと前記既存の前記外部システムとの間の通信経路の障害が発生した場合に、前記既存の前記外部システムに代えて前記新規の前記外部システムに前記対象データを送信してもよい。
 さらに、前記既存の前記外部システムから繰り返し送信されるパケットであって、前記既存の前記外部システムとの間のパスの正常性を監視するためのパケットを受信する受信手段、をさらに含み、前記送信手段は、前記既存の前記外部システムから前記パケットを未受信の場合、前記既存の前記外部システムに代えて前記新規の前記外部システムに前記対象データを送信してもよい。
 さらに、前記受信手段は、前記新規の前記外部システムから繰り返し送信されるパケットであって、前記新規の前記外部システムとの間のパスの正常性を監視するためのパケットをさらに受信し、前記送信手段は、前記既存の前記外部システムから前記パケットを未受信であり、かつ、前記新規の前記外部システムから前記パケットを受信している場合、前記既存の前記外部システムに代えて前記新規の前記外部システムに前記対象データを送信してもよい。
 また、前記パケットは、BFD(Bidirectional Forwarding Detection)パケットであってもよい。
 また、本発明の一態様では、前記処理における前記外部システムの役割を示すサービスデータを登録するサービスデータ登録手段、をさらに含む。
 この態様では、前記サービスデータは、前記処理に関する対象データの送信先の名前解決に用いられるDNS(Domain Name System)レコードであってもよい。
 また、本発明に係る管理方法は、任意のコンピュータシステムからの通信確立要求の受付に応じた当該コンピュータシステムへの応答が可能な外部システムのアドレスを示すリソースデータを登録するステップと、前記リソースデータの登録に応じて、当該リソースデータにアドレスが示されている前記外部システムに所与のコンピュータシステムから通信確立要求が送信されるよう制御することで、当該所与のコンピュータシステムと前記外部システムとの間での通信を確立するステップと、前記通信が確立された前記外部システムの、前記所与のコンピュータシステムが実行する所与の処理における役割を設定するステップと、を含む。
 なお、以上の構成要素の任意の組合せ、本開示の表現を、装置、コンピュータプログラム、コンピュータプログラムを読み取り可能に記録した記録媒体などの間で変換したものもまた、本開示の態様として有効である。
コンテナ化されたアプリケーションを実行するノードのクラスタが構築されたコンピュータシステムの構成を示す図である。 第1実施例の通信システムの構成を示す図である。 GCクラスタのcorednsに記憶されるDNSレコードの例を示す図である。 GCクラスタの動作を示すフローチャートである。 GCクラスタのcorednsに記憶されるDNSレコードの例を示す図である。 第2実施例の通信システムの構成を示す図である。 GCクラスタのcorednsに記憶されるDNSレコードの例を示す図である。 GCクラスタの動作を示すフローチャートである。 サービスデータのデータ構造の一例を示す図である。 CDC2が追加されていない状態における第3実施例の通信システムの構成を示す図である。 GCクラスタで実行される処理の流れの一例を示すフローチャートである。
 実施例の概要を説明する。図1は、コンテナ化されたアプリケーションを実行するノード(コンピュータ、サーバとも言える)のクラスタが構築されたコンピュータシステムの構成を示す。図1には、上記クラスタが構築された複数のコンピュータシステムとして、GCクラスタ12、CDCクラスタ14a、CDCクラスタ14bを描いている。
 GCクラスタ12は、移動体通信事業者のGC(Group Unit Center)局に構築されたクラスタである。実施例のクラスタは、コンテナ化されたワークロードやサービスを管理するソフトウェア(具体的にはクバネテス)がインストールされたノードのセットである。また、実施例のクラスタは、クバネテスがコンテナ化されたアプリケーションであるpodを管理可能な範囲を定めたクバネテスクラスタである。クバネテスクラスタは、クバネテスがpodをデプロイ可能な複数のノードのセットであるとも言える。
 GCクラスタ12は、複数のマスタノード20(マスタノード20a、マスタノード20b、マスタノード20c)と、複数のワーカノード25(図1には1つのノードを図示)とを備える。ワーカノード25には、各種データ処理(業務処理等)を実行するアプリケーションであり、コンテナ化されたアプリケーションであるpod26がデプロイされる。pod26は、CNF(Cloud-native Network Function)インスタンスとも言える。
 複数のマスタノード20のそれぞれは、複数のワーカノード25および複数のpod26を管理するノードである。複数のマスタノード20のそれぞれは、クラスタ内のpod26に対して名前解決サービスを提供するDNS(Domain Name System)サーバであるcoredns21を含む。なお、複数のマスタノード20の中から1つのリーダが選定され、図1では、マスタノード20aがリーダとして選定されている。
 CDCクラスタ14aは、移動体通信事業者の第1のCDC(Central Data Center)であるCDC1に構築されたクバネテスクラスタである。CDCクラスタ14aは、複数のマスタノード30(マスタノード30a、マスタノード30b、マスタノード30c)と、複数のワーカノード35(図1では1つのノードを図示)とを備える。ワーカノード35には、各種データ処理(業務処理等)を実行するpod36がデプロイされる。
 CDCクラスタ14bは、移動体通信事業者の第2のCDCであるCDC2に構築されたクバネテスクラスタである。CDCクラスタ14bは、複数のマスタノード40(マスタノード40a、マスタノード40b、マスタノード40c)と、複数のワーカノード45(図1では1つのノードを図示)とを備える。ワーカノード45には、各種データ処理(業務処理等)を実行するpod46がデプロイされる。
 実施例では、GCクラスタ12のpod26は、CDCクラスタ14aのpod36へ、アプリケーション処理に関するデータ(以下「対象データ」とも呼ぶ。)を送信する。対象データは、例えば、GCクラスタ12内にデプロイされたpod26の処理結果を含む。CDCクラスタ14aで障害が発生した場合、GCクラスタ12のpod26は、CDCクラスタ14aのpod36に代えてCDCクラスタ14bのpod46へ対象データを送信する。
 これまで、異なるクバネテスクラスタのノード間で通信を行う場合、クラスタの外部に設けられたGSLB装置50(インフラDNSとも呼ばれる。)にアクセスして、送信先のpod(例えばpod36)の名前解決を行う必要があった。GSLB装置50は、CDCクラスタ14aのpod36に対して所定のデータを定期的に送信することにより、pod36のヘルスチェックを定期的に行う。また、GSLB装置50は、CDCクラスタ14bのpod46に対して所定のデータを定期的に送信することにより、pod46のヘルスチェックを定期的に行う。
 GCクラスタ12のpod26は、送信先Pod名(例えばpod36とpod46とを仮想化した送信先仮想ドメイン名)の名前解決をcoredns21に要求する。coredns21は、送信先Pod名の名前解決をGSLB装置50に要求する。GSLB装置50は、CDCクラスタ14aのpod36の状態が正常であれば、名前解決要求に対する応答として、pod36のIPアドレスをGCクラスタ12のcoredns21へ送信する。coredns21は、pod36のIPアドレスを自クラスタ内のpod26に返す。pod26は、coredns21から提供されたpod36のIPアドレスをもとに、CDCクラスタ14aのpod36へ対象データを送信する。
 一方、CDCクラスタ14aのpod36の状態が異常の場合、GSLB装置50は、そのことを検出する。GSLB装置50は、名前解決要求への応答として、CDCクラスタ14bのpod46のIPアドレスをGCクラスタ12のcoredns21へ送信する。coredns21は、pod46のIPアドレスを自クラスタ内のpod26に返す。pod26は、coredns21から提供されたpod46のIPアドレスをもとに、CDCクラスタ14bのpod46へ対象データを送信する。
 GCクラスタ12とGSLB装置50は、レイヤ2(L2)通信区間(例えばイーサネット(登録商標))を含むWAN52を介して接続される。ここで、WAN52における正常時のL2通信経路に障害が発生した場合、バックアップ用のL2通信経路に切り替わるまでに比較的長い時間を要する。そのため、GCクラスタ12とGSLB装置50間のWAN52に障害が発生した場合、送信先PodのIPアドレスをGSLB装置50から得るまでに時間を要し、GCクラスタ12とCDCクラスタ14a(またはCDCクラスタ14b)との通信が遅延する可能性があった。
 そこで、本開示の第1実施例および第2実施例では、複数のクバネテスクラスタ間での通信において、送信先のクバネテスクラスタから数秒おきに繰り返し送信されるパケットであって、送信元のクバネテスクラスタと送信先のクバネテスクラスタ間のパスの正常性を監視するためのパケットを利用することにより、複数のクバネテスクラスタ間での通信の遅延を抑制する。実施例における上記パケットは、BFD(Bidirectional Forwarding Detection)機能により送受信されるBFDパケットである。
<第1実施例>
 図2は、第1実施例の通信システム10の構成を示す。図2は、通信システム10の各構成要素が備える機能ブロックを示すブロック図を含む。本開示のブロック図において示される各ブロックは、ハードウェア的には、コンピュータのCPU・メモリをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。
 通信システム10のGCクラスタ12のノード構成は、上述した図1のGCクラスタ12のノード構成と同じである。通信システム10のGCクラスタ12は、Podを実行するノードのクラスタであるクバネテスクラスタが構築されたコンピュータシステムである。また、GCクラスタ12は、Podの処理に関連する送信対象データ(以下「対象データ」)の送信元となるコンピュータシステムである。GCクラスタ12は、複数の外部システム(第1実施例ではCDCクラスタ14aおよびCDCクラスタ14b)と通信を行う通信部をノード(すなわちクラスタを構成するノード内)に備える。通信部は、マスタノード20に設けられたbfd部22と、ワーカノード25に設けられたenvoy27を備える。bfd部22とenvoy27の詳細は後述する。
 マスタノード20は、coredns21とbfd部22と更新部23を備える。ワーカノード25は、pod26とenvoy27を備える。envoy27は、公知のサービスメッシュにより規定された、送信元アプリケーション間から出力された送信データをフックし、所定の通信プロトコルにしたがって、その送信データを送信先アプリケーションへ送信することを代行するプロキシ部と言える。
 GCクラスタ12は、L2通信区間を含むWAN52を介して、CDCクラスタ14aとCDCクラスタ14bとに接続される。通信システム10のCDCクラスタ14aのノード構成は、上述の図1のCDCクラスタ14aのノード構成と同じである。CDCクラスタ14aは、クバネテスクラスタが構築されたコンピュータシステムであって、対象データの本来の送信先となる第1の外部コンピュータシステムである。マスタノード30は、bfd部31を備える。ワーカノード35は、pod36とenvoy37を備える。
 通信システム10のCDCクラスタ14bのノード構成は、上述の図1のCDCクラスタ14bのノード構成と同じである。CDCクラスタ14aと同様に、CDCクラスタ14bも、クバネテスクラスタが構築されたコンピュータシステムである。CDCクラスタ14bは、CDCクラスタ14aに障害が発生した場合や、GCクラスタ12とCDCクラスタ14a間の通信経路に障害が発生した場合、CDCクラスタ14aに代わって対象データの送信先となる第2の外部コンピュータシステムである。マスタノード40は、bfd部41を備える。ワーカノード45は、pod46とenvoy47を備える。
 或るノード上の1つ以上の機能ブロックの機能は、コンピュータ読み取り可能なコンピュータプログラムに実装されてもよい。このコンピュータプログラムは、非一時的な記録媒体に格納されてもよく、その記録媒体を介して上記ノードのストレージにインストールされてもよい。または、上記コンピュータプログラムは、ネットワークを介してダウンロードされ、上記ノードのストレージにインストールされてもよい。上記ノードのCPUは、上記コンピュータプログラムをメインメモリに読み出して実行することにより、上記ノードが備える1つ以上の機能ブロックの機能を発揮してもよい。
 GCクラスタ12のbfd部22は、通信部における受信部として、CDCクラスタ14aのbfd部31から数秒おきに繰り返し送信されるBFDパケットを順次受信する。GCクラスタ12のpod26およびenvoy27は、通信部における送信部として、CDCクラスタ14aからのBFDパケットを未受信の場合、CDCクラスタ14aに代えてCDCクラスタ14bへ対象データを送信する。
 CDCクラスタ14aに障害が発生した場合、または、GCクラスタ12とCDCクラスタ14a間の通信経路に障害が発生した場合、CDCクラスタ14aからのBFDパケットが未受信となる。この場合に、GCクラスタ12は、当該障害を迅速に検知して、対象データの送信先を迅速にCDCクラスタ14bに切り替えることができる。
 GCクラスタ12のbfd部22は、通信部における受信部として、CDCクラスタ14bのbfd部41から数秒おきに繰り返し送信されるBFDパケットをさらに順次受信する。GCクラスタ12のpod26およびenvoy27は、通信部における送信部として、CDCクラスタ14aからのBFDパケットを未受信であり、一方で、CDCクラスタ14bからのBFDパケットの受信を継続している場合、CDCクラスタ14aに代えてCDCクラスタ14bへ対象データを送信する。
 この態様によると、CDCクラスタ14aに障害が発生した場合、または、GCクラスタ12とCDCクラスタ14a間の通信経路に障害が発生した場合、CDCクラスタ14bとの通信状態が正常であることを条件として、対象データの送信先を迅速にCDCクラスタ14bに切り替える。これにより、対象データを一層確実に送信先へ届けることができる。
 GCクラスタ12のcoredns21は、クラスタ内のpod26に対して、対象データの送信先の名前解決を行う。pod26とenvoy27は、通信部における送信部として、対象データの送信先アドレスをcoredns21に問い合わせ、coredns21から提供された送信先アドレス宛に対象データを送信する。更新部23は、CDCクラスタ14aからのBFDパケットを未受信の場合、対象データの送信先アドレスを、CDCクラスタ14aのアドレスからCDCクラスタ14bのアドレスに変更するようcoredns21のレコードを更新する。この態様によると、coredns21のレコードを更新することで、対象データの送信先を柔軟に変更することができる。
 第1実施例の通信システム10の動作を説明する。
 まず、図2を参照しつつ、通信システム10の構築時の動作を説明する。GCクラスタ12は、データストア部28を備えてもよい。データストア部28は、開発者の操作に応じて、クバネテスクラスタのリソース(例えば、マスタノード20、coredns21、bfd部22、更新部23、ワーカノード25、pod26、envoy27)を登録する。CDCクラスタ14aのデータストア部38とCDCクラスタ14bのデータストア部48においても同様に、クバネテスクラスタのリソースが登録される。データストア部28、38、48は、例えば、クバネテスのkube-apiserver、及び、etcdなどによって実装可能である。
 GCクラスタ12のbfd部22は、開発者の操作に応じて、CDCクラスタ14aのbfd部31とのネゴシエーションを実施する。また、GCクラスタ12のbfd部22は、開発者の操作に応じて、CDCクラスタ14bのbfd部41とのネゴシエーションを実施する。このネゴシエーションにより、BFDパケットの送信先や送信タイミングを設定する。GCクラスタ12、CDCクラスタ14a、CDCクラスタ14bのそれぞれは、マスタノード20のリーダ選定処理を実行する。実施例では、マスタノード20a、マスタノード30a、マスタノード40aがリーダとして選定されたこととする。
 本実施例では、少なくとも1つの外部システム(例えば、CDCクラスタ14aやCDCクラスタ14b)の、所与の処理(例えば、上述のアプリケーション処理)における役割を示すサービスデータが、GCクラスタ12に登録される。このようなサービスデータの一例として、図3に示されている、GCクラスタ12のcoredns21に記憶されるDNSレコードが挙げられる。
 図3は、GCクラスタ12のcoredns21に記憶されるDNSレコードの例を示す。同図は、coredns21に当初設定されるDNSレコードを示している。DNSレコード60は、CDCクラスタ14aのpod36のFQDN(pod.CDC1.example.com)と、pod36のIPアドレスとを対応付けたAレコード62を含む。また、DNSレコード60は、CDCクラスタ14bのpod46のFQDN(pod.CDC2.example.com)と、pod46のIPアドレスとを対応付けたAレコード62を含む。
 また、DNSレコード60は、pod36とpod46のグループに対応する送信先仮想ドメイン名(pod.example.com)と、その別名としてのpod36のFQDN(pod.CDC1.example.com)とを対応付けたCNAMEレコード64を含む。
 図4は、GCクラスタ12の動作を示すフローチャートである。まず、CDCクラスタ14aの状態が正常であり、かつ、GCクラスタ12とCDCクラスタ14a間の通信経路も正常である場合の動作を説明する。GCクラスタ12のbfd部22は、CDCクラスタ14aのbfd部31へBFDパケットを送信する処理を予め定められた時間おきに繰り返し実行する。また、bfd部22は、CDCクラスタ14bのbfd部41へBFDパケットを送信する処理を予め定められた時間おきに繰り返し実行する(S10)。
 また、GCクラスタ12のbfd部22は、CDCクラスタ14aのbfd部31から予め定められた時間おきに繰り返し送信されたBFDパケットを順次受信する。また、bfd部22は、CDCクラスタ14bのbfd部41から予め定められた時間おきに繰り返し送信されたBFDパケットを順次受信する(S12)。ここでは、CDCクラスタ14aからのBFDパケットと、CDCクラスタ14bからのBFDパケットのいずれも、例えば数秒おきに繰り返し受信されるものとする。GCクラスタ12の更新部23は、bfd部22におけるBFDパケットの受信状況が正常であると判定し、coredns21のDNSレコード60を更新する処理をスキップする(S14のY)。
 GCクラスタ12のpod26は、CDCクラスタ14aまたはCDCクラスタ14bへ送信すべき対象データを取得する(S18)。pod26は、送信先仮想ドメイン名(pod.example.com)を指定した名前解決の問い合わせをcoredns21へ送信する。coredns21は、送信先仮想ドメイン名に対応するpod36のIPアドレスをpod26へ返す(S20)。なお、pod26は、coredns21のCNAMEレコード64とAレコード62を順次検索し、送信先仮想ドメイン名に対応するpod36のIPアドレスをcoredns21から取得してもよい。
 GCクラスタ12のpod26は、対象データを含む電文であって、かつ、pod36のIPアドレスを送信先アドレスとして指定した電文をenvoy27に渡す(S22)。envoy27は、プロキシ部として、pod26から対象データを受け付け、CDCクラスタ14aまたはCDCクラスタ14bへ対象データを送信することを代行する。ここでは、envoy27は、対象データを含む電文であって、かつ、pod36のIPアドレスを送信先アドレスとして指定した電文をWAN52へ送出することで、対象データをCDCクラスタ14aのpod36(envoy37)へ送信する(S24)。
 次に、CDCクラスタ14aに障害が発生し、または、GCクラスタ12とCDCクラスタ14a間の通信経路に障害が発生した場合の動作を説明する。GCクラスタ12のbfd部22は、CDCクラスタ14aのbfd部31から送信されたBFDパケットを、予め定められた時間を超えて未受信となる。その一方、bfd部22は、CDCクラスタ14bのbfd部41から送信されたBFDパケットを予め定められた時間間隔で繰り返し受信することを継続する。
 GCクラスタ12の更新部23は、bfd部22におけるBFDパケットの受信状況を確認する。更新部23は、CDCクラスタ14aからのBFDパケットが予め定められた時間を超えて未受信であり、かつ、CDCクラスタ14bからのBFDパケットが定期的に受信され続けている場合(S14のN)、対象データの送信先アドレスを、CDCクラスタ14aのpod36のIPアドレスからCDCクラスタ14bのpod46のIPアドレスに変更するようcoredns21のレコードを更新する(S16)。
 図5は、GCクラスタ12のcoredns21に記憶されるDNSレコードの例を示す。同図は、更新後のDNSレコードを示している。更新部23は、pod36とpod46のグループに対応する送信先仮想ドメイン名(pod.example.com)と、その別名としてのpod46のFQDN(pod.CDC2.example.com)とを対応付けるようCNAMEレコード64を変更する。
 図4に戻り、GCクラスタ12のpod26は、対象データを取得し(S18)、送信先仮想ドメイン名(pod.example.com)を指定した名前解決の問い合わせをcoredns21へ送信し、送信先仮想ドメイン名に対応づけられたpod46のIPアドレスをcoredns21から取得する(S20)。pod26は、対象データを含む電文であって、かつ、pod46のIPアドレスを送信先アドレスとして指定した電文をenvoy27に渡す(S22)。envoy27は、当該電文をWAN52へ送出することで、対象データをCDCクラスタ14bのpod46(envoy47)へ送信する(S24)。なお、図4のS10~S16の処理と、S18~S24の処理は並行して実行されてもよい。
 このように、第1実施例のGCクラスタ12は、対象データの本来の送信先であるCDCクラスタ14aに障害が発生し、または、GCクラスタ12とCDCクラスタ14a間の通信経路に障害が発生した場合、BFDパケットの受信状況に基づきその障害を迅速に検知できる。GCクラスタ12は、障害の発生を検知した場合に、CDCクラスタ14aに代えてCDCクラスタ14bへ対象データを送信することで、クバネテスクラスタ間での通信の遅延を抑制することができる。
 また、以上で説明したように、CDC1は、送信先仮想ドメイン名(pod.example.com)に対応する送信先としての役割を担っている。また、CDC2は、送信先仮想ドメイン名(pod.example.com)に対応する送信先のバックアップ(CDC1のバックアップ)としての役割を担っている。そして、これらのことが、図3に示すDNSレコード60に示されている。
<第2実施例>
 本実施例に関して、第1実施例と相違する点を中心に以下説明し、共通する点の説明を適宜省略する。本実施例の構成要素のうち第1実施例の構成要素と同一または対応する構成要素には同一の符号を付して説明する。
 図6は、第2実施例の通信システム10の構成を示す図である。第2実施例の通信システム10も、第1実施例の通信システム10と同様に、GCクラスタ12、CDCクラスタ14a、CDCクラスタ14bを備える。第2実施例の各クラスタのノード構成および機能ブロックは、第1実施例と同様である。
 GCクラスタ12のenvoy27は、プロキシ部として、pod26から対象データを受け付け、CDCクラスタ14aへ対象データを送信することを代行する。envoy27は、CDCクラスタ14aからBFDパケットを未受信の場合、対象データの送信先アドレスを、CDCクラスタ14aのIPアドレスからCDCクラスタ14bのIPアドレスに書き換える。
 第2実施例の通信システム10の動作を説明する。ここでは、第1実施例の通信システム10と異なる動作として、CDCクラスタ14aに障害が発生し、または、GCクラスタ12とCDCクラスタ14a間の通信経路に障害が発生した場合の動作を説明する。
 図7は、GCクラスタ12のcoredns21に記憶されるDNSレコードの例を示す。DNSレコード60は、CDCクラスタ14aのpod36とCDCクラスタ14bのpod46のグループに対応する送信先仮想ドメイン名(pod.example.com)と、CDCクラスタ14aのpod36のIPアドレスとを対応付けたAレコード62を含む。第2実施例のDNSレコード60は、第1実施例のDNSレコード60と異なり、BFDパケットの受信状況が変化しても変更されない。
 図8は、GCクラスタ12の動作を示すフローチャートである。同図のS30とS32は、図4のS10とS12と同じであるため説明を省略する。GCクラスタ12の更新部23は、bfd部22におけるBFDパケットの受信状況を確認する。ここでは、CDCクラスタ14aからのBFDパケットは、予め定められた時間を超えて未受信であり、一方、CDCクラスタ14bからのBFDパケットは、定期的に受信され続けている。
 更新部23は、BFDパケットの受信状況を異常と判定し(S34のN)、対象データの送信先アドレスを、CDCクラスタ14aのpod36のIPアドレスからCDCクラスタ14bのpod46のIPアドレスに変更するようenvoy27に指示する(S36)。例えば、更新部23は、対象データの送信先アドレスを、pod36のIPアドレスからpod46のIPアドレスに変更することを指示する内容のファイルやフラグをenvoy27が参照可能な記憶領域に格納してもよい。BFDパケットの受信状況が正常であれば(S34のY)、S36の処理をスキップする。
 GCクラスタ12のpod26は、対象データを取得し(S38)、送信先仮想ドメイン名(pod.example.com)を指定した名前解決の問い合わせをcoredns21へ送信し、送信先仮想ドメイン名に対応づけられたCDCクラスタ14aのpod36のIPアドレスをcoredns21から取得する(S40)。pod26は、対象データを含む電文であって、かつ、pod36のIPアドレスを送信先アドレスとして指定した電文(ここでは「送信電文」と呼ぶ。)をenvoy27に渡す(S42)。
 envoy27は、更新部23から送信先アドレス変更の指示を受け付けた場合であり、例えば、上記指示を含むファイルが所定の記憶領域に格納された場合(S44のY)、pod26から出力された送信電文の送信先アドレスをCDCクラスタ14bのpod46のIPアドレスに書き換える(S46)。envoy27は、送信先アドレス書き換え後の送信電文をWAN52へ送出することで、対象データをCDCクラスタ14bのpod46(envoy47)へ送信する(S48)。
 送信先アドレス変更の指示を受け付けていなければ(S44のN)、S46の処理をスキップする。この場合、envoy27は、pod26から出力された送信電文を、送信先アドレスを書き換えることなくWAN52へ送出することで、対象データをCDCクラスタ14aのpod36(envoy37)へ送信する(S48)。なお、図8のS30~S36の処理と、S38~S48の処理は並行して実行されてもよい。
 第2実施例のGCクラスタ12も、第1実施例のGCクラスタ12と同様の効果を奏する。すなわち、第2実施例の通信システム10においても、クバネテスクラスタ間での通信の遅延を抑制することができる。
<第3実施例>
 本開示の第3実施例では、以下で説明するようにして、データストア部28へのリソースの登録をトリガとした、クラスタ間の通信の確立が行われる。
 以下、第3実施例に関し、データストア部28へのリソースの登録をトリガとしたクラスタ間の通信の確立に関する機能を中心に、また、第1実施例や第2実施例と相違する点を中心に説明し、共通する点の説明を適宜省略する。本実施例の構成要素のうち第1実施例や第2実施例の構成要素と同一または対応する構成要素には同一の符号を付して説明する。
 第3実施例では、GCクラスタ12が、任意のコンピュータシステムからの通信確立要求の受付に応じた当該コンピュータシステムへの応答が可能な外部システムのアドレスを示すリソースデータをデータストア部28に登録する。
 図9は、GCクラスタ12のデータストア部28に登録されるリソースデータのデータ構造の一例を示す図である。図9に示すように、リソースデータには、例えば、アドレスデータ、ドメイン名データ、クレデンシャルデータ、などが含まれる。
 第3実施例に係るリソースデータは、通信システム10に含まれるクラスタ等のコンピュータシステムに対応付けられるデータである。
 リソースデータに含まれるアドレスデータは、当該リソースデータに対応付けられるコンピュータシステムのアドレス(ここでは例えばIPアドレス)を示すデータである。
 当該リソースデータに含まれるドメイン名データは、当該リソースデータに対応付けられるコンピュータシステムのドメイン名(ここでは例えばFQDN)を示すデータである。
 当該リソースデータに含まれるクレデンシャルデータは、当該リソースデータに対応付けられるコンピュータシステムとの通信を確立する際に必要となるユーザ名やパスワードなどといった認証情報(クレデンシャル)を示すデータである。
 以下の説明では、初期状態において、CDC1及びCDC2のリソースデータがGCクラスタ12のデータストア部28には登録されていないこととする。
 また、以下の説明では、予め、GCクラスタ12のリーダとしてマスタノード20aが選定されていることとする。また、GCクラスタ12のbfd部22は起動されており、通信が可能な状態となっていることとする。
 本実施例において、例えば、CDC1のセットアップが終了し、CDC1が利用可能となったとする。また、CDCクラスタ14aのリーダとしてマスタノード30aが選定されたとする。そして、CDCクラスタ14aのbfd部31は起動され、任意のコンピュータシステムからの通信確立要求の受付に応じた当該コンピュータシステムへの応答が可能な状態となったとする。
 この状況で、例えば開発者の操作に応じて、GCクラスタ12は、上述のように、外部システムのアドレスを示すリソースデータをデータストア部28に登録する。この状況では、例えば、GCクラスタ12が所与のコンピュータシステムに相当し、CDC1が外部システムに相当する。
 すると、GCクラスタ12のbfd部22は、リソースデータの登録に応じて、当該リソースデータにアドレスが示されている外部システムに所与のコンピュータシステムから通信確立要求が送信されるよう制御することで、当該所与のコンピュータシステムと外部システムとの間での通信を確立する。この状況では、CDC1が外部システムに相当し、所与のコンピュータシステムがGCクラスタ12に相当する。この例では、CDC1との間で通信が確立されるコンピュータシステムは、リソースデータが登録されるコンピュータシステムと同じGCクラスタ12である。なお、CDC1との間で通信が確立されるコンピュータシステムと、リソースデータが登録されるコンピュータシステムとは異なっていてもよい。
 例えば、GCクラスタ12のbfd部22が、CDC1に対応付けられるリソースデータのデータストア部28への登録をトリガとして、CDCクラスタ14aのbfd部31とのネゴシエーションを実施する。このネゴシエーションにより、GCクラスタ12とCDCクラスタ14aとの間の通信(BFDセッション)が確立され、BFDパケットの送信先や送信タイミングが設定される。
 その後、GCクラスタ12が、通信が確立された外部システムの、所与のコンピュータシステムが実行する所与の処理における役割を設定する。例えば、GCクラスタ12が実行するアプリケーション処理が、所与のコンピュータシステムが実行する所与の処理に相当する。
 ここで、GCクラスタ12が、例えば開発者の操作に応じて、所与の処理における外部システム(ここでは例えばCDC1)の役割を示すサービスデータを登録してもよい。サービスデータの一例としては、上述の対象データの送信先の名前解決に用いられるDNSレコード60が挙げられる。
 ここで例えば、GCクラスタ12が、開発者の操作に応じて、図7に例示されているDNSレコード60がGCクラスタ12のcoredns21に登録されるとする。上述のように、図7に示すDNSレコード60は、CDCクラスタ14aのpod36とCDCクラスタ14bのpod46のグループに対応する送信先仮想ドメイン名(pod.example.com)と、CDCクラスタ14aのpod36のIPアドレスとを対応付けたAレコード62を含む。
 すると、上述のように、coredns21は、pod26から送信される、送信先仮想ドメイン名(pod.example.com)を指定した名前解決の問い合わせの受付に応じて、pod36のIPアドレスをpod26へ返すこととなる。
 このようにして、図10に示すように、GCクラスタ12のpod26が取得する対象データを、envoy27経由で、CDCクラスタ14aに送信することが可能となる。
 その後、例えば、CDCクラスタ14aのバックアップとしての役割を担う、CDCクラスタ14bのセットアップが行われ、CDC2が利用可能となったとする。また、CDCクラスタ14bのリーダとしてマスタノード30bが選定されたとする。そして、CDCクラスタ14bのbfd部41は起動され、任意のコンピュータシステムからの通信確立要求の受付に応じた当該コンピュータシステムへの応答が可能な状態となったとする。
 そして、GCクラスタ12が、所与のコンピュータシステムが既存の外部システムと連携して所与の処理を実行している際に、新規の外部システムのアドレスを示すリソースデータをデータストア部28に登録する。この状況では、例えば、GCクラスタ12が所与のコンピュータシステムに相当し、CDC1が既存の外部システムに相当し、CDC2が新規の外部システムに相当する。
 ここでは例えば、開発者の操作に応じて、CDC2に対応付けられるリソースデータがデータストア部28に登録される。
 すると、GCクラスタ12のbfd部22は、当該リソースデータの登録に応じて、当該リソースデータにアドレスが示されている外部システムに所与のコンピュータシステムから通信確立要求が送信されるよう制御することで、GCクラスタ12とCDC2との間での通信を確立する。
 例えば、GCクラスタ12のbfd部22は、CDC2に対応付けられるリソースデータのデータストア部28への登録をトリガとして、CDCクラスタ14bのbfd部41とのネゴシエーションを実施する。このネゴシエーションにより、GCクラスタ12とCDCクラスタ14bとの間の通信(BFDセッション)が確立され、BFDパケットの送信先や送信タイミングが設定される。
 その後、GCクラスタ12が、通信が確立された外部システムの、所与の処理における既存の外部システムとの関係での役割を設定する。この状況では、例えば、CDC2が、通信が確立された外部システムに相当し、CDC1が、既存の外部システムに相当する。
 ここで例えば、CDC2が、CDC1のバックアップの役割であることが設定されてもよい。
 例えば、開発者の操作に応じて、GCクラスタ12のcoredns21に登録されているDNSレコード60が、図7に示すものから図3に示すものに更新されてもよい。
 上述のように、図3に示すDNSレコード60は、CDCクラスタ14aのpod36のFQDN(pod.CDC1.example.com)と、pod36のIPアドレスとを対応付けたAレコード62を含む。また、DNSレコード60は、CDCクラスタ14bのpod46のFQDN(pod.CDC2.example.com)と、pod46のIPアドレスとを対応付けたAレコード62を含む。
 また、DNSレコード60は、pod36とpod46のグループに対応する送信先仮想ドメイン名(pod.example.com)と、その別名としてのpod36のFQDN(pod.CDC1.example.com)とを対応付けたCNAMEレコード64を含む。
 このようにして、CDC2がCDC1のバックアップであることが示された、図3に示すDNSレコード60が、coredns21に登録される。
 第3実施例では、第1実施例と同様に、pod26は、所与の処理に関する対象データを既存の外部システムに送信する。
 そして、第1実施例と同様に、既存の外部システムの障害又は所与のコンピュータシステムと既存の外部システムとの間の通信経路の障害が発生したとする。
 この場合、pod26は、既存の外部システムに代えて新規の外部システムに対象データを送信する。
 この状況では、例えば、CDC1が既存の外部システムに相当し、GCクラスタ12が所与のコンピュータシステムに相当し、CDC2が新規の外部システムに相当する(図2参照)。
 そのため、第3処理例でも、クバネテスクラスタ間での通信の遅延を抑制することができる。
 なお、第3処理例でも、第1処理例と同様に、bfd部22は、CDC1から繰り返し送信されるパケットであって、CDC1との間のパスの正常性を監視するためのパケット(例えばBFDパケット)を受信してもよい。
 また、bfd部22は、CDC2から繰り返し送信されるパケットであって、CDC2との間のパスの正常性を監視するためのパケット(例えばBFDパケット)を受信してもよい。
 そして、第1処理例と同様に、pod26は、CDC1からパケットを未受信の場合、CDC1に代えてCDC2に対象データを送信してもよい。ここで、pod26は、CDC1からパケットを未受信であり、かつ、CDC2からパケットを受信している場合、CDC1に代えてCDC2に対象データを送信してもよい。
 第3実施例では、CDC1のリソースデータの登録時にはCDC1のbfd部31が既に起動されている。また、CDC2のリソースデータの登録時にはCDC2のbfd部41が既に起動されている。そのため、第3実施例では、リソースデータが登録されると、開発者の操作を介することなく、登録されたリソースデータに応じたBFDセッションが確立されることとなる。
 また、第3実施例では、外部システムの増設と、当該外部システムのサービスへの登録とを独立して行うことができる。そのため、予め外部システムをいくつか増設してBFDセッションの確立が実行された後で、適宜、BFDセッションが確立された当該外部システムをサービスに登録すること(例えば、当該外部システムをDNSレコード60に登録すること)が可能となる。
 このようにして、第3実施例によれば、通信システム10のスムーズな拡張が可能となる。
 ここで、第3実施例においてGCクラスタ12で実行される処理の流れの一例を、図11を参照しながら説明する。
 まず、開発者の操作に従って、GCクラスタ12は、データストア部28に、通信システム10に新たに追加される外部システムのリソースデータを登録する(S50)。
 そして、GCクラスタ12のbfd部22は、S50に示す処理で登録されたリソースデータを参照して、当該リソースデータに対応付けられる外部システムとの間でbfdのネゴシエーションを実施する(S52)。このネゴシエーションに係る処理には、例えば、GCクラスタ12から当該外部システムへの通信確立要求の送信処理が含まれる。S52に示す処理では、当該リソースデータに基づいて、ネゴシエーションを実施する相手である外部システムを特定してもよい。そして特定される外部システムに対して、当該リソースデータに含まれるクレデンシャルデータを用いた認証が実行されてもよい。また、S52に示す処理では、S50に示す処理で登録されたリソースデータが外部システムに送信されてもよい。そして、このリソースデータが送信先の外部システムのデータストア部に登録されてもよい。S52に示す処理が実行されることで、GCクラスタ12と当該外部システムとの間の通信が確立されることとなる。
 そして、開発者の操作に従って、GCクラスタ12は、coredns21に、S50に示す処理で登録されたリソースデータに対応付けられる外部システムの役割が示されたサービスデータ(上述の例ではDNSレコード60)を登録する(S54)。そして、本処理例に示す処理は終了される。
 以後、図4に示す処理と同様の処理が実行される。
 なお、S54に示す処理でDNSレコード60の登録が行われる必要はない。例えば、S50に示す処理でのリソースデータの登録に応じて、CDCクラスタ14aだけに対して対象データの送信が行われる状態から、図8に示されている動作が行われるよう、GCクラスタ12が制御してもよい。例えば、CDCクラスタ14aからのBFDパケットを未受信である場合にCDCクラスタ14bに対象データが送信されるようGCクラスタ12が制御してもよい。
 以上、本開示を第1実施例、第2実施例、及び、第3実施例をもとに説明した。これらの実施例は例示であり、各構成要素あるいは各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本開示の技術の範囲にあることは当業者に理解されるところである。
 上述した実施例および変形例の任意の組み合わせもまた本開示の実施の形態として有用である。組み合わせによって生じる新たな実施の形態は、組み合わされる実施例および変形例それぞれの効果をあわせもつ。また、請求項に記載の各構成要件が果たすべき機能は、実施例および変形例において示された各構成要素の単体もしくはそれらの連携によって実現されることも当業者には理解されるところである。

Claims (10)

  1.  任意のコンピュータシステムからの通信確立要求の受付に応じた当該コンピュータシステムへの応答が可能な外部システムのアドレスを示すリソースデータを登録するリソースデータ登録手段と、
     前記リソースデータの登録に応じて、当該リソースデータにアドレスが示されている前記外部システムに所与のコンピュータシステムから通信確立要求が送信されるよう制御することで、当該所与のコンピュータシステムと前記外部システムとの間での通信を確立する通信確立手段と、
     前記通信が確立された前記外部システムの、前記所与のコンピュータシステムが実行する所与の処理における役割を設定する役割設定手段と、
     を含むことを特徴とする管理システム。
  2.  前記リソースデータ登録手段は、前記所与のコンピュータシステムが既存の前記外部システムと連携して前記処理を実行している際に、新規の前記外部システムのアドレスを示す前記リソースデータを登録し、
     前記通信確立手段は、前記リソースデータの登録に応じて、前記所与のコンピュータシステムと前記新規の前記外部システムとの間での通信を確立し、
     前記役割設定手段は、前記通信が確立された前記新規の前記外部システムの、前記処理における前記既存の前記外部システムとの関係での役割を設定する、
     ことを特徴とする請求項1に記載の管理システム。
  3.  前記役割設定手段は、前記新規の前記外部システムが、前記既存の前記外部システムのバックアップの役割であることを設定する、
     ことを特徴とする請求項2に記載の管理システム。
  4.  前記処理に関する対象データを前記既存の前記外部システムに送信する送信手段、をさらに含み、
     前記送信手段は、前記既存の前記外部システムの障害又は前記所与のコンピュータシステムと前記既存の前記外部システムとの間の通信経路の障害が発生した場合に、前記既存の前記外部システムに代えて前記新規の前記外部システムに前記対象データを送信する、
     ことを特徴とする請求項3に記載の管理システム。
  5.  前記既存の前記外部システムから繰り返し送信されるパケットであって、前記既存の前記外部システムとの間のパスの正常性を監視するためのパケットを受信する受信手段、をさらに含み、
     前記送信手段は、前記既存の前記外部システムから前記パケットを未受信の場合、前記既存の前記外部システムに代えて前記新規の前記外部システムに前記対象データを送信する、
     ことを特徴とする請求項4に記載の管理システム。
  6.  前記受信手段は、前記新規の前記外部システムから繰り返し送信されるパケットであって、前記新規の前記外部システムとの間のパスの正常性を監視するためのパケットをさらに受信し、
     前記送信手段は、前記既存の前記外部システムから前記パケットを未受信であり、かつ、前記新規の前記外部システムから前記パケットを受信している場合、前記既存の前記外部システムに代えて前記新規の前記外部システムに前記対象データを送信する、
     ことを特徴とする請求項5に記載の管理システム。
  7.  前記パケットは、BFD(Bidirectional Forwarding Detection)パケットである、
     ことを特徴とする請求項5又は6に記載の管理システム。
  8.  前記処理における前記外部システムの役割を示すサービスデータを登録するサービスデータ登録手段、をさらに含む、
     ことを特徴とする請求項1から7のいずれか一項に記載の管理システム。
  9.  前記サービスデータは、前記処理に関する対象データの送信先の名前解決に用いられるDNS(Domain Name System)レコードである、
     ことを特徴とする請求項8に記載の管理システム。
  10.  任意のコンピュータシステムからの通信確立要求の受付に応じた当該コンピュータシステムへの応答が可能な外部システムのアドレスを示すリソースデータを登録するステップと、
     前記リソースデータの登録に応じて、当該リソースデータにアドレスが示されている前記外部システムに所与のコンピュータシステムから通信確立要求が送信されるよう制御することで、当該所与のコンピュータシステムと前記外部システムとの間での通信を確立するステップと、
     前記通信が確立された前記外部システムの、前記所与のコンピュータシステムが実行する所与の処理における役割を設定するステップと、
     を含むことを特徴とする管理方法。
PCT/JP2021/010206 2021-03-12 2021-03-12 管理システム及び管理方法 WO2022190387A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2021/010206 WO2022190387A1 (ja) 2021-03-12 2021-03-12 管理システム及び管理方法
US17/906,743 US20230146880A1 (en) 2021-03-12 2021-03-12 Management system and management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/010206 WO2022190387A1 (ja) 2021-03-12 2021-03-12 管理システム及び管理方法

Publications (1)

Publication Number Publication Date
WO2022190387A1 true WO2022190387A1 (ja) 2022-09-15

Family

ID=83227700

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/010206 WO2022190387A1 (ja) 2021-03-12 2021-03-12 管理システム及び管理方法

Country Status (2)

Country Link
US (1) US20230146880A1 (ja)
WO (1) WO2022190387A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116582516B (zh) * 2023-07-12 2023-09-19 腾讯科技(深圳)有限公司 数据传输方法、设备、系统、介质及程序产品

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012090194A (ja) * 2010-10-22 2012-05-10 Hitachi Ltd ネットワークシステム
US20190379729A1 (en) * 2018-06-06 2019-12-12 Vmware, Inc. Datapath-driven fully distributed east-west application load balancer

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10979513B2 (en) * 2018-01-30 2021-04-13 Verizon Patent And Licensing Inc. Dynamic service discovery and control of load distribution
US11595250B2 (en) * 2018-09-02 2023-02-28 Vmware, Inc. Service insertion at logical network gateway

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012090194A (ja) * 2010-10-22 2012-05-10 Hitachi Ltd ネットワークシステム
US20190379729A1 (en) * 2018-06-06 2019-12-12 Vmware, Inc. Datapath-driven fully distributed east-west application load balancer

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KAWAKAMI, AKIHISA: "Practical AWS! Design Patterns for Enterprise Cloud", NIKKEI SYSTEMS, JP, no. 265, 30 April 2015 (2015-04-30), JP , pages 82 - 87, XP009540765, ISSN: 1881-1620 *

Also Published As

Publication number Publication date
US20230146880A1 (en) 2023-05-11

Similar Documents

Publication Publication Date Title
US10778798B2 (en) Remote service access in a container management system
US6782527B1 (en) System and method for efficient distribution of application services to a plurality of computing appliances organized as subnets
EP1969476B1 (en) Peer distribution point feature for system management server
US20120221700A1 (en) System, Method and Program for Telecom Infrastructure Virtualization and Management
JP2007207231A (ja) ネットワークにおける分散サービスへのアクセス法
EP1989863A1 (en) Gateway for wireless mobile clients
WO2007093071A1 (en) Scalable wireless messaging system
CN112042170B (zh) 用于虚拟机的节点上dhcp实现
JP5352367B2 (ja) 仮想マシン起動端末および仮想マシン起動プログラム
US9760370B2 (en) Load balancing using predictable state partitioning
JP3954617B2 (ja) 通信ネットワークにおけるリソースを提供するための方法
US10069788B1 (en) Controlling a high availability computing system
CN112671554A (zh) 一种节点故障处理方法及相关装置
WO2022190387A1 (ja) 管理システム及び管理方法
CN114900526A (zh) 负载均衡方法及系统、计算机存储介质、电子设备
JP2001273225A (ja) 代理サーバ選択装置および代理サーバ
WO2022157930A1 (ja) コンピュータシステムおよび通信方法
CN114827177B (zh) 一种分布式文件系统的部署方法、装置及电子设备
JP6687101B2 (ja) 通信システム、制御装置および制御方法
WO2023037141A1 (en) Active node selection for high availability clusters
JP2024505147A (ja) ファブリック可用性および同期化
JP6014068B2 (ja) 中継装置及び中継方法、並びにコンピュータ・プログラム
US20220019380A1 (en) Methods providing network service restoration context and related service instance sets and storage resource nodes
WO2021055546A1 (en) System and method for managing blockchain nodes
US20170230327A1 (en) Management server system, system, method of system, and storage medium

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21930237

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP