WO2021037379A1 - Method for operating a cluster, cluster work node, cluster, network, computer program and computer-readable medium - Google Patents

Method for operating a cluster, cluster work node, cluster, network, computer program and computer-readable medium Download PDF

Info

Publication number
WO2021037379A1
WO2021037379A1 PCT/EP2019/073229 EP2019073229W WO2021037379A1 WO 2021037379 A1 WO2021037379 A1 WO 2021037379A1 EP 2019073229 W EP2019073229 W EP 2019073229W WO 2021037379 A1 WO2021037379 A1 WO 2021037379A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
cluster
resource
nodes
control module
Prior art date
Application number
PCT/EP2019/073229
Other languages
German (de)
French (fr)
Inventor
Harald Albrecht
Stephan Höme
Thomas Talanis
Original Assignee
Siemens Aktiengesellschaft
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 Siemens Aktiengesellschaft filed Critical Siemens Aktiengesellschaft
Priority to PCT/EP2019/073229 priority Critical patent/WO2021037379A1/en
Publication of WO2021037379A1 publication Critical patent/WO2021037379A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing

Definitions

  • the invention relates to a method for operating a cluster that is connected to an industrial network of a plant or machine.
  • the invention relates to a cluster work node, a cluster, a network, a computer program and a computer-readable medium.
  • Container technology In the area of general IT, what is known as container technology has proven its worth.
  • Application containers are usually "encapsulated” units that can run independently of one another, no matter where they are. Similar to virtual machines, containers are a kind of container for applications in which they can run. While virtual machines map an entire computer environment, however, the containers usually only contain the important data that are required for the execution of the respective application or applications.
  • the container technologies and containerization make it possible in particular to pack software or application in a container that includes everything it needs to run, for example program code, runtime, system tools and / or system libraries.
  • the container technologies and containerization allow functions to be packaged, transported and finally rolled out in the operative area simply and conveniently.
  • Classic areas of use for containers are, for example, to conveniently package applications such as a database or a web front-end.
  • Examples of software for container virtualization / containerization are for example “Docker” or “rkt” (pronounced “rocket”, see for example https://coreos.com/rkt/ and https://www.docker.com or EP 3267 351 Al on Docker).
  • An example of an orchestration system / tool or orchestration software for containers is given by “Kubernetes” (see for example https://kubernetes.io/ and https: //de.wikipedia .org / wiki / Kubernetes)
  • pods can be orchestrated, which represent the smallest unit that can be used.
  • a pod contains at least one container are used synonymously) run.
  • the cluster with its work nodes is usually controlled by one or more controllers or masters, in the case of Kubernetes via one or more so-called “Kubernetes masters", which are also (in each case) given or ( each) can be implemented on one of the working nodes
  • the working nodes of a cluster can be arranged spatially distributed.
  • Deployments define how many identical copies (containers) of a certain service are required, which are then automatically distributed to the work nodes. In this case, it is unimportant in a first approximation which specific ar- beitsknoten cope with the individual workloads as long as the required number of containers - wherever - is provided.
  • DaemonSets describe that a service is provided on all working nodes. It is not the absolute number of containers that is important here, but the locations where the services must be provided. Such services are therefore (work) node-specific. It can only be specified in general whether one, two, ... containers of the same service have to be processed on each relevant node. Individual node-specific deviations are not provided.
  • Industrial clusters are usually in this case through a mixture of industrial edge devices industrial plants as well as other unspecific work nodes (possibly in a data center).
  • IT mechanisms can on the one hand avoid unnecessary duplicate developments in competition with IT and on the other hand help automation technology to benefit quickly and efficiently from IT innovations in the area of cluster / cloud technologies.
  • industrial clusters with industrial edges besides the models for workloads known from IT, there are also other use cases in which, for example, the specific workload is closely related to individual system components or equipment.
  • These can be, for example, OPC UA servers for system sensors and actuators with special hardware connections or virtual network functions (VNFs), such as a large number of local NAT64 converters from the IPv6 company network distributed in a system to IPv4 automation devices.
  • VNFs virtual network functions
  • This object is achieved by a method for operating a cluster that is connected to an industrial network of a plant or machine, with working nodes of the cluster having resources of the plant or the machine, plant resources, in which
  • a resource marker is or is assigned to each of the nodes that have system resources, with the respective resource marker indicating or being able to be derived from the respective resource marker which system resources the respective node has at its disposal,
  • At least one descriptive element is broad or is made available, in which workloads are specified that are to be set up on nodes that have system resources specified in the respective descriptive element, suitable accounts, the respective descriptive element comprising a template,
  • a control module evaluates the at least one description element and, on the other hand, the resource marker assigned to the node of the cluster and determines whether at least one matching node is available,
  • control module for the case that this is the case creates at least one workload element for setting up workloads on the at least one matching node
  • control module for this purpose using the template contained in the at least one description element is used and inserts at least part of the resource marker assigned to the at least one matching node into this.
  • the invention enables the automatic scheduling of workloads (for example in the form of pods / containers) on the basis of system resources.
  • the invention provides the use of one or more descriptive elements, the use of resource markers and a control module.
  • each of the description elements relates or describes a different type of workload or specifies a different type of workload.
  • the description elements can be present more than once, especially in the configuration of the cluster system, in which case, however, an individual description element always describes only one type of workload or similar workloads.
  • the or - in the case of several - the respective descriptive element which can be a textual descriptive element, for example a text file, preferably links system resources and workloads with one another.
  • the respective descriptive element describes in particular the workloads to be set up or installed that are to be set up or installed precisely on those nodes that have the system resources also specified or named in the respective descriptive element.
  • a part of the or the respective descriptive element is preferably a template or template, in particular a template or template for the workloads to be generated. Another part appropriately describes or specifies the required or associated system resources.
  • the system resources are preferably specified in the respective descriptive element in the form of expected resource marks or in the form of expected parts of resource marks.
  • the control module which can also be referred to as the Resource Deployment Controller or RDC for short, can automatically evaluate both the description element or elements as well as existing resource markers.
  • the control module has access to the at least one description element and resource markers assigned to the work node.
  • the control module can preferably record and evaluate the at least one descriptive element and resource marker repeatedly, for example cyclically.
  • the control module preferably uses the at least one description element or elements stored in the cluster configuration to determine whether and which suitable working nodes are available, in particular in the form of node resources and preferably in the cluster configuration that have the desired resource markers own or are provided with these and thus have the associated system resources.
  • the control module automatically generates workload elements for the appropriate node or nodes, for example in the form of pod resources (English: pod resources, PRs for short) or deployments.
  • an orchestration system for example Kubernetes, can then automatically set up workloads, in particular in the form of pods and / or containers, on the respective node.
  • the workload element or elements can in particular be Kubernetes Pod Resources or Kubernetes Deployments.
  • control module preferably creates at least one workload element for each of the matching nodes.
  • More than one workload element is particularly preferably created by the control module for a suitable node in the event that a system resource is present several times at the suitable node.
  • a node has two or more network interfaces or has access to two or more subnetworks, for example cell networks.
  • the at least one workload element created by the control module relates to at least one workload in the form of a container and / or pod.
  • workloads in the form of containers can be set up on the at least one matching node.
  • At least one workload is specified in the at least one description element in the form of a virtual network function.
  • One example is a (virtual) NAT64 function.
  • the cluster is connected to the industrial network of a plant or machine or takes part in it.
  • One of the main tasks of the control module is in particular to replace parts of the (respective) template with specific information about individual system resources in order to obtain the final workload elements, in particular PRs or deployments.
  • This information preferably comes from the resource markers on the work nodes or on their representatives in the cluster configuration.
  • nodes of the cluster have to be connected to the system or machine network, but that this can only apply to some of the nodes (in the borderline case only to one node).
  • resource markers can only be provided for those nodes that take part in the plant or machine network, since these in particular have plant resources.
  • the resource markers are, in particular, markings.
  • the resource markers can, for example, list the specific names of the hardware network interfaces "ens33p0" and "ens42p66".
  • the control module would then generate two PRs from this, with one of the PRs containing the specific information about the network interface "ens33p0", while the other PR indicates "ens42p66" instead.
  • the inventive use of a template for the workloads to be set up on matching nodes is thereby a particularly efficient process is guaranteed.
  • the template can be adapted or "filled" by the control module on the basis of the system resources of a suitable work node.
  • An example of a description element can be: kind: di.Siemens.com/ResourceDeployment metadata: name: nat64 spec: matchResource: di.Siemens.com/cellnets template:
  • nat64 args ["/ bin / nat64", "-i”, " ⁇ di.Siemens.com/cellnets:i ⁇ "]
  • (virtual) NAT64 routers are to be set up on all those cluster work nodes (for example in the form of industrial edges) that have cell networks as plant resources or to which such are assigned.
  • the workloads to be set up in this example are virtual network functions, specifically virtual NAT64 router functions.
  • the part beginning with "template” in the previous example is the template for workloads to be set up.
  • An example of a workload telement given by a deployment is: kind: Deployment metadata: name: nat64-grmpf-12 template: metadata:
  • nat64 args ["/ bin / nat64", "-i”, "ens42p66"]
  • the control module preferably carries out its activity permanently.
  • the evaluation of the description element (s) and the resource marker (s) can be carried out cyclically, for example.
  • control module not only ensures that new workloads are set up for newly added system resources, but also removes again those workloads whose (associated) system resources have been removed.
  • this embodiment offers a kind of "clean-up mechanism" For example, a target status of the required workloads can be provided and / or determined and the current actual status of the relevant workloads can be provided and / or determined and the target status can then be compared with the current actual status.
  • Examples of adding or removing system resources include adding or removing a hardware network interface, or a local configuration action by a user at an industrial edge, with which he assigns device resources for the cluster or removes them again.
  • the procedure according to the invention enables the complexity when orchestrating workloads that have to be distributed accordingly by system resources to be significantly reduced.
  • the invention enables a particularly efficient integration into the control plane (control plane) of the industrial cluster. Efficient is to be understood in the sense of the least complex engineering / configuration of the workloads. The workloads that are directly linked to plant resources.
  • the scheduling of the workloads does not take place at the node level, but at the level of the system resources that are assigned to the (respective) node. Furthermore, the monitoring resources required on the individual working nodes for monitoring system resources can be minimized because the control module takes this over centrally.
  • Plant resources are in particular resources that belong to the plant or machine or that are assigned to the plant or machine. There are, for example, resources that are each formed by one or more devices, in particular automation devices, and / or one or more other components, in particular other automation components, and / or one or more areas, such as cell networks or the like, of the system or machine or which have one or more devices, in particular automation devices, and / or one or more other components, in particular other automation components, and / or one or more areas of the system or machine. Plant resources can also be present, for example, in the form of plant or device equipment - including software-based equipment.
  • a work node has system resources, in particular specific system resources, can in particular mean that it has access to, in particular, specific system resources.
  • Resources assigned to the system or machine that is to say system resources, can be located directly at the respective node, for example by means of equipment-specific or machine-specific equipment, for example in the form of at least one particular or component assigned to the system or machine or a component thereof related hardware or software elements of the respective node itself are present, and / or also with or on devices / modules / elements / system parts separate from the respective node.
  • a node can, for example, have system resources (separate from it) because it has access to a device and / or a component and / or an area of the system / machine or with a device and / or a component and / or an area of the system / machine (possibly directly) is connected, which or which or which represents a plant resource or his / her part has plant resources.
  • system resources that can be present in a system / machine include at least one robot controller and / or at least one memory-programmable controller.
  • a working node can, for example, have access to such components, possibly because the node is directly connected to them.
  • Further examples of system resources include a network card as access, for example, to automation (sub) networks within manufacturing cells or a node-specific service, such as the programming API of a robot controller or the like.
  • the resource markers that are or will be assigned to the nodes that have system resources each include a first and a second part.
  • the first part indicates that the respective node has one or more facilities at its disposal
  • the second part lists all the system resources that the respective node has at its disposal.
  • a marker structure in particular enables other components or modules of a cluster configuration or orchestration system or tools, such as Kubernetes, for example a resource deployment controller, with the least possible load for the system or Tool to make the system resources from resourceful.
  • the first part can, for example, be in the form of a “label”, in particular a Kubernetes label, or include one.
  • the first part signals that a certain system resource is available one or more times at a node. In this way, the configuration system of the cluster can decide very efficiently whether and how the control module is to be notified of the presence or absence.
  • the configuration system can do this filter very efficiently on the first part, in particular a label and its (restricted) values, without having to work or have to work with value lists (arrays).
  • Such a label can be, for example, "cellnetworks” with the empty value ""; the existence of the label is sufficient, but the value is irrelevant because the first part does not (yet) list the specific individual system resources.
  • the first part makes it possible, in particular, to use a cluster configuration system that does not allow any jokers in the names of Labein, as is usually the case with the previously known systems.
  • the second part of the (respective) resource marker can, for example, be in the form of an “annotation”, in particular Kubernes annotation, or contain such.
  • the second part of the resource marker preferably lists all system resources, especially since the aforementioned restrictions of known cluster configuration systems do not apply here.
  • the second part can have the same name as the first, but with a value.
  • the second part can also include the name “cellnetworks”, for example with the value "ens33p0, ens42p66".
  • the (respective) resource marker accordingly comprises at least one label, in particular Kubernetes label, and / or at least one annotation, in particular Kubernetes annotation.
  • a resource marker with a first part in the form of a (Kubernetes) label and a second part in the form of a (Kubernetes) annotation can then read, for example: kind: Node metadata: labels: di.siemens.com/cellnets: "" annotations: di.Siemens.com/cellnets: "ens33p0, ens42p66"
  • This purely exemplary resource marker could in particular be provided for cluster work nodes which have cell networks as system resources or to which cell networks (“cell nets") are assigned as system resources.
  • Cell networks are to be understood, in a manner previously known from the field of automation technology, in particular for individual production cells or networks / networks of individual production cells, of which an automation system or machine can comprise several.
  • resource markers in particular can then be provided or used which have other designations (belonging to the other resource types) in the first part, in particular labels.
  • Resource markers which differ in their first parts, in particular in the labels, are preferably used for various types of system resources.
  • the (respective) resource marker is a proxy element that exists in a cluster configuration for the respective node, in particular a mirror or .
  • a mirror or node resource can also be referred to as a node resource.
  • the resource markers can be stored on the representative elements, in particular node resources, for example manually as part of the cluster configuration. be done.
  • resource markers can be automatically assigned to substitute elements, and resource markers, in particular, to be automatically stored on substitute elements, for example node resources.
  • An orchestration system such as Kubernetes, is expediently used to set up the workloads on the at least one suitable node or nodes.
  • the workloads are then preferably set up by the orchestration system in the form of pods and / or containers.
  • the control module is then preferably in communicative connection with the orchestration system or is part of the orchestration system.
  • the orchestration system can, in particular, based on the at least one workload element generated by the control module, set up associated workloads on the respective at least one matching node.
  • the workload elements generated by the control module can be automatically recognized by the orchestration system and the necessary workloads, in particular pods and / or containers, can be generated by the orchestration system on the basis of or using the Workload items can be set up on the corresponding nodes.
  • the control module can be implemented in software or hardware or a combination of software and hardware.
  • at least one control module, in particular in software, can be implemented on at least one of the work nodes.
  • the steps of the method according to the invention can be carried out by one or even more, in particular, any working nodes of the cluster.
  • any working nodes of the cluster In particular, one or more so- named master nodes, which are preferably purely responsible for cluster orchestration, are in question.
  • the invention also relates to a cluster work node which is designed and / or set up to carry out the method according to the invention.
  • the cluster work node preferably comprises a control module which is designed and / or set up for this purpose
  • At least one description element in which workloads are specified that are to be set up on cluster work nodes that have system resources specified in the respective description element, matching accounts, with the respective description element comprising a template, and Evaluate resource markers assigned to cluster nodes and determine whether at least one matching node is available,
  • control module uses the template contained in the at least one description element and in this at least part of the dem inserts at least one resource marker associated with a matching node.
  • a cluster work node can, for example, be a (separate) device or a (separate) hardware component.
  • a working node it is also possible for a working node to be present as a "software working node", for example in the form of a computer program or a computer program collection, which is installed on a device designed to execute it, such as a PC or other computing device or any other device.
  • a working node according to the invention can comprise or be given by at least one virtual machine (VM) be.
  • VM virtual machine
  • a work node can, for example, also be integrated into an automation component, such as a controller, or into another device, both in the form of hardware and software. It is also possible that a working node according to the invention is assigned to at least one automation component.
  • a cluster work node can also be provided by or comprise an appropriately set up industrial computer or PC.
  • the working node is particularly preferably an edge device, in particular an industrial edge device.
  • An edge device is to be understood in particular as a device that performs the or at least one function of edge computing (for edge computing, see e.g. https://de.wikipedia.org/wiki/Edge_Computing).
  • An industrial edge device can be given, for example, by an industrial computer that performs an edge computing function.
  • the working node according to the invention is designed and / or set up in an advantageous embodiment in order to implement one or more of the preferred features described above.
  • the control module is preferably designed and / or set up accordingly.
  • the cluster work node specified here can also be further developed in accordance with the dependent method claims and vice versa.
  • Another subject matter of the invention is a cluster comprising one or more working nodes, the cluster being designed and / or set up to carry out the method according to the invention.
  • the invention also relates, in particular, to an industrial network which comprises at least one cluster working node according to the invention.
  • Another subject matter of the present invention is a computer program comprising program code means which, when the program is executed on at least one computer, cause the at least one computer to carry out the steps of the method according to the invention.
  • the invention relates to a computer-readable medium which comprises instructions which, when they are executed on at least one computer, cause the at least one computer to carry out the steps of the method according to the invention.
  • the computer-readable medium can be, for example, a CD-ROM or DVD or a USB or flash memory. It should be noted that a computer-readable medium should not be understood exclusively as a physical medium, but rather such a medium can also be present, for example, in the form of a data stream and / or a signal that represents a data stream.
  • FIG. 1 shows a purely schematic partial representation of an industrial network with a cluster with several cluster working nodes
  • FIG. 2 shows a schematic representation of the sequence of an exemplary embodiment of the method according to the invention.
  • FIG. 3 shows a purely schematic partial representation of an industrial network with a cluster with several work accounts, which is operated in the manner according to the invention.
  • FIG. 1 shows a purely schematic partial representation of an industrial network in which several working nodes 1 of a cluster 2 participate.
  • the nodes 1 are provided by industrial edge devices, specifically industrial PCs that take on an edge computing function.
  • nodes 1 can also be provided by virtual machines (VMs) that are implemented on a powerful industrial PC with several CPUs or on a blade PC, especially together with other elements and, for example, in an air-conditioned data center, etc.
  • VMs virtual machines
  • Each of the two working nodes 1 shown is connected to one or more cell networks 3.
  • work loads are to be set up for each of the cell networks 3, specifically in the form of containers 4, which in the illustrated embodiment relate to virtual network functions or to implement virtual network functions.
  • FIG. 1 the individual workload elements are shown schematically in the form of Kubernetes deployments 6 next to a container repository 8.
  • a repository 8 is, in particular, a set of images of the same name with different tags, mostly versions. Images are, in particular, memory dumps of a container. An image is usually portable, can be saved in repositories 8 and shared with other users. Several containers can always be started from one image. For images and repositories, see, for example, https: //de.wikipedia .org / wiki / Docker_ (software)). It should be noted that in FIG. 1 (exactly as in FIG. 3) the cluster control plane is shown above the solid line.
  • control module 9 and one or more description elements 10 are used, which are only shown in FIG. 1 and there purely schematically.
  • the nodes 1 are also provided with resource markers 11.
  • the control module 9 is implemented on one of the nodes of the cluster 2, specifically on a master node 12 (see FIG. 2) of the cluster 2.
  • the master node 12 is solely responsible for cluster orchestration.
  • the orchestration system 7 or possibly a part, in particular in software, can also be implemented on this. It should be noted that the orchestration system 7 is generally distributed over several (possibly all) nodes 1, both to master nodes and to arrangement beitsknoten 1. As a rule, not all functions of the orchestration system 7 are available on all nodes.
  • FIG. 1 shows a single block element as a representative for this.
  • control module 9 can be part of the orchestration system 7, but does not have to be. It can also be ready for the orchestration system 7, but then it is expediently in communicative connection with it.
  • workloads 4 are specified that are to be set up on nodes 1 that have system resources 3 specified in the respective descriptive element 10 (matching accounts 1).
  • the respective description element 10 comprises a template 13 for the workloads 4 to be prepared.
  • each of the description elements 10 appropriately relates to or describes a different type of workload 4.
  • Examples of different types of workloads 4 are a software PLC, a software robot controller Called software IT router.
  • the description element or elements 10 can also be referred to or understood as so-called “Plant Resource Deployment Resources” or RDRs for short.
  • the description element or elements 10 are or will be provided in particular in the cluster configuration on the cluster control level.
  • the control module can also be referred to as a resource deployment controller or RDC for short.
  • a part of the respective descriptive element 10 is given by the template 13 or template for the workloads 4 to be generated. Another part expediently describes or specifies the required or associated system resources. In the present case, the system resources are given in the (respective) description element 10 in the form of expected resource markers 11 or in the form of expected parts of resource markers 11.
  • RDRs 10 An example of a description element (RDRs) 10 is: kind: di.Siemens.com/ResourceDeployment metadata: name: nat64 spec: matchResource: di.Siemens.com/cellnets template:
  • nat64 args ["/ bin / nat64", "-i”, " ⁇ di.Siemens.com/cellnets:i ⁇ "]
  • (virtual) NAT64 routers can be set up on all those cluster working nodes 1 that have cell networks 3 as system resources or to which such resources are assigned.
  • the workloads 4 to be set up in this example are virtual network functions, specifically virtual NAT64 router functions in the form of containers 4.
  • template 13 for the workloads 4 to be set up.
  • the matching it applies that in the event that a resource for a working node 1 fits into the grid if it has the label (s) listed below. Then the template 13 is "executed" one after the other with all the values of the annotation assigned to the label, that is to say the corresponding deployments are generated.
  • the resource markers 11 are presently provided in the cluster configuration or are stored in this. Specifically, the (respective) resource marker 11 is or was assigned to the node 1 having system resources 3, by the (respective) resource marker 11 in a proxy element 14 present in the cluster configuration for the respective node 1 Form of a node resource (English: node resource) is or has been assigned.
  • the resource markers 11 can be assigned manually or automatically.
  • the cluster control level with elements of the cluster configuration shown schematically is shown above the dashed line.
  • the master node 12 and two further nodes 1 of the cluster 2 are shown by way of example below the dashed line.
  • only one node resource 14 is shown by way of example, which represents a substitute for the in Figure 2 forms node 1 shown in the center below.
  • a dashed double arrow between the node resource 14 shown as an example and the central node 1 shows this relationship by way of example. It should be noted that the arrows with solid lines in FIG. 2 symbolize a flow of data in contrast to a mere relationship.
  • the first part 11a of the respective resource marker 11 indicates that the respective node 1 has a specific system resource 3 one or more times, and the second part 11b lists all the system resources 3 that the respective node 1 actually has, on.
  • the first part 11a is in the form of a “label”, specifically a Kubernetes label 11a. Since the first part 11a signals that a certain system resource 3 is available one or more times at a node 1, the orchestration system 7 of the cluster 2 (can also be referred to as a configuration system) can decide very efficiently whether and how the control module is 9 is to be notified of the presence or absence.
  • the orchestration system 7 can here very efficiently filter on the first part, in the present case the label and its (restricted) values, without it having to work or have to work with lists of values (arrays).
  • Such a label 11a can be, for example, “cellnetworks” with the empty value “”; the existence of the label 11a is sufficient here, but the value is irrelevant since the specific individual system resources 3 are not (yet) listed with the first part 11a.
  • the first part 11a makes it possible, in particular, to use a cluster orchestration system 7 which does not allow any Jo ker in the name of Labein, as is usually the case with the systems 7 known above.
  • the second part 11b of the (respective) resource marker 11 is given in the present case by an “annotation”, specifically Kubernetes annotation.
  • the second part 11b of the resource marker 11 lists all the system resources 3, in particular since the aforementioned restrictions of known cluster configuration systems do not apply here.
  • the second part 11b has the same name as the first, but with a value.
  • a resource marker 11 with a first part 11a in the form of a (Kubernetes) label and a second part 11b in the form of a (Kubernetes) annotation can read, for example: kind: Node metadata: labels: di.siemens.com/cellnets: "" annotations: di.Siemens.com/cellnets: "ens33p0, ens42p66"
  • This resource marker 11 is provided for cluster work nodes 1 which have cell networks 3 as system resources or to which cell networks 3 (“cellnets”) are assigned as system resources.
  • Cell networks are to be understood as meaning, in a manner previously known from automation technology, in particular individual production cells or networks / networks of individual production cells, of which an automation system or machine can comprise several
  • the control module 9 is designed and / or set up to automatically evaluate the at least one provided description element 10 and the resource markers 11 assigned to cluster nodes 1 and to determine whether at least one suitable node is available, and in the event that the so is to create at least one workload element 15 for the establishment of workloads 4 on the at least one matching node 1.
  • the control module 9 uses the template 13, which is contained in the at least one descriptive element 10. It adds at least a part, in this case a value 16, of the resource marker 11 of the (respective) matching node 1 in the template 13 to get the load element 15 work.
  • workload elements in the form of so-called pod resources 15, PRs for short are generated for the matching node or nodes 1.
  • an essential task of the control module 9 is to replace parts of the (respective) template 13 with specific information about individual system resources 3 in order to obtain the final workload elements 15, in particular PRs or deployments.
  • This information preferably comes from the resource markers 11 on the work nodes 1 or on their representatives 14 in the cluster configura tion.
  • the workload element (s) 15 generated by the control module 9 can then be automatically recognized by the orchestration system 7 and the necessary workloads 4 in the form of pods or containers can be provided by the orchestration system 7 on the basis of or using the or the Hälastele elements 15 are set up on the corresponding node 1.
  • this process is indicated schematically by the dashed double arrows which each connect a pod resource 15 to a container 4 set up on node 1.
  • the control module 9 preferably carries out its activity permanently.
  • the evaluation of the description element (s) 10 and the resource marker (s) 11 can, for example, take place cyclically.
  • control module 9 not only ensures that new workloads 4 are set up for newly added system resources 3, but also removes again those workloads 4 whose (associated) system resources 3 have been removed. In other words, it implements a kind of "clean-up mechanism". Examples of adding or removing system resources include adding or removing a hardware network interface, or a local configuration action by a user on an industrial edge, with which he assigns device resources for cluster 2 or removes them again.
  • the described procedure according to the invention enables the automatic scheduling of workloads (for example in the form of pods / containers) on the basis of system resources.
  • the complexity when orchestrating workloads 4, which must be distributed accordingly by system resources 3, can be significantly reduced.
  • a particularly efficient integration into the control plane of industrial cluster 2 is made possible.
  • the scheduling of the workloads 4 does not take place at the node level, but rather at the level of the system resources 3 that are assigned to the node 1 (in each case).
  • the monitoring resources required on the individual work nodes 1 for monitoring system resources 3 can be minimized.
  • the invention simplifies the many deployment resources 6, ideally into a single description element 10, for example a single installation resource deployment resource, which is now very easy to maintain.
  • the control module tracks the individual workload elements 15, in particular pods / deployments, which are derived from the one, unchanged system resource deployment resource. This is shown purely schematically in FIG. It should be noted that the master node 12 comprising the control module 9 is an exemplary embodiment of a cluster work node according to the invention, which is designed and / or set up to carry out the method according to the invention.
  • the control module 9 can be implemented on this in software.
  • the cluster 2 comprising the master node 12 and the further nodes 1 is also an exemplary embodiment of a cluster 2 according to the invention, which is designed and / or set up to carry out the method according to the invention.
  • the industrial network shown is an exemplary embodiment of a network according to the invention.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

The invention relates to a method for operating a cluster (2) connected to an industrial network of an installation or machine, wherein work nodes (1) of the cluster (2) have resources of the installation or of the machine, installation resources (3), wherein – a resource marker (11) has been or is assigned to each of the nodes having installation resources (3), – at least one description element (10) is available or provided, in which workloads (4) are indicated that need to be set up on nodes (1) that have installation resources (3) indicated in the or the respective description element (10), suitable nodes (1), – a control module (9) evaluates firstly the at least one description element (10) and secondly resource markers (11) assigned to the nodes (1) of the cluster (2) and ascertains whether at least one suitable node (1) is present, – the control module (9), on this being the case, creates at least one workload element (15) for setting up workloads (4) on the at least one suitable node (1). The invention further relates to a cluster work node (1), a cluster (2), a network, a computer program and a computer-readable medium.

Description

Beschreibung description
Verfahren zum Betreiben eines Clusters, Cluster-Arbeitskno ten, Cluster, Netzwerk, Computerprogramm und computerlesbares Medium Method for operating a cluster, cluster work node, cluster, network, computer program and computer-readable medium
Die Erfindung betrifft ein Verfahren zum Betreiben eines Clusters, der mit einem industriellen Netzwerk einer Anlage oder Maschine verbunden ist. Darüber hinaus betrifft die Er findung einen Cluster-Arbeitsknoten, einen Cluster, ein Netz werk, ein Computerprogramm und ein computerlesbares Medium. The invention relates to a method for operating a cluster that is connected to an industrial network of a plant or machine. In addition, the invention relates to a cluster work node, a cluster, a network, a computer program and a computer-readable medium.
Im Bereich der allgemeinen IT hat sich die so genannte Con tainer-Technologie bewährt. Anwendungs-Container stellen in der Regel "abgekapselte" Einheiten dar, die unabhängig von einander ausgeführt werden können, egal wo sie sich befinden. Ähnlich wie bei virtuellen Maschinen sind Container eine Art Behälter für Anwendungen, in denen diese laufen können. Wäh rend virtuelle Maschinen jedoch eine ganze Computerumgebung abbilden, enthalten die Container üblicherweise lediglich die wichtigen Daten, die für die Ausführung der jeweiligen Anwen dung bzw. Anwendungen benötigt werden. In the area of general IT, what is known as container technology has proven its worth. Application containers are usually "encapsulated" units that can run independently of one another, no matter where they are. Similar to virtual machines, containers are a kind of container for applications in which they can run. While virtual machines map an entire computer environment, however, the containers usually only contain the important data that are required for the execution of the respective application or applications.
Die Container-Technologien bzw. die Containerisierung ermög lichen es insbesondere, eine Software bzw. Anwendung in einem Container zu verpacken, der alles umfasst, was sie zum Laufen braucht, beispielsweise Programmcode, Laufzeit, System-Tools und/oder Systembibliotheken. Die Container-Technologien bzw. Containerisierung erlauben es, Funktionen einfach und bequem modular zu verpacken, zu transportieren und schließlich in den operativen Bereich auszurollen. Klassische Einsatzgebiete von Containern liegen beispielsweise darin Applikationen, et wa eine Datenbank oder einen Web-Front-End, bequem zu verpa cken. The container technologies and containerization make it possible in particular to pack software or application in a container that includes everything it needs to run, for example program code, runtime, system tools and / or system libraries. The container technologies and containerization allow functions to be packaged, transported and finally rolled out in the operative area simply and conveniently. Classic areas of use for containers are, for example, to conveniently package applications such as a database or a web front-end.
Beispiele für Software für die Container-Virtualisierung/Con- tainerisierung sind etwa „Docker" oder "rkt" (gesprochen "rocket", siehe etwa https://coreos.com/rkt/ sowie https://www.docker.com bzw. EP 3267 351 Al zu Docker). Ein Beispiel für ein Orchestrierungssystem/-tool bzw. eine Orchestrierungs-Software für Container ist durch "Kubernetes" gegeben (siehe etwa https://kubernetes.io/ sowie https://de.wikipedia .org/wiki/Kubernetes) Examples of software for container virtualization / containerization are for example "Docker" or "rkt" (pronounced "rocket", see for example https://coreos.com/rkt/ and https://www.docker.com or EP 3267 351 Al on Docker). An example of an orchestration system / tool or orchestration software for containers is given by "Kubernetes" (see for example https://kubernetes.io/ and https: //de.wikipedia .org / wiki / Kubernetes)
Die allgemeine IT stellt heute eine Reihe von Mechanismen be reit, um in einem Cluster von Arbeitsrechnern (= Arbeitskno ten), die benötigten Arbeitslasten für Applikationen insbe sondere in Form von Containern auf die vorhandenen Knoten zu verteilen. Es sind (Container-) Orchestrierungs-Systeme, wie etwa Kubernetes, für Cluster aus Arbeitsknoten bekannt. Today, general IT provides a number of mechanisms to distribute the workloads required for applications in a cluster of work computers (= work nodes), in particular in the form of containers, to the existing nodes. (Container) orchestration systems, such as Kubernetes, for clusters of work nodes are known.
Mit Orchestrierungs-Systemen wie Kubernetes können insbeson dere sogenannte „Pods" orchestriert werden, welche die kleinste einsetzbare Einheit darstellen. Ein Pod beinhaltet wenigstens einen Container. Pods sind die Arbeiterprozesse, die auf „Nodes" (Arbeitsknoten/Knoten/Arbeitsrechner eines Clusters, Begriffe werden vorliegen synonym verwendet) lau fen. With orchestration systems such as Kubernetes, so-called "pods", in particular, can be orchestrated, which represent the smallest unit that can be used. A pod contains at least one container are used synonymously) run.
Der Cluster mit seinen Arbeitsknoten wird dabei in der Regel von einem oder mehreren Controllern bzw. Mastern gesteuert, im Falle von Kubernetes über einen oder mehrere sogenannten „Kubernetes-Master", der/die auch (jeweils) durch einen der Arbeitsknoten gegeben bzw. (jeweils) auf einem der Arbeits knoten implementiert sein können. Die Arbeitsknoten eines Clusters können räumlich verteilt angeordnet sein. The cluster with its work nodes is usually controlled by one or more controllers or masters, in the case of Kubernetes via one or more so-called "Kubernetes masters", which are also (in each case) given or ( each) can be implemented on one of the working nodes The working nodes of a cluster can be arranged spatially distributed.
Kubernetes kennt einerseits sogenannte „Deployments", ande rerseits „DaemonSets" für unterschiedliche Formen von Ar beitslasten. Kubernetes knows so-called "deployments" on the one hand, and "daemon sets" on the other hand for different types of workloads.
Deployments definieren hierbei, wie viele identische Kopien (Container) eines bestimmten Dienstes benötigt werden, die dann automatisch auf die Arbeitsknoten verteilt werden. Hier bei ist in erster Näherung unwichtig, welche spezifischen Ar- beitsknoten die einzelnen Arbeitslasten stemmen, solange die benötigte Anzahl an Containern - wo auch immer - bereitge stellt wird. Im Gegensatz dazu beschreiben DaemonSets, dass ein Dienst jeweils auf allen Arbeitsknoten bereitgestellt wird, hierbei ist nicht die absolute Anzahl der Container wichtig, sondern die Orte, an denen die Dienste erbracht wer den müssen. Solche Dienste sind also (Arbeits-) Knoten-spezi fisch. Dabei kann nur generell festgelegt werden, ob auf jedem zutreffenden Knoten jeweils ein, zwei, ...Container des gleichen Dienstes abgearbeitet werden müssen. Einzelne Kno ten-spezifische Abweichungen sind nicht vorgesehen. Deployments define how many identical copies (containers) of a certain service are required, which are then automatically distributed to the work nodes. In this case, it is unimportant in a first approximation which specific ar- beitsknoten cope with the individual workloads as long as the required number of containers - wherever - is provided. In contrast to this, DaemonSets describe that a service is provided on all working nodes. It is not the absolute number of containers that is important here, but the locations where the services must be provided. Such services are therefore (work) node-specific. It can only be specified in general whether one, two, ... containers of the same service have to be processed on each relevant node. Individual node-specific deviations are not provided.
Ein Übertragen dieser IT-Mechanismen für das Verwalten von Diensten (Containern) auf Cluster im industriellen Umfeld, sogenannte „industrielle Cluster", ist aus Sicht der Anmelde rin vielversprechend. Industrielle Cluster sind hierbei in der Regel durch eine Mischung aus Industrial Edge-Geräten in industriellen Anlagen sowie weiterer unspezifischer Arbeits knoten (eventuell in einem Rechenzentrum) gekennzeichnet. A transfer of these IT mechanisms for managing services (containers) to clusters in the industrial environment, so-called "industrial clusters", is very promising from the applicant's point of view. Industrial clusters are usually in this case through a mixture of industrial edge devices industrial plants as well as other unspecific work nodes (possibly in a data center).
Der Einsatz der IT-Mechanismen kann einerseits unnötige Dop pelentwicklungen in Konkurrenz zur IT vermeiden und anderer seits der Automatisierungstechnik helfen, zügig und effizient von IT-Innovationen im Bereich der Cluster/Cloud-Technologien zu profitieren. In industriellen Clustern mit Industrial Ed- ges finden sich jedoch neben den aus der IT bekannten Model len für Arbeitslasten auch weitere Anwendungsfälle, bei denen beispielsweise die konkrete Arbeitslast eng mit einzelnen An lagenbestandteilen oder Geräteausstattungen zusammenhängt. Dieses können beispielsweise OPC UA-Server für Anlagen-Senso- ren und -Aktoren mit speziellen Hardware-Anschaltungen oder auch virtuelle Netzwerkfunktionen (VNFs) sein, wie etwa eine Vielzahl von in einer Anlage verteilter und jeweils Zellen lokaler NAT64-Umsetzer vom IPv6-Firmennetz zu IPv4-Automati- sierungsgeräten. The use of IT mechanisms can on the one hand avoid unnecessary duplicate developments in competition with IT and on the other hand help automation technology to benefit quickly and efficiently from IT innovations in the area of cluster / cloud technologies. In industrial clusters with industrial edges, however, besides the models for workloads known from IT, there are also other use cases in which, for example, the specific workload is closely related to individual system components or equipment. These can be, for example, OPC UA servers for system sensors and actuators with special hardware connections or virtual network functions (VNFs), such as a large number of local NAT64 converters from the IPv6 company network distributed in a system to IPv4 automation devices.
Zwar könnte man einige industrielle Anwendungsfälle mit den bislang aus der allgemeinen IT bekannten Mechanismen grund- sätzlich abbilden. Jedoch entsteht hierbei ein unter Umstän den hoher Installations- und Pflegeaufwand. Es wäre ein ver einfachtes und zumindest teilautomatisches Einrichten und An passen an die tatsächliche Anlagenkonfiguration wünschens wert. It is true that some industrial applications could be fundamentally implemented with the mechanisms known so far from general IT. additionally map. However, this creates a high installation and maintenance effort under certain circumstances. Simplified and at least partially automatic set-up and adaptation to the actual system configuration would be desirable.
Es ist daher eine Aufgabe der vorliegenden Erfindung, eine Möglichkeit zu schaffen, mit vertretbarem Aufwand Arbeitslas ten auf die Arbeitsknoten eines insbesondere industriellen Clusters zu verteilen, dies auch in Fällen, in denen konkrete Arbeitslasten eng mit einzelnen Anlagenbestandteilen oder Ge räteausstattungen Zusammenhängen. It is therefore an object of the present invention to provide a way to create a reasonable cost Arbeitslas a particular industrial cluster th to distribute to the working node, so in cases where specific workloads usammenhängen closely with individual system components or Ge councils outfits Z.
Diese Aufgabe wird gelöst durch ein Verfahren zum Betreiben eines Clusters, der mit einem industriellen Netzwerk einer Anlage oder Maschine verbunden ist, wobei Arbeitsknoten des Clusters über Ressourcen der Anlage oder der Maschine, Anla genressourcen, verfügen, bei dem This object is achieved by a method for operating a cluster that is connected to an industrial network of a plant or machine, with working nodes of the cluster having resources of the plant or the machine, plant resources, in which
- den über Anlagenressourcen verfügenden Knoten jeweils ein Ressourcen-Marker zugeordnet ist oder wird, wobei der jeweilige Ressourcen-Marker angibt bzw. von dem je weiligen Ressourcen-Marker ableitbar ist, über welche Anlagenressourcen der jeweilige Knoten verfügt, - a resource marker is or is assigned to each of the nodes that have system resources, with the respective resource marker indicating or being able to be derived from the respective resource marker which system resources the respective node has at its disposal,
- wenigstens ein Beschreibungselement breitsteht oder be reitgestellt wird, in dem Arbeitslasten angegeben sind, die auf Knoten einzurichtend sind, die über in dem oder dem jeweiligen Beschreibungselement angegebene Anlagen ressourcen verfügen, passende Konten, wobei das oder das jeweilige Beschreibungselement eine Schablone umfasst,- At least one descriptive element is broad or is made available, in which workloads are specified that are to be set up on nodes that have system resources specified in the respective descriptive element, suitable accounts, the respective descriptive element comprising a template,
- ein Kontrollmodul einerseits das wenigstens eine Be schreibungselement und andererseits den Knoten des Clus ters zugeordnete Ressourcen-Marker auswertet und ermit telt, ob wenigstens ein passender Knoten vorhanden ist,- A control module, on the one hand, evaluates the at least one description element and, on the other hand, the resource marker assigned to the node of the cluster and determines whether at least one matching node is available,
- das Kontrollmodul für den Fall, dass dem so ist, wenigs tens ein Arbeitslastelement für die Einrichtung von Ar beitslasten auf dem wenigstens einen passenden Knoten erstellt, wobei das Kontrollmodul hierzu die in dem we nigstens einen Beschreibungselement enthaltene Schablone verwendet und in diese zumindest einen Teil des dem we nigstens einen passenden Knoten zugeordneten Ressourcen- Markers einfügt. the control module for the case that this is the case creates at least one workload element for setting up workloads on the at least one matching node, the control module for this purpose using the template contained in the at least one description element is used and inserts at least part of the resource marker assigned to the at least one matching node into this.
Die Erfindung ermöglicht mit anderen Worten das automatische Scheduling von Arbeitslasten (beispielsweise in Form von Pods/Container) anhand von Anlagenressourcen. Hierfür sind erfindungsgemäß die Verwendung eines oder mehrerer Beschrei bungselemente, die Verwendung von Ressourcen-Markern und ein Kontrollmodul vorgesehen. In other words, the invention enables the automatic scheduling of workloads (for example in the form of pods / containers) on the basis of system resources. For this purpose, the invention provides the use of one or more descriptive elements, the use of resource markers and a control module.
Selbstverständlich ist es möglich, dass mehrere Beschrei bungselemente bereitstehen oder bereitgestellt werden, in de nen jeweils Arbeitslasten angegeben sind, die auf Knoten ein zurichtend sind, die über in dem jeweiligen Beschreibungsele ment angegebene Anlagenressourcen verfügen, mit anderen Wor ten auf jeweils passenden Konten. Es umfasst dann ferner be vorzugt das jeweilige Beschreibungselement eine Schablone.Of course, it is possible that several descriptive elements are available or are made available, in each of which workloads are specified that are directed to nodes that have system resources specified in the respective descriptive element, in other words, on appropriate accounts. It then also preferably comprises the respective descriptive element a template.
Für den Fall, dass mehrere Beschreibungselemente bereitstehen bzw. bereitgestellt werden, betrifft bzw. beschreibt zweckmä ßiger Weise jedes der Beschreibungselemente eine andere Art von Arbeitslast bzw. gibt eine andere Art von Arbeitslast an. Die Beschreibungselemente können mit anderen Worten mehrfach insbesondere in der Konfiguration des Cluster-Systems vorlie gen, wobei dann jedoch zweckmäßiger Weise ein einzelnes Be schreibungselement jeweils immer nur eine Art von Arbeitslast bzw. gleichartige Arbeitslasten beschreibt. In the event that several description elements are available or are provided, each of the description elements relates or describes a different type of workload or specifies a different type of workload. In other words, the description elements can be present more than once, especially in the configuration of the cluster system, in which case, however, an individual description element always describes only one type of workload or similar workloads.
Das bzw. - im Falle mehrerer - das jeweilige Beschreibungs element, bei dem es sich beispielsweise um ein textuelles Be schreibungselement, etwa eine Textdatei, handeln kann, ver knüpft bevorzugt Anlagenressourcen und Arbeitslasten mitein ander. Das bzw. das jeweilige Beschreibungselement beschreibt insbesondere die einzurichtenden bzw. zu installierenden Ar beitslasten, die genau auf denjenigen Knoten einzurichten bzw. zu installieren sind, die über die ebenfalls in dem bzw. dem jeweiligen Beschreibungselement angegebenen bzw. genann ten Anlagenressourcen verfügen. Das bzw. die Beschreibungselemente können in einer Ausfüh rungsform auch als sogenannte "Plant Ressource Deployment Resources" oder kurz RDRs bezeichnet bzw., aufgefasst werden. In der Kubernetes-Welt gibt es die vorstehend bereits ange sprochenen sogenannten „Deployments" (="Deployment Re sources"). In Anlehnung und zugleich in Abgrenzung zu den heute bereits definierten „Deployments" (und „Daemon Sets") kann der spezialisierende Zusatz der „Plant Resource" verwen det werden. So kann verdeutlicht werden, dass auf Deployments von „Plant Resourcen" abgezielt werden kann. The or - in the case of several - the respective descriptive element, which can be a textual descriptive element, for example a text file, preferably links system resources and workloads with one another. The respective descriptive element describes in particular the workloads to be set up or installed that are to be set up or installed precisely on those nodes that have the system resources also specified or named in the respective descriptive element. In one embodiment, the description element or elements can also be referred to or understood as so-called “Plant Resource Deployment Resources” or RDRs for short. In the Kubernetes world there are the so-called "Deployments" (= "Deployment Resources") mentioned above. Based on and at the same time as a distinction to the "Deployments" (and "Daemon Sets") already defined today, the specializing addition the "Plant Resource" can be used. In this way it can be made clear that the deployment of "plant resources" can be targeted.
Bevorzugt ist ein Teil des bzw. des jeweiligen Beschreibungs elementes eine Schablone bzw. Vorlage, insbesondere eine Schablone bzw. Vorlage für die zu erzeugenden Arbeitslasten. Ein anderer Teil beschreibt zweckmäßiger Weise die erforder lichen bzw. zugehörigen Anlagenressourcen bzw. gibt diese an. A part of the or the respective descriptive element is preferably a template or template, in particular a template or template for the workloads to be generated. Another part appropriately describes or specifies the required or associated system resources.
Die Anlagenressourcen sind in dem oder dem jeweiligen Be schreibungselement bevorzugt in Form von erwarteten Ressour- cen-Marken oder in Form von erwarteten Teilen von Ressourcen- Marken angegeben sind. The system resources are preferably specified in the respective descriptive element in the form of expected resource marks or in the form of expected parts of resource marks.
Das Kontrollmodul, das auch als Ressource Deployment Control ler oder kurz RDC bezeichnet werden kann, kann sowohl das bzw. die Beschreibungselemente als auch vorhandene Ressour- cen-Marker automatisch auswerten. Hierzu hat das Kontroll modul Zugriff auf das wenigstens eine Beschreibungselement und den Arbeitsknoten zugeordnete Ressourcen-Marker. Das Kon trollmodul kann bevorzugt das wenigstens eine Beschreibungs element und Ressourcen-Marker wiederholt, etwa zyklisch, er fassen und auswerten. Weiterhin bevorzugt ermittelt das Kon trollmodul anhand des insbesondere in der Cluster-Konfigura tion hinterlegten wenigstens einen Beschreibungselementes bzw. der Beschreibungselemente, ob und welche passenden Arbeitsknoten insbesondere in Form von Knoten-Ressourcen (englisch: Node Resources) und bevorzugt in der Cluster- Konfiguration vorliegen, die die gewünschten Ressource-Marker besitzen bzw. mit diesen versehen sind und somit über die zu gehörigen Anlagenressourcen verfügen. Für den oder die pas senden Knoten erzeugt das Kontrollmodul automatisch Arbeits lastelemente, beispielsweise in Form von Pod Ressourcen (eng lisch: Pod Resources, kurz PRs) oder auch Deployments. The control module, which can also be referred to as the Resource Deployment Controller or RDC for short, can automatically evaluate both the description element or elements as well as existing resource markers. For this purpose, the control module has access to the at least one description element and resource markers assigned to the work node. The control module can preferably record and evaluate the at least one descriptive element and resource marker repeatedly, for example cyclically. Furthermore, the control module preferably uses the at least one description element or elements stored in the cluster configuration to determine whether and which suitable working nodes are available, in particular in the form of node resources and preferably in the cluster configuration that have the desired resource markers own or are provided with these and thus have the associated system resources. The control module automatically generates workload elements for the appropriate node or nodes, for example in the form of pod resources (English: pod resources, PRs for short) or deployments.
Anhand des bzw. der Arbeitslastelemente, insbesondere PRs bzw. Deployments kann dann ein Orchestrierungs-System, bei spielsweise Kubernetes, Arbeitslasten insbesondere in Form von Pods und/oder Containern auf dem bzw. dem jeweiligen Kno ten automatisch einrichten. Bei dem bzw. den Arbeitslastele menten kann es sich insbesondere um Kubernetes Pod Resources oder Kubernetes Deployments handeln. Using the workload element (s), in particular PRs or deployments, an orchestration system, for example Kubernetes, can then automatically set up workloads, in particular in the form of pods and / or containers, on the respective node. The workload element or elements can in particular be Kubernetes Pod Resources or Kubernetes Deployments.
Für den Fall, dass die Auswertung des Kontrollmoduls ergibt, dass mehrere passende Knoten vorhanden sind, erstellt das Kontrollmodul bevorzugt für jeden der passenden Knoten je weils wenigstens ein Arbeitslastelement. In the event that the evaluation of the control module shows that there are several matching nodes, the control module preferably creates at least one workload element for each of the matching nodes.
Mehr als ein Arbeitslastelement wird von dem Kontrollmodul besonders bevorzugt in demjenigen Falle für einen passenden Knoten erstellt, dass an dem passenden Knoten eine Anlagen ressource mehrfach vorhanden ist. Rein beispielhaft sei hier genannt, dass ein Knoten zwei oder mehr Netzwerkschnittstel len aufweist bzw. auf zwei oder mehr Subnetze, etwa Zellnetze Zugriff hat. More than one workload element is particularly preferably created by the control module for a suitable node in the event that a system resource is present several times at the suitable node. Purely by way of example, it should be mentioned here that a node has two or more network interfaces or has access to two or more subnetworks, for example cell networks.
Besonders bevorzugt betrifft das wenigstens eine von dem Kon trollmodul erstellte Arbeitslastelement wenigstens eine Ar beitslast in Form eines Containers und/oder Pods. Insbesonde re in diesem Falle können Arbeitslasten in Form von Contai nern auf dem oder dem jeweils wenigstens einen passenden Kno ten eingerichtet werden. Particularly preferably, the at least one workload element created by the control module relates to at least one workload in the form of a container and / or pod. In particular, in this case, workloads in the form of containers can be set up on the at least one matching node.
In weiterer vorteilhafter Ausgestaltung ist in dem wenigstens einen Beschreibungselement wenigstens eine Arbeitslast in Form einer virtuellen Netzwerkfunktion angegeben. In analoger Weise betrifft das wenigstens eine von dem Kontrollmodul er- stellte Arbeitslastelement bevorzugt wenigstens eine Arbeits last in Form einer virtuellen Netzwerkfunktion. Rein bespiel haft sei eine (virtuelle) NAT64-Funktion genannt. In a further advantageous embodiment, at least one workload is specified in the at least one description element in the form of a virtual network function. In an analogous way, this applies to at least one of the control module provided workload element preferably at least one workload in the form of a virtual network function. One example is a (virtual) NAT64 function.
Der Cluster ist mit dem industriellen Netzwerk einer Anlage oder Maschine verbunden bzw. nimmt an diesem Teil. The cluster is connected to the industrial network of a plant or machine or takes part in it.
Eine wesentliche Aufgabe des Kontrollmoduls besteht insbeson dere darin, Teile der (jeweiligen) Schablone mit konkreten Angaben über einzelne Anlagenressourcen zu ersetzen, um die finalen Arbeitslastelemente, insbesondere PRs bzw. Deploy- ments zu erhalten. Diese Angaben entstammen dabei bevorzugt den Ressourcen-Markern an den Arbeitsknoten bzw. an deren Stellvertretern in der Cluster-Konfiguration. One of the main tasks of the control module is in particular to replace parts of the (respective) template with specific information about individual system resources in order to obtain the final workload elements, in particular PRs or deployments. This information preferably comes from the resource markers on the work nodes or on their representatives in the cluster configuration.
Es sei angemerkt, dass nicht zwingend alle Knoten des Clus ters mit dem Anlagen- bzw. Maschinennetzwerk verbunden sein müssen, sondern dies auch nur für einen Teil der Knoten (im Grenzfall nur für einen Knoten) gelten kann. Ressourcen- Marker können in diesem Falle nur für solche Knoten vorge sehen sein, die an dem Anlagen- bzw. Maschinennetzwerk teil nehmen, da insbesondere diese über Anlagenressourcen verfü gen. It should be noted that not all nodes of the cluster have to be connected to the system or machine network, but that this can only apply to some of the nodes (in the borderline case only to one node). In this case, resource markers can only be provided for those nodes that take part in the plant or machine network, since these in particular have plant resources.
Bei den Ressourcen-Markern handelt es sich insbesondere um Markierungen. The resource markers are, in particular, markings.
Im Fall eines als Industrial Edge mit zwei Zellennetzwerken gegebenen Cluster-Knotens beispielsweise können die Ressour- cen-Marker zum Beispiel die konkreten Namen der Hardware- Netzwerkschnittstellen "ens33p0" und "ens42p66" aufführen. Daraus würde das Kontrollmodul dann zwei PRs erzeugen, wobei eine der PRs die konkrete Angabe der Netzwerkschnittstelle "ens33p0" enthält, während die andere PR stattdessen "ens42p66" angibt. In the case of a cluster node given as an industrial edge with two cell networks, for example, the resource markers can, for example, list the specific names of the hardware network interfaces "ens33p0" and "ens42p66". The control module would then generate two PRs from this, with one of the PRs containing the specific information about the network interface "ens33p0", while the other PR indicates "ens42p66" instead.
Durch die erfindungsgemäße Verwendung einer Schablone für die auf passenden Knoten einzurichtenden Arbeitslasten wird dabei ein besonders effizienter Ablauf gewährleistet. Die Schablone kann von dem Kontrollmodul anhand der Anlagenressourcen eines passenden Arbeitsknotens angepasst bzw. "befüllt" werden. The inventive use of a template for the workloads to be set up on matching nodes is thereby a particularly efficient process is guaranteed. The template can be adapted or "filled" by the control module on the basis of the system resources of a suitable work node.
Ein Beispiel eines Beschreibungselementes kann lauten: kind: di.Siemens.com/ResourceDeployment metadata: name: nat64 spec: matchResource: di.Siemens.com/cellnets template: An example of a description element can be: kind: di.Siemens.com/ResourceDeployment metadata: name: nat64 spec: matchResource: di.Siemens.com/cellnets template:
# pod template for plant (equipment) resource Containers: # pod template for plant (equipment) resource containers:
- name: nat64 args: ["/bin/nat64", "-i", "{di.Siemens.com/cellnets:i}"] - name: nat64 args: ["/ bin / nat64", "-i", "{di.Siemens.com/cellnets:i}"]
In diesem rein beispielhaften Beschreibungselement ist das „i-te" Element in der Liste der passenden (matching) Anlagen- ressorucen (Plant/Equipment Resources). Diese sind hier unter „matchResource:" vom Typ „di.siemens.com/cellnets", wobei es dafür jeweils 0..n Werte geben kann. „:i" setzt der Reihe nach diese konkreten Werte ein. Entsprechend des weiter unten fortgesetzten Beispiels der Reihe nach „ens33p0" und „ens42p66". In this purely exemplary description element, the "i th" element in the list of matching plant resources (Plant / Equipment Resources) is. These are here under "matchResource:" of the type "di.siemens.com/cellnets" , whereby there can be 0..n values for each. ": i" inserts these concrete values one after the other. According to the example continued below, "ens33p0" and "ens42p66" one after the other.
Gemäß diesem rein beispielhaften Beschreibungselement sollen (virtuelle) NAT64-Router auf all denjenigen Cluster-Arbeits knoten (beispielsweise in Form von Industrial Edges) einge richtet werden, die Zellennetze als Anlagenressourcen besit zen bzw. denen solche zugeordnet sind. Bei den einzurichten den Arbeitslasten handelt es sich bei diesem Beispiel um virtuelle Netzwerkfunktionen, konkret virtuelle NAT64-Router- Funktionen. Der mit "template" beginnende Teil in dem vorstehenden Bei spiel ist dabei die Schablone für einzurichtende Arbeitslas ten. According to this purely exemplary description element, (virtual) NAT64 routers are to be set up on all those cluster work nodes (for example in the form of industrial edges) that have cell networks as plant resources or to which such are assigned. The workloads to be set up in this example are virtual network functions, specifically virtual NAT64 router functions. The part beginning with "template" in the previous example is the template for workloads to be set up.
Ein Beispiel eines durch ein Deployment gegebenen Arbeitslas telementes lautet: kind: Deployment metadata: name: nat64-grmpf-12 template: metadata: An example of a workload telement given by a deployment is: kind: Deployment metadata: name: nat64-grmpf-12 template: metadata:
# ... spec: template: nodeName: indedge-42 Containers : # ... spec: template: nodeName: indedge-42 Containers:
- name: nat64 args: ["/bin/nat64", "-i", "ens42p66"] - name: nat64 args: ["/ bin / nat64", "-i", "ens42p66"]
Das Kontrollmodul führt seine Tätigkeit bevorzugt dauerhaft aus. Die Auswertung des bzw. der Beschreibungselemente und des bzw. der Ressource-Marker kann beispielsweise zyklisch erfolgen. The control module preferably carries out its activity permanently. The evaluation of the description element (s) and the resource marker (s) can be carried out cyclically, for example.
In weiterer bevorzugter Ausgestaltung sorgt das Kontrollmodul nicht nur dafür, dass neue Arbeitslasten bei neu hinzugekom menen Anlagenressourcen eingerichtet werden, sondern entfernt auch wieder solche Arbeitslasten, deren (zugehörige) Anlagen ressourcen entfernt wurden. In Weiterbildung ist daher vorge sehen, dass für den Fall, dass an wenigstens einem Arbeits knoten Anlagenressourcen wegfallen, von dem Kontrollmodul wenigstens eine für den wenigstens einen betroffenen Knoten eingerichtete Arbeitslast wieder entfernt wird. Diese Ausfüh rungsform bietet mit anderen Worten eine Art "Aufräummecha- nismus Beispielsweise kann ein Soll-Zustand der erforderlichen Ar beitslasten bereitgestellt und/oder ermittelt werden und der aktuelle Ist-Zustand der betreffenden Arbeitslasten bereitge stellt und/oder ermittelt werden und dann der Soll-Zustand mit dem aktuellen Ist-Zustand verglichen werden. Ist (sic?) nun eine Arbeitslast im Ist-Zustand, nicht aber im Soll-Zu- stand enthalten, dann wird sie bevorzugt (kontrolliert) be endet. Dazu genügt es beispielsweise, dass das Kontrollmodul die betreffende einzelne Deployment Ressource löscht, was technisch zunächst nur eine Vormerkung zum Löschen ist. Von hier aus können dann die heute bereits bekannten Mechanismen greifen, in dem Sinne, dass beispielsweise ein Knoten-Kubelet die Vormerkung zum Löschen erkennt und daraufhin das Contai ner-Ablaufsystem zum Löschen der Arbeitslast, insbesondere des Pods/Containers veranlasst. In a further preferred embodiment, the control module not only ensures that new workloads are set up for newly added system resources, but also removes again those workloads whose (associated) system resources have been removed. In a further development it is therefore provided that in the event that system resources are lost at at least one work node, at least one workload set up for the at least one affected node is removed again from the control module. In other words, this embodiment offers a kind of "clean-up mechanism" For example, a target status of the required workloads can be provided and / or determined and the current actual status of the relevant workloads can be provided and / or determined and the target status can then be compared with the current actual status. If (sic?) A workload is now contained in the actual state, but not in the target state, then it is terminated preferentially (in a controlled manner). For this purpose, it is sufficient, for example, for the control module to delete the relevant individual deployment resource, which is technically only a preregistration for deletion. From here, the mechanisms already known today can take effect, in the sense that, for example, a node kubelet recognizes the reservation for deletion and then causes the container flow system to delete the workload, in particular the pod / container.
Als Beispiele für das Hinzukommen und Wegfallen von Anlagen ressourcen seien das Hinzufügen oder Entfernen einer Hard- ware-Netzwerk-Schnittstelle genannt, oder eine lokale Konfi gurationsaktion eines Anwenders an einer Industrial Edge, mit der er Geräteressourcen für den Cluster zuordnet oder wieder entfernt. Examples of adding or removing system resources include adding or removing a hardware network interface, or a local configuration action by a user at an industrial edge, with which he assigns device resources for the cluster or removes them again.
Durch die erfindungsgemäße Vorgehensweise kann die Komplexi tät beim Orchestrieren von Arbeitslasten, die entsprechend von Anlagenressourcen verteilt werden müssen, deutlich redu ziert werden. Die Erfindung ermöglicht eine besonders effizi ente Einbindung in die Steuerungsebene (Control Plane) des industriellen Clusters. Effizient ist dabei im Sinne eines möglichst wenig komplexen Engineerings/Konfiguration der Ar beitslasten zu verstehen. Und zwar derjenigen Arbeitslasten, die direkt mit Anlagenressourcen verknüpft sind. The procedure according to the invention enables the complexity when orchestrating workloads that have to be distributed accordingly by system resources to be significantly reduced. The invention enables a particularly efficient integration into the control plane (control plane) of the industrial cluster. Efficient is to be understood in the sense of the least complex engineering / configuration of the workloads. The workloads that are directly linked to plant resources.
Das Scheduling der Arbeitslasten findet dabei nicht auf Kno ten-Ebene statt, sondern auf der Ebene der Anlagenressourcen, die dem (jeweiligen) Knoten zugeordnet sind. Es können ferner die auf den einzelnen Arbeitsknoten benötigten Überwachungs- Ressourcen zur Überwachung von Anlagenressourcen minimiert werden, da das Kontrollmodul dies insbesondere zentral über nimmt. The scheduling of the workloads does not take place at the node level, but at the level of the system resources that are assigned to the (respective) node. Furthermore, the monitoring resources required on the individual working nodes for monitoring system resources can be minimized because the control module takes this over centrally.
Anlagenressourcen sind insbesondere Ressourcen, die zu der Anlage oder Maschine gehören bzw. die der Anlage oder Maschi ne zugeordnet sind. Es sind beispielsweise Ressourcen, die jeweils von einem oder mehreren Geräten, insbesondere Automa tisierungsgeräten, und/oder einer oder mehreren anderen Kom ponenten, insbesondere anderen Automatisierungskomponente, und/oder einem oder mehreren Bereichen, etwa Zellnetzen oder dergleichen, der Anlage oder Maschine gebildet werden oder welche eines oder mehrere Geräte, insbesondere Automatisie rungsgeräte, und/oder eine oder mehrere andere Komponenten, insbesondere andere Automatisierungskomponenten, und/oder einer oder mehrere Bereiche der Anlage oder Maschine haben. Anlagenressourcen können beispielsweise auch in Form von An lagen- bzw. Geräteausstattung(en) - auch Software-basierter Ausstattung - vorliegen. Plant resources are in particular resources that belong to the plant or machine or that are assigned to the plant or machine. There are, for example, resources that are each formed by one or more devices, in particular automation devices, and / or one or more other components, in particular other automation components, and / or one or more areas, such as cell networks or the like, of the system or machine or which have one or more devices, in particular automation devices, and / or one or more other components, in particular other automation components, and / or one or more areas of the system or machine. Plant resources can also be present, for example, in the form of plant or device equipment - including software-based equipment.
Dass ein Arbeitsknoten über Anlagenressourcen, insbesondere spezifische Anlagenressourcen verfügt kann insbesondere be deuten, dass er Zugriff auf insbesondere spezifische Anlagen ressourcen hat. Der Anlage oder Maschine zugeordnete Ressour cen, also Anlagenressourcen, können direkt bei dem jeweiligen Knoten liegen, etwa durch eine insbesondere Anlagen- bzw. Ma- schinen-spezifische Ausstattung beispielsweise in Form we nigstens eines insbesondere der Anlage oder Maschine oder einer Komponente dieser zugeordneten oder damit in Beziehung stehenden Hardware- oder Software-Elements des jeweiligen Knotens selber vorliegen, und/oder auch bei bzw. auf von dem jeweiligen Knoten separaten Geräten/Modulen/Elementen/Anla- genteilen. The fact that a work node has system resources, in particular specific system resources, can in particular mean that it has access to, in particular, specific system resources. Resources assigned to the system or machine, that is to say system resources, can be located directly at the respective node, for example by means of equipment-specific or machine-specific equipment, for example in the form of at least one particular or component assigned to the system or machine or a component thereof related hardware or software elements of the respective node itself are present, and / or also with or on devices / modules / elements / system parts separate from the respective node.
Ein Knoten kann beispielsweise über (von ihm separate) Anla genressourcen verfügen, weil er Zugriff auf ein Gerät und/oder eine Komponente und/oder einen Bereich der Anla ge/Maschine hat bzw. mit einem Gerät und/oder einer Komponen te und/oder einem Bereich der Anlage/Maschine (ggf. direkt) verbunden ist, welches bzw. welche bzw. welcher eine Anlagen ressource darstellt bzw. seiner-/ihrerseits Anlagenressourcen hat. Als Beispiele für Anlagenressourcen, die in einer Anla ge/Maschine vorhanden sein können, seien wenigstens eine Robotersteuerung und/oder wenigstens eine speicherprogram mierbare Steuerung genannt. Auf solche Komponenten kann ein Arbeitsknoten beispielsweise Zugriff haben, ggf., weil der Knoten direkt mit diesen verbunden ist. Als weitere Beispiele von Anlagenressourcen sei eine Netzwerkkarte als Zugang bei spielsweise zu Automatisierungs(teil)netzwerken innerhalb von Fertigungszellen oder auch ein Knoten-spezifischer Service, wie beispielsweise die Programmier-API einer Robotersteuerung oder dergleichen genannt. A node can, for example, have system resources (separate from it) because it has access to a device and / or a component and / or an area of the system / machine or with a device and / or a component and / or an area of the system / machine (possibly directly) is connected, which or which or which represents a plant resource or his / her part has plant resources. Examples of system resources that can be present in a system / machine include at least one robot controller and / or at least one memory-programmable controller. A working node can, for example, have access to such components, possibly because the node is directly connected to them. Further examples of system resources include a network card as access, for example, to automation (sub) networks within manufacturing cells or a node-specific service, such as the programming API of a robot controller or the like.
In besonders bevorzugter Ausgestaltung ist vorgesehen, dass die Ressourcen-Marker, die den über Anlagenressourcen verfü genden Knoten zugeordnet sind oder werden, jeweils einen ers ten und einen zweiten Teil umfassen. In a particularly preferred embodiment, it is provided that the resource markers that are or will be assigned to the nodes that have system resources each include a first and a second part.
Dabei gilt weiter bevorzugt, dass der erste Teil angibt, dass der jeweilige Knoten über eine bestimmte Anlagenressource ein- oder mehrfach verfügt, und der zweite Teil alle Anlagen ressourcen, über die der jeweilige Knoten verfügt, auflistet. Eine solcher Marker-Aufbau ermöglicht es insbesondere anderen Komponenten bzw. Modulen eines Cluster-Konfigurations- bzw. - Orchestrierungs-Systems bzw. -Tools, wie Kubernetes, etwa einem Ressourcen-Deployment-Controller, bei möglichst gerin ger Last für das System bzw. Tool die Anlagenressourcen aus findig zu machen. It is further preferred that the first part indicates that the respective node has one or more facilities at its disposal, and the second part lists all the system resources that the respective node has at its disposal. Such a marker structure in particular enables other components or modules of a cluster configuration or orchestration system or tools, such as Kubernetes, for example a resource deployment controller, with the least possible load for the system or Tool to make the system resources from resourceful.
Der erste Teil kann beispielsweise in Form eines "Labels", insbesondere Kubernetes-Labels gegeben sein bzw. ein solches umfassen. Der erste Teil signalisiert dabei, dass eine be stimmte Anlagenressource ein oder mehrfach an einem Knoten bereitsteht. Auf diese Weise kann das Konfigurationssystem des Clusters sehr effizient entscheiden, ob und wie das Kon- trollmodul über das Vorhandensein bzw. Nicht-Vorhandensein zu benachrichtigen ist. Das Konfigurationssystem kann hierbei sehr effizient auf den ersten Teil, insbesondere ein Label und dessen (eingeschränkte) Werte filtern, ohne dass es mit Wertelisten (Arrays) arbeitet bzw. arbeiten muss. The first part can, for example, be in the form of a “label”, in particular a Kubernetes label, or include one. The first part signals that a certain system resource is available one or more times at a node. In this way, the configuration system of the cluster can decide very efficiently whether and how the control module is to be notified of the presence or absence. The configuration system can do this filter very efficiently on the first part, in particular a label and its (restricted) values, without having to work or have to work with value lists (arrays).
Ein solches Label kann beispielsweise "cellnetworks" mit dem leeren Wert "" sein; es genügt hierbei bereits die Existenz des Labels, der Wert hingegen ist unerheblich, da mit dem ersten Teil die konkreten einzelnen Anlagenressourcen (noch) nicht aufgeführt werden. Such a label can be, for example, "cellnetworks" with the empty value ""; the existence of the label is sufficient, but the value is irrelevant because the first part does not (yet) list the specific individual system resources.
Über den ersten Teil wird es insbesondere möglich, ein Clus ter-Konfigurationssystem zu nutzen, welches keine Joker in den Namen von Labein erlaubt, wie es bei den vorbekannten Systemen in der Regel der Fall ist. The first part makes it possible, in particular, to use a cluster configuration system that does not allow any jokers in the names of Labein, as is usually the case with the previously known systems.
Der zweite Teil des (jeweiligen) Ressourcen-Markers kann bei spielsweise in Form einer "Annotation", insbesondere Kuberne- tes-Annotation vorliegen bzw. eine solche umfassen. Der zwei te Teil des Ressourcen-Markers listet bevorzugt alle Anlagen ressourcen auf, insbesondere, da hier die vorgenannten Rest riktionen bekannter Cluster-Konfigurationssystems entfallen. The second part of the (respective) resource marker can, for example, be in the form of an “annotation”, in particular Kubernes annotation, or contain such. The second part of the resource marker preferably lists all system resources, especially since the aforementioned restrictions of known cluster configuration systems do not apply here.
Der zweite Teil kann beispielsweise den gleichen Namen umfas sen, wie der erste, jedoch mit einem Wert. Passend zum vorge nannten Beispiel von "cellnetworks" mit dem leeren Wert "" als erstem Teil (Label) kann der zweite Teil ebenfalls den Namen „cellnetworks" etwa mit dem Wert „ens33p0,ens42p66" umfassen. For example, the second part can have the same name as the first, but with a value. In keeping with the aforementioned example of "cellnetworks" with the empty value "" as the first part (label), the second part can also include the name "cellnetworks", for example with the value "ens33p0, ens42p66".
In weiterer besonders vorteilhafter Ausgestaltung umfasst der (jeweilige) Ressourcen-Marker entsprechend wenigstens ein La bel, insbesondere Kubernetes-Label, und/oder wenigstens eine Annotation, insbesondere Kubernetes-Annotation. In a further particularly advantageous embodiment, the (respective) resource marker accordingly comprises at least one label, in particular Kubernetes label, and / or at least one annotation, in particular Kubernetes annotation.
Ein Ressourcen-Marker mit einem ersten Teil in Form eines (Kubernetes-)Labels und einem zweiten Teil in Form einer (Kubernetes-)Annotation kann dann beispielsweise lauten: kind: Node metadata: labels: di.siemens.com/cellnets: "" annotations: di.Siemens.com/cellnets: "ens33p0,ens42p66" A resource marker with a first part in the form of a (Kubernetes) label and a second part in the form of a (Kubernetes) annotation can then read, for example: kind: Node metadata: labels: di.siemens.com/cellnets: "" annotations: di.Siemens.com/cellnets: "ens33p0, ens42p66"
Dieser rein beispielhafte Ressourcen-Marker könnte insbeson dere für Cluster-Arbeitsknoten vorgesehen sein, die Zellnetze als Anlagenressource besitzen bzw. denen Zellennetze ("cell nets") als Anlagenressource zugeordnet sind. Unter Zellnetzen sind dabei in aus dem Bereich der Automatisierungstechnik vorbekannter Weise insbesondere einzelne Produktionszellen bzw. Netze/Netzwerke einzelner Produktionszellen, von denen eine Automatisierungsanlage bzw. -maschine mehrere umfassen kann, zu verstehen. This purely exemplary resource marker could in particular be provided for cluster work nodes which have cell networks as system resources or to which cell networks ("cell nets") are assigned as system resources. Cell networks are to be understood, in a manner previously known from the field of automation technology, in particular for individual production cells or networks / networks of individual production cells, of which an automation system or machine can comprise several.
Für eine oder mehrere andere Arten von Anlagenressourcen kön nen dann insbesondere Ressourcen-Marker vorgesehen sein bzw. verwendet werden, die andere (zu der bzw. zu jeweils den an deren Ressourcenarten gehörige) Bezeichnungen im ersten Teil, insbesondere Label, aufweisen. Bevorzugt kommen für verschie dene Arten von Anlagenressourcen Ressourcen-Marker zum Ein satz, die sich in ihren ersten Teilen, insbesondere in den Labein, unterscheiden. For one or more other types of system resources, resource markers in particular can then be provided or used which have other designations (belonging to the other resource types) in the first part, in particular labels. Resource markers, which differ in their first parts, in particular in the labels, are preferably used for various types of system resources.
Weiterhin bevorzugt wurde oder wird den über Anlagenressour cen verfügenden Knoten der (jeweilige) Ressourcen-Marker zu geordnet, indem der (jeweilige) Ressourcen-Marker einem in einer Cluster-Konfiguration für den jeweiligen Knoten vorhan denen Stellvertreter-Element, insbesondere einer Spiegel- bzw. Knoten-Ressource, zugeordnet wird oder wurde. Eine Spie gel- bzw. Knoten-Ressource kann auch als Node-Ressource be zeichnet werden. Furthermore, preference was or is assigned to the (respective) resource marker to the nodes having system resources, in that the (respective) resource marker is a proxy element that exists in a cluster configuration for the respective node, in particular a mirror or . Node resource that is or has been allocated. A mirror or node resource can also be referred to as a node resource.
Das Hinterlegen der Ressource-Marker an den Stellvertreter- Elementen, insbesondere Knoten-Ressourcen, kann beispielswei se manuell als Teil der Cluster-Konfiguration erfolgen bzw. erfolgt sein. Selbstverständlich ist es auch möglich, dass Ressourcen-Marker Stellvertreter-Elementen automatisch zuge wiesen werden, Ressourcen-Marker insbesondere automatisch an Stellvertreter-Elementen, etwa Knoten-Ressourcen, hinterlegt werden. The resource markers can be stored on the representative elements, in particular node resources, for example manually as part of the cluster configuration. be done. Of course, it is also possible for resource markers to be automatically assigned to substitute elements, and resource markers, in particular, to be automatically stored on substitute elements, for example node resources.
Zweckmäßiger Weise kommt ein Orchestrierungs-System, wie etwa Kubernetes, zum Einsatz, um die Arbeitslasten auf dem oder dem jeweils wenigstens einen passenden Knoten einzurichten. Die Arbeitslasten werden dann bevorzugt in Form von Pods und/oder Containern von dem Orchestrierungs-System eingerich tet. An orchestration system, such as Kubernetes, is expediently used to set up the workloads on the at least one suitable node or nodes. The workloads are then preferably set up by the orchestration system in the form of pods and / or containers.
Das Kontrollmodul steht dann bevorzugt mit dem Orchestrie rungs-System in kommunikativer Verbindung oder ist Bestand teil des Orchestrierungs-Systems. Das Orchestrierungs-System kann insbesondere auf Basis des wenigstens einen von dem Kon trollmodul erzeugten Arbeitslastelementes zugehörige Arbeits lasten auf dem oder dem jeweils wenigstens einen passenden Knoten einrichtet. Insbesondere kann das bzw. können die von dem Kontrollmodul erzeugten Arbeitslastelemente von dem Or chestrierungs-System automatisch erkannt werden und die nöti gen Arbeitslasten, insbesondere Pods und/oder Container, kön nen von dem Orchestrierungs-System auf Basis bzw. anhand des bzw. der Arbeitslastelemente auf den entsprechenden Knoten eingerichtet werden. The control module is then preferably in communicative connection with the orchestration system or is part of the orchestration system. The orchestration system can, in particular, based on the at least one workload element generated by the control module, set up associated workloads on the respective at least one matching node. In particular, the workload elements generated by the control module can be automatically recognized by the orchestration system and the necessary workloads, in particular pods and / or containers, can be generated by the orchestration system on the basis of or using the Workload items can be set up on the corresponding nodes.
Das Kontrollmoduls kann in Software oder Hardware oder auch einer Kombination aus Software und Hardware implementiert sein. Beispielsweise kann auf wenigstens einem der Arbeits knoten wenigstens ein Kontrollmodul insbesondere in Software implementiert sein. The control module can be implemented in software or hardware or a combination of software and hardware. For example, at least one control module, in particular in software, can be implemented on at least one of the work nodes.
Die Schritte des erfindungsgemäßen Verfahrens können in be vorzugter Ausgestaltung von einem oder auch mehreren insbe sondere beliebigen Arbeitsknoten des Clusters ausgeführt wer den. Hierfür kommen insbesondere einer oder auch mehrere so- genannten Master-Knoten, die bevorzugt rein für die Cluster- Orchestrierung zuständig sind, in Frage. In a preferred embodiment, the steps of the method according to the invention can be carried out by one or even more, in particular, any working nodes of the cluster. In particular, one or more so- named master nodes, which are preferably purely responsible for cluster orchestration, are in question.
Die Erfindung betrifft auch einen Cluster-Arbeitsknoten, der zur Durchführung des erfindungsgemäßen Verfahrens ausgebildet und/oder eingerichtet ist. Der Cluster-Arbeitsknoten umfasst bevorzugt ein Kontrollmodul, das dazu ausgebildet und/oder eingerichtet ist The invention also relates to a cluster work node which is designed and / or set up to carry out the method according to the invention. The cluster work node preferably comprises a control module which is designed and / or set up for this purpose
- wenigstens ein Beschreibungselement, in dem Arbeitslas ten angegeben sind, die auf Cluster-Arbeitsknoten einzu richtend sind, die über in dem oder dem jeweiligen Be schreibungselement angegebene Anlagenressourcen verfü gen, passende Konten, wobei das oder das jeweilige Be schreibungselement eine Schablone umfasst, und Cluster- Knoten zugeordnete Ressourcen-Marker auszuwerten und zu ermitteln, ob wenigstens ein passender Knoten vorhanden ist, At least one description element in which workloads are specified that are to be set up on cluster work nodes that have system resources specified in the respective description element, matching accounts, with the respective description element comprising a template, and Evaluate resource markers assigned to cluster nodes and determine whether at least one matching node is available,
- für den Fall, dass dem so ist, wenigstens ein Arbeits lastelement für die Einrichtung von Arbeitslasten auf dem wenigstens einen passenden Knoten zu erstellen, wo bei das Kontrollmodul hierzu die in dem wenigstens einen Beschreibungselement enthaltene Schablone verwendet und in diese zumindest einen Teil des dem wenigstens einen passenden Knoten zugeordneten Ressourcen-Markers ein fügt. - In the event that this is so, to create at least one work load element for setting up workloads on the at least one matching node, where the control module uses the template contained in the at least one description element and in this at least part of the dem inserts at least one resource marker associated with a matching node.
Bei einem Cluster-Arbeitsknoten kann es sich beispielsweise um ein (separates) Gerät bzw. eine (separate) Hardware-Kompo nente handeln. Selbstverständlich ist es auch möglich, dass ein Arbeitsknoten als "Software-Arbeitsknoten" vorliegt, etwa in Form eines Computerprogrammes bzw. einer Computerprogramm- Sammlung, die auf einer zu dessen/deren Ausführung ausgebil deten Einrichtung, etwa einem PC oder einer anderen Rechen einrichtung oder einem beliebigen anderen Gerät, abgelegt ist. A cluster work node can, for example, be a (separate) device or a (separate) hardware component. Of course, it is also possible for a working node to be present as a "software working node", for example in the form of a computer program or a computer program collection, which is installed on a device designed to execute it, such as a PC or other computing device or any other device.
Ein erfindungsgemäßer Arbeitsknoten kann wenigstens eine vir tuelle Maschine (VM) umfassen oder durch eine solche gegeben sein. Ein Arbeitsknoten kann beispielsweise auch in eine Au tomatisierungskomponente, etwa eine Steuerung, oder in ein anderes Gerät integriert sein, dies sowohl in Form von Hard ware- als auch Software. Es ist auch möglich, dass ein erfin dungsgemäßer Arbeitsknoten wenigstens einer Automatisierungs komponente zugeordnet ist. Ein Cluster-Arbeitsknoten kann auch durch einen entsprechend eingerichteten Industrie-Compu ter bzw. -PC gegeben sein bzw. einen solchen umfassen. A working node according to the invention can comprise or be given by at least one virtual machine (VM) be. A work node can, for example, also be integrated into an automation component, such as a controller, or into another device, both in the form of hardware and software. It is also possible that a working node according to the invention is assigned to at least one automation component. A cluster work node can also be provided by or comprise an appropriately set up industrial computer or PC.
Besonders bevorzugt handelt es sich bei dem Arbeitsknoten um ein Edge-Gerät, insbesondere Industrial-Edge-Gerät. Unter einem Edge-Gerät ist insbesondere ein Gerät zu verstehen, welches die bzw. wenigstens eine Funktion des Edge-Computings ausführt (zum Edge-Computing siehe z.B. https://de.wikipedia.org/wiki/Edge_Computing). Ein Industri al-Edge-Gerät kann beispielsweise durch einen Industrie-Com puter gegeben sein, der eine Edge-Computing Funktion aus führt. The working node is particularly preferably an edge device, in particular an industrial edge device. An edge device is to be understood in particular as a device that performs the or at least one function of edge computing (for edge computing, see e.g. https://de.wikipedia.org/wiki/Edge_Computing). An industrial edge device can be given, for example, by an industrial computer that performs an edge computing function.
Der erfindungsgemäße Arbeitsknoten ist in vorteilhafter Aus gestaltung ausgebildet und/oder eingerichtet, um eines oder mehrere der vorstehend beschriebenen bevorzugten Merkmale zu realisieren. Soweit die vorstehen beschrieben Merkmale das Kontrollmodul betreffen, gilt, dass das Kontrollmodul bevor zugt entsprechend ausgebildet und/oder eingerichtet ist. Ins besondere kann der hier angegebene Cluster-Arbeitsknoten auch entsprechend der abhängigen Verfahrensansprüche weitergebil det sein und umgekehrt. The working node according to the invention is designed and / or set up in an advantageous embodiment in order to implement one or more of the preferred features described above. Insofar as the features described above relate to the control module, it applies that the control module is preferably designed and / or set up accordingly. In particular, the cluster work node specified here can also be further developed in accordance with the dependent method claims and vice versa.
Ein weiterer Gegenstand der Erfindung ist ein Cluster umfas send einen oder mehrere Arbeitsknoten, wobei der Cluster zur Durchführung des erfindungsgemäßen Verfahrens ausgebildet und/oder eingerichtet ist. Another subject matter of the invention is a cluster comprising one or more working nodes, the cluster being designed and / or set up to carry out the method according to the invention.
Die Erfindung betrifft darüber hinaus auch ein insbesondere industrielles Netzwerk, das wenigstens einen erfindungsgemä ßen Cluster-Arbeitsknoten umfasst. Ein weiterer Gegenstand der vorliegenden Erfindung ist ein Computerprogramm umfassend Programmcode-Mittel, die bei der Ausführung des Programms auf wenigstens einem Computer den wenigstens einen Computer veranlassen, die Schritte des er findungsgemäßen Verfahrens durchzuführen. The invention also relates, in particular, to an industrial network which comprises at least one cluster working node according to the invention. Another subject matter of the present invention is a computer program comprising program code means which, when the program is executed on at least one computer, cause the at least one computer to carry out the steps of the method according to the invention.
Darüber hinaus betrifft die Erfindung ein computerlesbares Medium, das Instruktionen umfasst, die, wenn sie auf wenigs tens einem Computer ausgeführt werden, den wenigstens einen Computer veranlassen, die Schritte des erfindungsgemäßen Ver fahrens durchzuführen. In addition, the invention relates to a computer-readable medium which comprises instructions which, when they are executed on at least one computer, cause the at least one computer to carry out the steps of the method according to the invention.
Bei dem computerlesbaren Medium kann es sich beispielsweise um eine CD-ROM oder DVD oder einen USB oder Flash Speicher handeln. Es sei angemerkt, dass unter einem computerlesbaren Medium nicht ausschließlich ein körperliches Medium zu ver stehen sein soll, sondern ein solches beispielswiese auch in Form eines Datenstromes und/oder eines Signals, welches einen Datenstrom repräsentiert, vorliegen kann. The computer-readable medium can be, for example, a CD-ROM or DVD or a USB or flash memory. It should be noted that a computer-readable medium should not be understood exclusively as a physical medium, but rather such a medium can also be present, for example, in the form of a data stream and / or a signal that represents a data stream.
Weitere Merkmale und Vorteile der vorliegenden Erfindung wer den anhand der nachfolgenden Beschreibung erfindungsgemäßer Ausführungsformen unter Bezugnahme auf die beiliegende Zeich nung deutlich. Darin ist Further features and advantages of the present invention who based on the following description of embodiments of the invention with reference to the accompanying drawing voltage clearly. In it is
Figur 1 eine rein schematische Teildarstellung eines in dustriellen Netzwerkes mit einem Cluster mit mehre ren Cluster-Arbeitsknoten; FIG. 1 shows a purely schematic partial representation of an industrial network with a cluster with several cluster working nodes;
Figur 2 eine schematische Darstellung zum Ablauf eines Aus führungsbeispiel des erfindungsgemäßen Verfahrens; und FIG. 2 shows a schematic representation of the sequence of an exemplary embodiment of the method according to the invention; and
Figur 3 eine rein schematische Teildarstellung eines in dustriellen Netzwerkes mit einem Cluster mit mehre ren Arbeitskonten, der auf erfindungsgemäße Weise betrieben wird. Die Figur 1 zeigt eine rein schematische Teildarstellung eines industriellen Netzwerkes, an dem mehrere Arbeitsknoten 1 eines Clusters 2 teilnehmen. Die Knoten 1 sind vorliegend durch Industrial-Edge-Geräte, konkret Industrie-PCs, die eine Edge-Computing-Funktion übernehmen, gegeben. Alternativ dazu können Knoten 1 auch durch virtuelle Maschinen (VMs) gegeben sein, die etwa auf einem leistungsfähigen Industrie-PC mit mehreren CPUs oder auf einem Blade-PC insbesondere zusammen mit anderen Elementen und beispielsweise in einem klimati sierten Rechenzentrum etc. implementiert sind. FIG. 3 shows a purely schematic partial representation of an industrial network with a cluster with several work accounts, which is operated in the manner according to the invention. FIG. 1 shows a purely schematic partial representation of an industrial network in which several working nodes 1 of a cluster 2 participate. In the present case, the nodes 1 are provided by industrial edge devices, specifically industrial PCs that take on an edge computing function. Alternatively, nodes 1 can also be provided by virtual machines (VMs) that are implemented on a powerful industrial PC with several CPUs or on a blade PC, especially together with other elements and, for example, in an air-conditioned data center, etc.
Es sei angemerkt, dass in der Teildarstellung nur beispiel haft zwei der Arbeitsknoten 1 des Cluster 2 dargestellt sind, und dieser noch weitere Arbeitsknoten aufweisen 1 kann bzw. aufweist. Darüber hinaus können an dem industriellen Netzwerk in an sich bekannter Weise noch weitere Komponenten teilneh men, bzw. nehmen in an sich bekannter Weise noch weitere Kom ponenten teil, etwa Automatisierungskomponenten in Form von Steuerungen, wie PLCs, IO-Geräten, HMI-Panels und so weiter. It should be noted that in the partial illustration only two of the working nodes 1 of the cluster 2 are shown by way of example, and this cluster can have 1 or has further working nodes. In addition, other components can also participate in the industrial network in a manner known per se, or take part in a manner known per se, such as automation components in the form of controls such as PLCs, IO devices, HMI panels and so on.
Jeder der beiden dargestellten Arbeitsknoten 1 ist mit einem oder mehreren Zellennetzwerken 3 verbunden. Each of the two working nodes 1 shown is connected to one or more cell networks 3.
Auf den Knoten 1 sollen - für jedes der Zellennetzwerke 3 Ar beitslasten eingerichtet werden, konkret in Form von Contai nern 4, die bei dem dargestellten Ausführungsbeispiel virtu ellen Netzwerkfunktionen betreffen bzw. virtuelle Netzwerk funktionen realisieren. On the node 1, work loads are to be set up for each of the cell networks 3, specifically in the form of containers 4, which in the illustrated embodiment relate to virtual network functions or to implement virtual network functions.
Mit den aus der allgemeinen IT bekannten Mechanismen lässt sich dies zwar grundsätzlich abbilden. Jedoch entsteht hier bei nach Auffassung der Anmelderin vergleichsweise hoher In- stallations- und Pflegeaufwand. Konkret wird für jede der einzurichtenden Arbeitslasten, die sich (leicht) voneinander unterscheiden, vorliegend eine eigene Detailkonfiguration, insbesondere für jeden Container 4 auf der Cluster-Control- Ebene 5 ein Arbeitslastelement 6, etwa in Form eines Deploy- ments benötigt, anhand dem ein Orchestrierungs-System 7, wie etwa Kubernetes, die Arbeitslasten 4 auf den Knoten 1 ein richten kann. Der (leichte) Unterschied kann beispielsweise dadurch bedingt sein, dass zwei verschiedene Netzwerkschnitt stellen betroffen sind. This can in principle be mapped with the mechanisms known from general IT. However, according to the applicant, this results in a comparatively high installation and maintenance effort. Specifically, for each of the workloads to be set up that differ (slightly) from one another, a separate detailed configuration is required in the present case, in particular for each container 4 on the cluster control level 5, a workload element 6, for example in the form of a deployment, based on which a Orchestration system 7, like like Kubernetes, which can set up workloads 4 on node 1. The (slight) difference can, for example, be due to the fact that two different network interfaces are affected.
In der Figur 1 sind die einzelnen Arbeitslastelemente in Form von Kubernetes Deployments 6 schematisch neben einem Contai- ner-Repository 8 dargestellt. Bei einem solchen Repository 8 handelt es sich insbesondere um einen Satz gleichnamiger Images mit verschiedenen Tags, zumeist Versionen. Images sind insbesondere Speicherabbilder eines Containers. Ein Image ist in der Regel portabel, kann in Repositories 8 gespeichert und mit anderen Nutzern geteilt werden. Aus einem Image können immer mehrere Container gestartet werden. Zu Images und Repo sitories siehe beispielsweise auch https://de.wikipedia .org/wiki/Docker_ (Software)). Es sei an gemerkt, dass in der Figur 1 (genau wie in Figur 3) oberhalb der durchgezogenen Linie die Cluster-Control-Plane darge stellt ist. In FIG. 1, the individual workload elements are shown schematically in the form of Kubernetes deployments 6 next to a container repository 8. Such a repository 8 is, in particular, a set of images of the same name with different tags, mostly versions. Images are, in particular, memory dumps of a container. An image is usually portable, can be saved in repositories 8 and shared with other users. Several containers can always be started from one image. For images and repositories, see, for example, https: //de.wikipedia .org / wiki / Docker_ (software)). It should be noted that in FIG. 1 (exactly as in FIG. 3) the cluster control plane is shown above the solid line.
Über die erfindungsgemäße Vorgehensweise kann ein vereinfach tes und zumindest teilautomatisches Einrichten und Anpassen an die tatsächliche Anlagenkonfiguration ermöglicht werden. A simplified and at least partially automatic set-up and adaptation to the actual system configuration can be made possible via the procedure according to the invention.
Hierfür werden ein Kontrollmodul 9 und eines oder mehrere Be schreibungselemente 10 verwendet, die nur in der Figur 1 und dort rein schematisch dargestellt sind. Die Knoten 1 werden ferner mit Ressourcen-Markern 11 versehen. For this purpose, a control module 9 and one or more description elements 10 are used, which are only shown in FIG. 1 and there purely schematically. The nodes 1 are also provided with resource markers 11.
Das Kontrollmodul 9 ist bei dem dargestellten Ausführungsbei spiel auf einem der Knoten des Clusters 2, konkret auf einem Master-Knoten 12 (siehe Figur 2) des Clusters 2 implemen tiert. Der Master-Knoten 12 ist vorliegend rein für die Clus ter-Orchestrierung zuständig. Auf diesem kann auch das Or chestrierungs-System 7 oder ggf. ein Teil, insbesondere in Software, implementiert sein. Es sei angemerkt, dass das Or chestrierungs-System 7 in der Regel über mehrere (ggf. alle) Knoten 1 verteilt ist, sowohl auf Master-Knoten, als auch Ar- beitsknoten 1. IN der Regel sind dabei nicht alle Funktionen des Orchestrierungs-Systems 7 auf allen Knoten vorhanden.In the exemplary embodiment shown, the control module 9 is implemented on one of the nodes of the cluster 2, specifically on a master node 12 (see FIG. 2) of the cluster 2. In the present case, the master node 12 is solely responsible for cluster orchestration. The orchestration system 7 or possibly a part, in particular in software, can also be implemented on this. It should be noted that the orchestration system 7 is generally distributed over several (possibly all) nodes 1, both to master nodes and to arrangement beitsknoten 1. As a rule, not all functions of the orchestration system 7 are available on all nodes.
Auch wenn das Orchestrierungs-System 7 auf mehreren Knoten implementiert, konkret auf mehrere Knoten verteilt ist, zeigt die rein schematische Figur 1 ein einzelnes Blockelement als Repräsentanten für dieses. Even if the orchestration system 7 is implemented on several nodes, specifically distributed over several nodes, the purely schematic FIG. 1 shows a single block element as a representative for this.
Weiterhin sei angemerkt, dass das Kontrollmodul 9 ein Be standteil des Orchestrierungs-Systems 7 sein kann, jedoch nicht muss. Es kann auch zu dem Orchestrierungs-System 7 se parat sein, dann steht es jedoch zweckmäßiger Weise in kommu nikativer Verbindung mit diesem. It should also be noted that the control module 9 can be part of the orchestration system 7, but does not have to be. It can also be ready for the orchestration system 7, but then it is expediently in communicative connection with it.
In dem oder im Falle mehrerer in dem jeweiligen Beschrei bungselement 10 sind Arbeitslasten 4 angegeben, die auf Kno ten 1 einzurichtend sind, die über in dem oder dem jeweiligen Beschreibungselement 10 angegebene Anlagenressourcen 3 verfü gen (passende Konten 1). Das oder das jeweilige Beschrei bungselement 10 umfasst dabei eine Schablone 13 für die ein zurichtenden Arbeitslasten 4. In the one or in the case of several in the respective descriptive element 10, workloads 4 are specified that are to be set up on nodes 1 that have system resources 3 specified in the respective descriptive element 10 (matching accounts 1). The respective description element 10 comprises a template 13 for the workloads 4 to be prepared.
Es sei betont, dass auch wenn in der Figur 2 nur ein Be schreibungselement 10 beispielhaft gezeigt ist, natürlich auch mehrere Beschreibungselemente 10 bereitgestellt werden können. Für den Fall, dass mehrere Beschreibungselemente 10 bereitgestellt werden, betrifft bzw. beschreibt zweckmäßiger Weise jedes der Beschreibungselemente 10 eine andere Art von Arbeitslast 4. Als Beispiele für verschiedene Arten von Ar beitslasten 4 seien eine Software-SPS, eine Software-Roboter steuerung, ein Software-IT-Router genannt. It should be emphasized that even if only one descriptive element 10 is shown by way of example in FIG. 2, several descriptive elements 10 can of course also be provided. In the event that several description elements 10 are provided, each of the description elements 10 appropriately relates to or describes a different type of workload 4. Examples of different types of workloads 4 are a software PLC, a software robot controller Called software IT router.
Das bzw. die Beschreibungselemente 10 können auch als soge nannte "Plant Ressource Deployment Resources" oder kurz RDRs bezeichnet bzw. aufgefasst werden. Das bzw. die Beschrei bungselemente 10 sind bzw. werden insbesondere in der Clus ter-Konfiguration auf der Cluster-Kontroll-Ebene bereitge stellt. Das Kontrollmodul kann auch als Ressource Deployment Controller oder kurz RDC bezeichnet werden. Ein Teil des bzw. des jeweiligen Beschreibungselementes 10 ist durch die Schablone 13 bzw. Vorlage (englisch: template) für die zu erzeugenden Arbeitslasten 4 gegeben. Ein anderer Teil beschreibt zweckmäßiger Weise die erforderlichen bzw. zugehörigen Anlagenressourcen bzw. gibt diese an. Vorliegend sind die Anlagenressourcen in dem (jeweiligen) Beschreibungs element 10 in Form von erwarteten Ressourcen-Markern 11 oder in Form von erwarteten Teilen von Ressourcen-Markern 11 ange geben. The description element or elements 10 can also be referred to or understood as so-called “Plant Resource Deployment Resources” or RDRs for short. The description element or elements 10 are or will be provided in particular in the cluster configuration on the cluster control level. The control module can also be referred to as a resource deployment controller or RDC for short. A part of the respective descriptive element 10 is given by the template 13 or template for the workloads 4 to be generated. Another part expediently describes or specifies the required or associated system resources. In the present case, the system resources are given in the (respective) description element 10 in the form of expected resource markers 11 or in the form of expected parts of resource markers 11.
Ein Beispiel eines Beschreibungselementes (RDRs) 10 lautet: kind: di.Siemens.com/ResourceDeployment metadata: name: nat64 spec: matchResource: di.Siemens.com/cellnets template: An example of a description element (RDRs) 10 is: kind: di.Siemens.com/ResourceDeployment metadata: name: nat64 spec: matchResource: di.Siemens.com/cellnets template:
# pod template for plant (equipment) resource Containers: # pod template for plant (equipment) resource containers:
- name: nat64 args: ["/bin/nat64", "-i", "{di.Siemens.com/cellnets:i}"] - name: nat64 args: ["/ bin / nat64", "-i", "{di.Siemens.com/cellnets:i}"]
Gemäß diesem können (virtuelle) NAT64-Router auf all denjeni gen Cluster-Arbeitsknoten 1 eingerichtet werden, die Zellen netze 3 als Anlagenressourcen besitzen bzw. denen solche zu geordnet sind. Bei den einzurichtenden Arbeitslasten 4 han delt es sich bei diesem Beispiel um virtuelle Netzwerkfunkti onen, konkret virtuelle NAT64-Router-Funktionen in Form von Containern 4. According to this, (virtual) NAT64 routers can be set up on all those cluster working nodes 1 that have cell networks 3 as system resources or to which such resources are assigned. The workloads 4 to be set up in this example are virtual network functions, specifically virtual NAT64 router functions in the form of containers 4.
Der mit "template" beginnende Teil in dem vorstehenden Bei spiel ist dabei die Schablone 13 für die einzurichtenden Ar beitslasten 4. Hinsichtlich des Matchings gilt, dass für den Fall, dass eine Ressource für einen Arbeitsknoten 1 in das Raster passt, wenn sie die nachfolgend aufgelistete(n) Label besitzt. Dann wird die Schablone 13 der Reihe nach mit allen Werten des dem La bel zugeordneten Annotation „ausgeführt", es werden also die entsprechenden Deployments erzeugt. The part beginning with “template” in the above example is the template 13 for the workloads 4 to be set up. With regard to the matching, it applies that in the event that a resource for a working node 1 fits into the grid if it has the label (s) listed below. Then the template 13 is "executed" one after the other with all the values of the annotation assigned to the label, that is to say the corresponding deployments are generated.
Die Ressourcen-Marker 11 werden vorliegend in der Cluster- Konfiguration bereitgestellt bzw. sind in dieser hinterlegt. Konkret wird bzw. wurde den über Anlagenressourcen 3 verfü genden Knoten 1 der (jeweilige) Ressourcen-Marker 11 zugeord net, indem der (jeweilige) Ressourcen-Marker 11 einem in der Cluster-Konfiguration für den jeweiligen Knoten 1 vorhandenen Stellvertreter-Element 14 in Form einer Knoten-Ressource (englisch: node ressource) zugeordnet wird oder wurde. Die Zuordnung der Ressourcen-Marker 11 kann manuell oder auch automatisch erfolgt sein. The resource markers 11 are presently provided in the cluster configuration or are stored in this. Specifically, the (respective) resource marker 11 is or was assigned to the node 1 having system resources 3, by the (respective) resource marker 11 in a proxy element 14 present in the cluster configuration for the respective node 1 Form of a node resource (English: node resource) is or has been assigned. The resource markers 11 can be assigned manually or automatically.
In der Figur 2 ist oberhalb der gestrichelten Linie die Clus- ter-Kontroll-Ebene mit schematisch dargestellten Elementen der Cluster-Konfiguration gezeigt. Unterhalb der gestrichel ten Linie sind der Master-Knoten 12 und zwei weitere Knoten 1 des Clusters 2 beispielhaft gezeigt. In der Regel existiert für jeden der Knoten 1 des Clusters 2 ein solches Stellver treter-Element in Form einer Knoten- bzw. Node-Ressource 14. In der Figur 2 ist nur eine Knoten-Ressource 14 beispielhaft gezeigt, welche einen Stellvertreter für den in Figur 2 unten mittig gezeigten Knoten 1 bildet. Eine gestrichelter Doppel pfeil zwischen der beispielhaft gezeigten Knoten-Ressource 14 und dem mittigen Knoten 1 zeigt diesen Zusammenhang beispiel haft auf. Es sei angemerkt, dass die Pfeile mit durchgezoge nen Linien in Figur 2 in Abgrenzung zu einer bloßen Beziehung einen Datenfluss symbolisieren. In FIG. 2, the cluster control level with elements of the cluster configuration shown schematically is shown above the dashed line. The master node 12 and two further nodes 1 of the cluster 2 are shown by way of example below the dashed line. As a rule, there is such a substitute element in the form of a node or node resource 14 for each of the nodes 1 of the cluster 2. In FIG. 2, only one node resource 14 is shown by way of example, which represents a substitute for the in Figure 2 forms node 1 shown in the center below. A dashed double arrow between the node resource 14 shown as an example and the central node 1 shows this relationship by way of example. It should be noted that the arrows with solid lines in FIG. 2 symbolize a flow of data in contrast to a mere relationship.
Die Ressourcen-Marker 11, die den über Anlagenressourcen 3 verfügenden Knoten 1, konkret deren Stellvertretern 14, je weils zugeordnet sind oder werden, umfassen vorliegend je weils einen ersten und einen zweiten Teil 11a, 11b. Der erste Teil 11a des jeweiligen Ressourcen-Markers 11 gibt dabei an, dass jeweilige Knoten 1 über eine bestimmte Anla genressource 3 ein- oder mehrfach verfügt, und der zweite Teil 11b listet alle Anlagenressourcen 3, über die der jewei lige Knoten 1 konkret verfügt, auf. The resource markers 11, which are or will be assigned to the node 1 having system resources 3, specifically their representatives 14, each include a first and a second part 11a, 11b in the present case. The first part 11a of the respective resource marker 11 indicates that the respective node 1 has a specific system resource 3 one or more times, and the second part 11b lists all the system resources 3 that the respective node 1 actually has, on.
Der erste Teil 11a ist bei dem dargestellten Beispiel in Form eines "Labels", konkret eines Kubernetes-Labels 11a gegeben. Da der erste Teil 11a signalisiert, dass eine bestimmte Anla genressource 3 ein oder mehrfach an einem Knoten 1 bereit steht, kann das Orchestrierungs-System 7 des Clusters 2 (kann auch als Konfigurationssystem bezeichnet werden) sehr effi zient entscheiden, ob und wie das Kontrollmodul 9 über das Vorhandensein bzw. Nicht-Vorhandensein zu benachrichtigen ist. Das Orchestrierungs-System 7 kann hierbei sehr effizient auf den ersten Teil, vorliegend das Label und dessen (einge schränkte) Werte filtern, ohne dass es mit Wertelisten (Ar- rays) arbeitet bzw. arbeiten muss. In the example shown, the first part 11a is in the form of a “label”, specifically a Kubernetes label 11a. Since the first part 11a signals that a certain system resource 3 is available one or more times at a node 1, the orchestration system 7 of the cluster 2 (can also be referred to as a configuration system) can decide very efficiently whether and how the control module is 9 is to be notified of the presence or absence. The orchestration system 7 can here very efficiently filter on the first part, in the present case the label and its (restricted) values, without it having to work or have to work with lists of values (arrays).
Ein solches Label 11a kann beispielsweise "cellnetworks" mit dem leeren Wert "" sein; es genügt hierbei bereits die Exis tenz des Labels 11a, der Wert hingegen ist unerheblich, da mit dem ersten Teil 11a die konkreten einzelnen Anlagenres sourcen 3 (noch) nicht aufgeführt werden. Such a label 11a can be, for example, “cellnetworks” with the empty value “”; the existence of the label 11a is sufficient here, but the value is irrelevant since the specific individual system resources 3 are not (yet) listed with the first part 11a.
Über den ersten Teil 11a wird es insbesondere möglich, ein Cluster-Orchestrierungssystem 7 zu nutzen, welches keine Jo ker in den Namen von Labein erlaubt, wie es bei den vorbe kannten Systemen 7 in der Regel der Fall ist. The first part 11a makes it possible, in particular, to use a cluster orchestration system 7 which does not allow any Jo ker in the name of Labein, as is usually the case with the systems 7 known above.
Der zweite Teil 11b des (jeweiligen) Ressourcen-Markers 11 ist vorliegend durch eine "Annotation", konkret Kubernetes- Annotation gegeben. Der zweite Teil 11b des Ressourcen-Mar kers 11 listet alle Anlagenressourcen 3 auf, insbesondere, da hier die vorgenannten Restriktionen bekannter Cluster-Konfi gurationssystems entfallen. Der zweite Teil 11b umfasst bei dem gezeigten Beispiel den gleichen Namen wie der erste, jedoch mit einem Wert. Passend zum vorgenannten Beispiel von "cellnetworks" mit dem leeren Wert "" als erstem Teil 11a (Label) kann der zweite Teil 11b ebenfalls den Namen „cellnetworks" etwa mit dem Wert „ens33p0,ens42p66" umfassen. The second part 11b of the (respective) resource marker 11 is given in the present case by an “annotation”, specifically Kubernetes annotation. The second part 11b of the resource marker 11 lists all the system resources 3, in particular since the aforementioned restrictions of known cluster configuration systems do not apply here. In the example shown, the second part 11b has the same name as the first, but with a value. Matching the aforementioned example of “cellnetworks” with the empty value “” as the first part 11a (label), the second part 11b can also include the name “cellnetworks”, for example with the value “ens33p0, ens42p66”.
Ein Ressourcen-Marker 11 mit einem ersten Teil 11a in Form eines (Kubernetes-)Labels und einem zweiten Teil 11b in Form einer (Kubernetes-)Annotation kann beispielsweise lauten: kind: Node metadata: labels: di.siemens.com/cellnets: "" annotations: di.Siemens.com/cellnets: "ens33p0,ens42p66" A resource marker 11 with a first part 11a in the form of a (Kubernetes) label and a second part 11b in the form of a (Kubernetes) annotation can read, for example: kind: Node metadata: labels: di.siemens.com/cellnets: "" annotations: di.Siemens.com/cellnets: "ens33p0, ens42p66"
Dieser Ressourcen-Marker 11 ist für Cluster-Arbeitsknoten 1 vorgesehen, die Zellnetze 3 als Anlagenressource besitzen bzw. denen Zellennetze 3 ("cellnets") als Anlagenressource zugeordnet sind. Unter Zellnetzen sind dabei in aus dem Be reich der Automatisierungstechnik vorbekannter Weise insbe sondere einzelne Produktionszellen bzw. Netze/Netzwerke ein zelner Produktionszellen, von denen eine Automatisierungsan lage bzw. -maschine mehrere umfassen kann, zu verstehen This resource marker 11 is provided for cluster work nodes 1 which have cell networks 3 as system resources or to which cell networks 3 (“cellnets”) are assigned as system resources. Cell networks are to be understood as meaning, in a manner previously known from automation technology, in particular individual production cells or networks / networks of individual production cells, of which an automation system or machine can comprise several
Das Kontrollmodul 9 ist dazu ausgebildet und/oder eingerich tet, das wenigstens eine bereitgestellte Beschreibungselement 10 und die Cluster-Knoten 1 zugeordnete Ressourcen-Marker 11 automatisch auszuwerten und zu ermitteln, ob wenigstens ein passender Knoten vorhanden ist, und für den Fall, dass dem so ist, wenigstens ein Arbeitslastelement 15 für die Einrichtung von Arbeitslasten 4 auf dem wenigstens einen passenden Knoten 1 zu erstellen. Hierzu verwendet das Kontrollmodul 9 die Schablone 13, die in dem wenigstens einen Beschreibungsele ment 10 enthalten ist. Es fügt zumindest einen Teil, vorlie gend einen Wert 16 des Ressourcen-Markers 11 des (jeweiligen) passenden Knotens 1 in die Schablone 13 ein, um das Arbeits lastelement 15 zu erhalten. Vorliegend werden für den bzw. die passenden Knoten 1 Arbeitslastelemente in Form von soge nannten Pod Ressources 15, kurz PRs, erzeugt. The control module 9 is designed and / or set up to automatically evaluate the at least one provided description element 10 and the resource markers 11 assigned to cluster nodes 1 and to determine whether at least one suitable node is available, and in the event that the so is to create at least one workload element 15 for the establishment of workloads 4 on the at least one matching node 1. For this purpose, the control module 9 uses the template 13, which is contained in the at least one descriptive element 10. It adds at least a part, in this case a value 16, of the resource marker 11 of the (respective) matching node 1 in the template 13 to get the load element 15 work. In the present case, workload elements in the form of so-called pod resources 15, PRs for short, are generated for the matching node or nodes 1.
Eine wesentliche Aufgabe des Kontrollmoduls 9 besteht mit an deren Worten darin, Teile der (jeweiligen) Schablone 13 mit konkreten Angaben über einzelne Anlagenressourcen 3 zu erset zen, um die finalen Arbeitslastelemente 15, insbesondere PRs bzw. Deployments zu erhalten. Diese Angaben entstammen dabei bevorzugt den Ressourcen-Markern 11 an den Arbeitsknoten 1 bzw. an deren Stellvertretern 14 in der Cluster-Konfigura tion. In other words, an essential task of the control module 9 is to replace parts of the (respective) template 13 with specific information about individual system resources 3 in order to obtain the final workload elements 15, in particular PRs or deployments. This information preferably comes from the resource markers 11 on the work nodes 1 or on their representatives 14 in the cluster configura tion.
Das bzw. die von dem Kontrollmodul 9 erzeugten Arbeitslas telemente 15 können dann von dem Orchestrierungs-System 7 automatisch erkannt werden und die nötigen Arbeitslasten 4 in Form von Pods bzw. Container können von dem Orchestrierungs- System 7 auf Basis bzw. anhand des bzw. der Arbeitslastele mente 15 auf den entsprechenden Knoten 1 eingerichtet werden. In der Figur 2 ist dieser Vorgang über die gestrichelten Dop pelpfeile, welche jeweils eine Pod Ressource 15 mit einem auf dem Knoten 1 eingerichteten Container 4 verbindet, schema tisch angedeutet. The workload element (s) 15 generated by the control module 9 can then be automatically recognized by the orchestration system 7 and the necessary workloads 4 in the form of pods or containers can be provided by the orchestration system 7 on the basis of or using the or the Arbeitslastele elements 15 are set up on the corresponding node 1. In FIG. 2, this process is indicated schematically by the dashed double arrows which each connect a pod resource 15 to a container 4 set up on node 1.
Das Kontrollmodul 9 führt seine Tätigkeit bevorzugt dauerhaft aus. Die Auswertung des bzw. der Beschreibungselemente 10 und des bzw. der Ressource-Marker 11 kann beispielsweise zyklisch erfolgen. The control module 9 preferably carries out its activity permanently. The evaluation of the description element (s) 10 and the resource marker (s) 11 can, for example, take place cyclically.
Vorliegend sorgt das Kontrollmodul 9 nicht nur dafür, dass neue Arbeitslasten 4 bei neu hinzugekommenen Anlagenressour cen 3 eingerichtet werden, sondern entfernt auch wieder sol che Arbeitslasten 4, deren (zugehörige) Anlagenressourcen 3 entfernt wurden. Es mit anderen Worten eine Art "Aufräum- mechanismus" realisiert. Als Beispiele für das Hinzukommen bzw. Wegfallen von Anlagenressourcen seien das Hinzufügen oder Entfernen einer Hardware-Netzwerk-Schnittstelle genannt, oder eine lokale Konfigurationsaktion eines Anwenders an einer Industrial Edge, mit der er Geräteressourcen für den Cluster 2 zuordnet oder wieder entfernt. In the present case, the control module 9 not only ensures that new workloads 4 are set up for newly added system resources 3, but also removes again those workloads 4 whose (associated) system resources 3 have been removed. In other words, it implements a kind of "clean-up mechanism". Examples of adding or removing system resources include adding or removing a hardware network interface, or a local configuration action by a user on an industrial edge, with which he assigns device resources for cluster 2 or removes them again.
Die beschriebene erfindungsgemäße Vorgehensweise ermöglicht das automatische Scheduling von Arbeitslasten (beispielsweise in Form von Pods/Container) anhand von Anlagenressourcen. Die Komplexität beim Orchestrieren von Arbeitslasten 4, die ent sprechend von Anlagenressourcen 3 verteilt werden müssen, kann deutlich reduziert werden. Es wird eine besonders effi ziente Einbindung in die Steuerungsebene (Control Plane) des industriellen Clusters 2 ermöglicht. Das Scheduling der Ar beitslasten 4 findet dabei nicht auf Knoten-Ebene statt, son dern auf der Ebene der Anlagenressourcen 3, die dem (jeweili gen) Knoten 1 zugeordnet sind. Es können die auf den einzel nen Arbeitsknoten 1 benötigten Überwachungs-Ressourcen zur Überwachung von Anlagenressourcen 3 minimiert werden. The described procedure according to the invention enables the automatic scheduling of workloads (for example in the form of pods / containers) on the basis of system resources. The complexity when orchestrating workloads 4, which must be distributed accordingly by system resources 3, can be significantly reduced. A particularly efficient integration into the control plane of industrial cluster 2 is made possible. The scheduling of the workloads 4 does not take place at the node level, but rather at the level of the system resources 3 that are assigned to the node 1 (in each case). The monitoring resources required on the individual work nodes 1 for monitoring system resources 3 can be minimized.
Die bisherigen vielen einzelnen Detailkonfigurationen für viele leicht unterschiedlichen Arbeitslasten 4 entfällt und können durch eine gemeinsame Konfiguration in Form des Be schreibungselementes 10 ersetzt werden. Gemäß dem bisherigen Stand der Technik sind, wie in Figur 1 rein schematisch dar gestellt, viele einzelne Deployment-Ressourcen 6 (entspre chend Pod-Ressourcen, da hier eine 1:1-Zuordnung zwischen Deployments und Pods vorliegt) einzeln zu pflegen. Ändern sich Anlagenressourcen, mussten die Deployment-Ressourcen 6 bisher händisch nachgeführt werden. The previous many individual detailed configurations for many slightly different workloads 4 are omitted and can be replaced by a common configuration in the form of the description element 10. According to the prior art, as shown purely schematically in FIG. 1, many individual deployment resources 6 (corresponding to pod resources, since there is a 1: 1 assignment between deployments and pods) individually. If the system resources change, the deployment resources 6 previously had to be updated manually.
Die Erfindung vereinfacht die vielen Deployment-Ressourcen 6 in im Idealfall in einzelnes Beschreibungselement 10, etwa eine einzelne Anlagenressourcen-Deployment-Ressource, die nun sehr einfach zu pflegen ist. Beim Hinzufügen (passender/mat- ching) Anlagenressourcen führt das Kontrollmodul die einzel nen Arbeitslastelemente 15, insbesondere Pods/Deployments nach, die aus der einen, unveränderten Anlagenressourcen- Deployment-Ressource abgeleitet werden. Dies ist in Figur 3 rein schematisch dargestellt. Es sei angemerkt, dass der das Kontrollmodul 9 umfassende Master-Knoten 12 ein Ausführungsbeispiel eines erfindungsge mäßen Cluster-Arbeitsknotens ist, der zur Durchführung des erfindungsgemäßen Verfahrens ausgebildet und/oder eingerich tet ist. Das Kontrollmodul 9 kann auf diesem in Software im plementiert sein. The invention simplifies the many deployment resources 6, ideally into a single description element 10, for example a single installation resource deployment resource, which is now very easy to maintain. When adding (matching / matching) system resources, the control module tracks the individual workload elements 15, in particular pods / deployments, which are derived from the one, unchanged system resource deployment resource. This is shown purely schematically in FIG. It should be noted that the master node 12 comprising the control module 9 is an exemplary embodiment of a cluster work node according to the invention, which is designed and / or set up to carry out the method according to the invention. The control module 9 can be implemented on this in software.
Der den Master-Knoten 12 und die weiteren Knoten 1 umfassende Cluster 2 ist ferner ein Ausführungsbeispiel eines erfin dungsgemäßen Clusters 2, der zur Durchführung des erfindungs gemäßen Verfahrens ausgebildet und/oder eingerichtet ist. The cluster 2 comprising the master node 12 and the further nodes 1 is also an exemplary embodiment of a cluster 2 according to the invention, which is designed and / or set up to carry out the method according to the invention.
Das gezeigte industrielle Netzwerk ist ein Ausführungsbei spiel eines erfindungsgemäßen Netzwerkes. The industrial network shown is an exemplary embodiment of a network according to the invention.
Obwohl die Erfindung im Detail durch das bevorzugte Ausfüh rungsbeispiel näher illustriert und beschrieben wurde, so ist die Erfindung nicht durch die offenbarten Beispiele einge schränkt und andere Variationen können vom Fachmann hieraus abgeleitet werden, ohne den Schutzumfang der Erfindung zu verlassen. Although the invention has been illustrated and described in more detail by the preferred exemplary embodiment, the invention is not restricted by the examples disclosed and other variations can be derived therefrom by the person skilled in the art without departing from the scope of protection of the invention.

Claims

Patentansprüche Claims
1. Verfahren zum Betreiben eines Clusters (2), der mit einem industriellen Netzwerk einer Anlage oder Maschine verbunden ist, wobei Arbeitsknoten (1) des Clusters (2) über Ressourcen der Anlage oder der Maschine, Anlagenressourcen (3), verfü gen, bei dem 1. A method for operating a cluster (2) which is connected to an industrial network of a plant or machine, with working nodes (1) of the cluster (2) having resources of the plant or the machine, plant resources (3), available at the
- den über Anlagenressourcen (3) verfügenden Knoten je weils ein Ressourcen-Marker (11) zugeordnet ist oder wird, wobei der jeweilige Ressourcen-Marker (11) angibt bzw. von dem jeweiligen Ressourcen-Marker (11) ableitbar ist, über welche Anlagenressourcen (3) der jeweilige Knoten (1) verfügt, - A resource marker (11) is or is assigned to each node having system resources (3), the respective resource marker (11) indicating or being able to be derived from the respective resource marker (11) via which system resources (3) the respective node (1) has,
- wenigstens ein Beschreibungselement (10) bereitsteht oder bereitgestellt wird, in dem Arbeitslasten (4) ange geben sind, die auf Knoten (1) einzurichtend sind, die über in dem oder dem jeweiligen Beschreibungselement (10) angegebene Anlagenressourcen (3) verfügen, passende Konten (1), wobei das oder das jeweilige Beschreibungs element (10) eine Schablone (13) umfasst, - At least one descriptive element (10) is available or is provided, in which workloads (4) are given that are to be set up on nodes (1) that have system resources (3) specified in the respective descriptive element (10) Accounts (1), wherein the or each descriptive element (10) comprises a template (13),
- ein Kontrollmodul (9) einerseits das wenigstens eine Be schreibungselement (10) und andererseits den Knoten (1) des Clusters (2) zugeordnete Ressourcen-Marker (11) aus wertet und ermittelt, ob wenigstens ein passender Knoten (1) vorhanden ist, - A control module (9), on the one hand, evaluates the at least one description element (10) and, on the other hand, the resource marker (11) assigned to the node (1) of the cluster (2) and determines whether at least one matching node (1) is present,
- das Kontrollmodul (9) für den Fall, dass dem so ist, wenigstens ein Arbeitslastelement (15) für die Einrich tung von Arbeitslasten (4) auf dem wenigstens einen pas senden Knoten (1) erstellt, wobei das Kontrollmodul (9) hierzu die in dem wenigstens einen Beschreibungselement (10) enthaltene Schablone (13) verwendet und in diese zumindest einen Teil des dem wenigstens einen passenden Knoten (1) zugeordneten Ressourcen-Markers (11) einfügt. - The control module (9) in the event that this is the case, at least one workload element (15) for setting up workloads (4) on the at least one pas send node (1), the control module (9) for this purpose is used in the at least one description element (10) contained template (13) and inserts at least part of the resource marker (11) assigned to the at least one matching node (1) into it.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass mehrere Beschreibungselemente (10) bereitstehen oder bereit gestellt werden, in denen jeweils Arbeitslasten (4) angegeben sind, die auf Knoten (1) einzurichtend sind, die über in dem jeweiligen Beschreibungselement (10) angegebene Anlagenres sourcen (3) verfügen, jeweils passende Konten (1), wobei das jeweilige Beschreibungselement (10) eine Schablone (13) um fasst, und wobei jedes Beschreibungselement (10) eine andere Art von Arbeitslast (4) betrifft. 2. The method according to claim 1, characterized in that a plurality of description elements (10) are available or are made available, in each of which workloads (4) are specified which are to be set up on nodes (1) which are in the respective description element (10) specified system resources (3) have, respectively matching accounts (1), wherein the respective description element (10) comprises a template (13), and each description element (10) relates to a different type of workload (4).
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass ein Orchestrierungs-System (7) zum Einsatz kommt, um die Ar beitslasten (4) auf dem oder dem jeweils wenigstens einen passenden Knoten (1) einzurichten, wobei das Kontrollmodul (9) mit dem Orchestrierungs-System (7) in kommunikativer Ver bindung steht oder Bestandteil des Orchestrierungs-Systems (7) ist, und das Orchestrierungs-System (7) auf Basis des wenigstens einen von dem Kontrollmodul (9) erzeugten Arbeits- lastelementes (15) zugehörige Arbeitslasten (4) auf dem oder dem jeweils wenigstens einen passenden Knoten (1) einrichtet. 3. The method according to claim 1 or 2, characterized in that an orchestration system (7) is used to set up the work loads (4) on the or the at least one matching node (1), the control module (9 ) is in communicative connection with the orchestration system (7) or is part of the orchestration system (7), and the orchestration system (7) is based on the at least one workload element (15) generated by the control module (9) ) sets up associated workloads (4) on the or at least one matching node (1).
4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das wenigstens eine von dem Kontrollmodul (9) erstellte Ar- beitslastelement (15) wenigstens eine Arbeitslast (4) in Form eines Containers und/oder Pods betrifft. 4. The method according to any one of the preceding claims, characterized in that the at least one workload element (15) created by the control module (9) relates to at least one workload (4) in the form of a container and / or pod.
5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das wenigstens eine von dem Kontrollmodul (9) erstellte Ar- beitslastelement (15) wenigstens eine Arbeitslast (4) in Form einer virtuellen Netzwerkfunktion betrifft. 5. The method according to any one of the preceding claims, characterized in that the at least one workload element (15) created by the control module (9) relates to at least one workload (4) in the form of a virtual network function.
6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass in dem oder dem jeweiligen Beschreibungselement (10) die An lagenressourcen (3) in Form von erwarteten Ressourcen-Marken (11) oder in Form von erwarteten Teilen von Ressourcen-Marken (11) angegeben sind. 6. The method according to any one of the preceding claims, characterized in that in the or the respective description element (10) the system resources (3) in the form of expected resource marks (11) or in the form of expected parts of resource marks (11 ) are specified.
7. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Ressourcen-Marker (11), die den über Anlagenressourcen (3) verfügenden Knoten (1) zugeordnet sind oder werden, je weils einen ersten und einen zweiten Teil (11a, 11b) umfas sen. 7. The method according to any one of the preceding claims, characterized in that the resource markers (11) which are or will be assigned to the nodes (1) having system resources (3), each Weil a first and a second part (11a, 11b ) include.
8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass der erste Teil (11a) angibt, dass der jeweilige Knoten (1) über eine bestimmte Anlagenressource (3) ein- oder mehrfach verfügt, und der zweite Teil (11b) alle Anlagenressourcen (3), über die der jeweilige Knoten (1) verfügt, auflistet. 8. The method according to claim 7, characterized in that the first part (11a) indicates that the respective node (1) has a certain system resource (3) one or more times, and the second part (11b) all system resources (3 ) that the respective node (1) has at its disposal.
9. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass den über Anlagenressourcen (3) verfügenden Knoten (1) der Ressourcen-Marker (11) zugeordnet wurde oder wird, indem der Ressourcen-Marker (11) einem in einer Cluster-Konfiguration für den jeweiligen Knoten (1) vorhandenen Stellvertreter- Element (14), insbesondere einer Knoten-Ressource, zugeordnet wird oder wurde. 9. The method according to any one of the preceding claims, characterized in that the system resources (3) having the node (1) of the resource marker (11) was or is assigned by the resource marker (11) one in a cluster configuration representative element (14) present for the respective node (1), in particular a node resource, is or has been assigned.
10. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass für den Fall, dass an wenigstens einem Arbeitsknoten (1) An lagenressourcen (3) wegfallen, von dem Kontrollmodul (9) we nigstens eine für den wenigstens einen betroffenen Knoten (1) eingerichtete Arbeitslast (4) wieder entfernt wird. 10. The method according to any one of the preceding claims, characterized in that in the event that at least one working node (1) to location resources (3) are omitted, from the control module (9) we at least one for the at least one affected node (1) established workload (4) is removed again.
11. Cluster-Arbeitsknoten (12), der zur Durchführung des Ver fahrens nach einem der vorhergehenden Ansprüche ausgebildet und/oder eingerichtet ist. 11. Cluster working node (12) which is designed and / or set up to carry out the method according to one of the preceding claims.
12. Cluster-Arbeitsknoten (12) nach Anspruch 11, dadurch gekennzeichnet, dass der Knoten ein Kontrollmodul (9) umfasst, das dazu ausgebil det und/oder eingerichtet ist 12. Cluster working node (12) according to claim 11, characterized in that the node comprises a control module (9) which is designed and / or set up for this purpose
- wenigstens ein Beschreibungselement (10), in dem Ar beitslasten (4) angegeben sind, die auf Cluster- Arbeitsknoten (1) einzurichtend sind, die über in dem oder dem jeweiligen Beschreibungselement (10) angegebene Anlagenressourcen (3) verfügen, passende Konten (1), wo bei das oder das jeweilige Beschreibungselement (10) eine Schablone (13) umfasst, und Cluster-Knoten (1) zu geordnete Ressourcen-Marker (11) auszuwerten und zu er mitteln, ob wenigstens ein passender Knoten (1) vorhan den ist, - At least one descriptive element (10) in which workloads (4) are specified that are to be set up on cluster work nodes (1) that have system resources (3) specified in the respective description element (10), matching accounts ( 1), where the description element (10) comprises a template (13), and cluster nodes (1) to evaluate assigned resource markers (11) and to determine whether there is at least one matching node (1) which is
- für den Fall, dass dem so ist, wenigstens ein Arbeits lastelement (15) für die Einrichtung von Arbeitslasten (4) auf dem wenigstens einen passenden Knoten (1) zu er stellen, wobei das Kontrollmodul (9) hierzu die in dem wenigstens einen Beschreibungselement (10) enthaltene Schablone (13) verwendet und in diese zumindest einen Teil des dem wenigstens einen passenden Knoten (1) zuge ordneten Ressourcen-Markers (11) einfügt. - In the event that this is the case, at least one work load element (15) for setting up workloads (4) on the at least one matching node (1) to be provided, the control module (9) for this purpose in the at least one The template (13) contained in the description element (10) is used and at least part of the resource marker (11) assigned to the at least one matching node (1) is inserted into it.
13. Cluster (2) umfassend einen oder mehreren Arbeitsknoten13. Cluster (2) comprising one or more working nodes
(1, 12), wobei der Cluster (2) zur Durchführung des Verfah rens nach einem der Ansprüche 1 bis 10 ausgebildet und/oder eingerichtet sind. (1, 12), the cluster (2) being designed and / or set up to carry out the method according to one of claims 1 to 10.
14. Netzwerk umfassend wenigstens einen Arbeitsknoten (1, 12) nach einem der Ansprüche 11 bis 13. 14. Network comprising at least one working node (1, 12) according to one of claims 11 to 13.
15. Computerprogramm umfassend Programmcode-Mittel, die bei der Ausführung des Programms auf wenigstens einem Computer den wenigstens einen Computer veranlassen, die Schritte der Verfahrens nach einem der Ansprüche 1 bis 10 durchzuführen. 15. A computer program comprising program code means which, when the program is executed on at least one computer, cause the at least one computer to carry out the steps of the method according to one of claims 1 to 10.
16. Computerlesbares Medium, das Instruktionen umfasst, die, wenn sie auf wenigstens einem Computer ausgeführt werden, den wenigstens einen Computer veranlassen, die Schritte des Ver fahrens nach einem der Ansprüche 1 bis 10 durchzuführen. 16. A computer-readable medium comprising instructions which, when executed on at least one computer, cause the at least one computer to perform the steps of the method according to any one of claims 1 to 10.
PCT/EP2019/073229 2019-08-30 2019-08-30 Method for operating a cluster, cluster work node, cluster, network, computer program and computer-readable medium WO2021037379A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/EP2019/073229 WO2021037379A1 (en) 2019-08-30 2019-08-30 Method for operating a cluster, cluster work node, cluster, network, computer program and computer-readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2019/073229 WO2021037379A1 (en) 2019-08-30 2019-08-30 Method for operating a cluster, cluster work node, cluster, network, computer program and computer-readable medium

Publications (1)

Publication Number Publication Date
WO2021037379A1 true WO2021037379A1 (en) 2021-03-04

Family

ID=67956723

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2019/073229 WO2021037379A1 (en) 2019-08-30 2019-08-30 Method for operating a cluster, cluster work node, cluster, network, computer program and computer-readable medium

Country Status (1)

Country Link
WO (1) WO2021037379A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113688010A (en) * 2021-08-26 2021-11-23 浙江九州云信息科技有限公司 Annotation-based k8s and harbor project consistency controller

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3267351A1 (en) 2016-07-07 2018-01-10 Gemalto Sa Method for securely managing a docker image
US20180167487A1 (en) * 2016-12-13 2018-06-14 Red Hat, Inc. Container deployment scheduling with constant time rejection request filtering
EP3355193A1 (en) * 2017-01-31 2018-08-01 Hewlett-Packard Enterprise Development LP Security-based container scheduling

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3267351A1 (en) 2016-07-07 2018-01-10 Gemalto Sa Method for securely managing a docker image
US20180167487A1 (en) * 2016-12-13 2018-06-14 Red Hat, Inc. Container deployment scheduling with constant time rejection request filtering
EP3355193A1 (en) * 2017-01-31 2018-08-01 Hewlett-Packard Enterprise Development LP Security-based container scheduling

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113688010A (en) * 2021-08-26 2021-11-23 浙江九州云信息科技有限公司 Annotation-based k8s and harbor project consistency controller
CN113688010B (en) * 2021-08-26 2024-02-27 浙江九州云信息科技有限公司 Annotation-based k8s and harbor project consistency controller

Similar Documents

Publication Publication Date Title
EP2206025B1 (en) Method for orchestrating services of a service-oriented automation system
DE10206902A1 (en) Engineering process and engineering system for industrial automation systems
DE102005050304A1 (en) Method and program for the generation of automatically distributable clients of application servers
EP1699005A1 (en) Integration of MES and Controls-Engineering
DE102015205173A1 (en) Method for producing a composite product as well as production module and production control
DE10206903A1 (en) Software application, software architecture and method for creating software applications, especially for MES systems
EP2732347B1 (en) Method and system for the dynamic distribution of program functions in distributed control systems
EP3542232B1 (en) Control system for an industrial automation facility and method for programming and operating such a control system
EP3771148A1 (en) Method for automatic configuration, cluster nodes, cluster, network, computer program and computer readable medium
EP3444682A1 (en) Method for the computer-assisted coupling of a processing module into a modular technical system and modular technical system
DE112005003519T5 (en) communication drivers
WO2021037379A1 (en) Method for operating a cluster, cluster work node, cluster, network, computer program and computer-readable medium
EP3715986B1 (en) Method for automatic configuration of an automation device, automation device, network, computer program and computer readable medium
EP1624614B1 (en) Automatic planning of network configurations
EP2557464B1 (en) Method for operating an automation system
EP2090948B1 (en) Method for operating an automation system
DE102019117954A1 (en) Runtime server for the simultaneous execution of several runtime systems of an automation system
WO2021037378A1 (en) Method for automatic marking, cluster work node, cluster, network, computer program and computer-readable medium
EP3285162A1 (en) Method for projecting a project and arrangement for carrying out said method
DE102016121788A1 (en) Configuration of an automation system
EP3349081A1 (en) Method for automatically configuring functional units of an automation system, computer program with an implementation of the method and apparatus operating according to the method
EP2093663A1 (en) Engineering system for developing a project and method
DE102004023634B4 (en) Method for checking the completeness and consistency of an information library
EP3374891B1 (en) Method for developing an assembly which has at least one mechatronic component, and a corresponding arrangement
EP4270124A1 (en) Method for operating a manufacturing system, computer program and electronically readable data carrier

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19769066

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19769066

Country of ref document: EP

Kind code of ref document: A1