Defining FME Engines, Queue Control, and Streams 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 and Streams, you can use this property when assigning engines to queues (in engine assignment rules) and streams. Additional properties 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 for a queue or stream of Type: Property.
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 to queues or streams, use the name properties standard-group, standard-group-2, and dynamic-group to assign engines to queues or a stream. Two additional engineproperties, property1 and property2, are defined on standard-group and standard-group-2 respectively, and can also be used in engine assignment.
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