Defining FME Engines and Queue Control Properties to a Kubernetes Deployment
You can define multiple FME Engines for a Kubernetes deployment. Managing FME Engines in the FME Server Web User Interface is not supported in Kubernetes deployments. Instead, engine definition is managed through Kubernetes and a values.yaml file.
Each engine deployment defines the name of the deployment, the license type (STANDARD or DYNAMIC), and the number of replicas (engines) for that deployment. As well, the deployment name serves as an engine property. When configuring Queue Control, you can use this property in engine assignment rules when assigning engines to queues. Additional properties for engine assignment rules can be assigned to engines with the engineProperties specifier.
Each engine deployment can also specify Kubernetes scheduling parameters nodeSelector, tolerations and affinity.
Example FME Engine Deployments
The following examples specify FME Engine deployments in a values.yaml file when deploying the FME Server Helm chart.
This example shows a default Helm deployment of one FME Engine deployment with two replicas. In the example, property standard-group may be specified in an engine assignment rule of Type: Property to assign engines to one or more queues.
fmeserver:
engines:
- name: "standard-group"
type: "STANDARD"
engines: 2
affinity: {}
nodeSelector: {}
tolerations: []
The following example defines three engine deployments—one standard engine with two replicas, one standard engine with three replicas, and one dynamic engine with three replicas. When configuring engine assignment rules, use the name properties standard-group, standard-group-2, and dynamic-group to assign engines to queues. Two additional engineproperties, property1 and property2, are defined on standard-group and standard-group-2 respectively, and can also be used in engine assignment rules.
fmeserver:
engines:
- name: "standard-group"
type: "STANDARD"
engines: 2
engineProperties: "property1"
- name: "standard-group-2"
type: "STANDARD"
engines: 3
engineProperties: "property2"
- name: "dynamic-group"
type: "DYNAMIC
engines: 3