FME Flow: 2025.0
Deploying to Alibaba Cloud Using Network Attached Storage
- Launch the Cluster
- Navigate to the Alibaba Cloud console.
- Click Container Service.
- Click Create Kubernetes Cluster.
- Click the Managed Kubernetes tab at top.
- Specify the following parameters:
- Cluster name, Region, Zone, and VPC.
- Choose an Instance type and Node count. For example, ecs.mn4.large Instance type, quantity of 3. Uncheck Attach Data Disk.
- Specify an ssh key pair for logging in.
- For all other parameters, keep the default settings.
- Click Create. The cluster may take 5-10 minutes to create.
- Connect to the Cluster
- Go to Container Service in the Alibaba Cloud console.
- Click on the cluster you just created.
- At the bottom of the page is a kubectl config file. Copy and paste this into a .yaml file on your machine.
- Set the environment variable KUBECONFIG to point to this file in your terminal.
- To check you are connected, run:
- Install Helm
- Check that Helm is installed. Run:
- Give Helm deploy permissions.
- Configure Network Attached Storage (NAS)
- In the Alibaba Cloud console, navigate to the NAS console
- Click Create File System.
- Specify the parameters:
- Region and Zone: Specify the same as your Kubernetes cluster.
- Under Storage Type, select SSD performance-type
- Storage Type: NFS
- Click OK.
- Click Add Mount Point.
- Specify the parameters:
- Mount Point Type: VPC
- Select the same VPC as the one in which the Kubernetes cluster is running.
- Select the default VPC permission group.
- Click OK.
- To add an NAS storage class to the Kubernetes cluster, go to the Alibaba documentation on using NAS storage in a Kubernetes cluster.
- Under "Dynamic storage volumes", copy and paste the "Install the plug-in" config file into a file on your local machine.
- In that file, modify the value of NFS_SERVER in the controller container, and the "server" in the volume to be the mount point URL created for the NAS.
- Remove the nodeSelector section completely.
- Apply to the cluster with kubectl apply -f <path_to_yaml>, where <path_to_yaml> is the config file created in the previous step.
- You should now have a storage class in your cluster with the name "alicloud-nas" that can use the FME Flow System Share.
- Deploy FME Flow
- Add the Safe Software Helm repository:
- Construct a hostname for the FME Flow deployment. Alibaba’s Kubernetes Ingress Controller resolves a DNS name in the form:
- Create a values.yaml file that will pass user-supplied parameter values into the Helm chart.
- (Optional) Update parameters in values.yaml.
- Install FME Flow.
- To access FME Flow after it deploys, invoke the external IP in your browser.Note If you are using the external IP address, and not a DNS, to access the deployment, you must update the URLs for each of the FME Flow Web Services to that address. To update, see Services.


kubectl get nodes

helm version
If not installed, install Helm.
Run:
kubectl create clusterrolebinding add-on-cluster-admin --clusterrole=cluster-admin --serviceaccount=kube-system:default


helm repo add safesoftware https://safesoftware.github.io/helm-charts/
*.<cluster-id>.<region-id>.alicontainer.com
For example, you can use DNS hostname:
fmeflow.<cluster-id>.<region-id>.alicontainer.com
<cluster-id> and region can be found on the Container Service page of the Alibaba Cloud console. See the Alibaba documentation for a mapping of regions to <region-id>.
To get the default Helm chart values file, run:
helm show values <chart>
For example:
helm show values safesoftware/fmeflow
To write the values to a file:
helm show values safesoftware/fmeflow >> values.yaml
For more information on value files, see the Helm Docs.
A current list of supported parameters for FME Flow can be found on GitHub.
The following are parameters you may want to change in the values.yaml file:

Parameter |
Example or Possible Value |
Description |
---|---|---|
fmeflow.image.tag | 2024.0 | Set to the FME Flow major release version you want to deploy, such as 2024.0 or 2024.1. |
fmeflow.engines[].name | “standard-group” | The name of the engine group. This can be changed, particularly if creating multiple engine groups. |
fmeflow.engines[].engines | 2 | Controls the number of engine pods to start. |
fmeflow.engines[].type | STANDARD | DYNAMIC | Controls the type of engine to start. |
deployment.hostname | If a DNS has been configured to point to the external IP address, set to that value. If using the external IP address only, leave as localhost and set deployment.useHostnameIngress to false.. | |
deployment.numCores | 2 | Starts two FME Flow Core pods for fault tolerance and load balancing. |
deployment.useHostnameIngress | true | false | If DNS is set up for the ingress controller, specify the DNS name for deployment.hostname and leave this parameter to true. If not, specify false. |
storage.fmeflow.class | alicloud-nas | Uses the Alibaba NAS set up previously. |
helm install <name> <chart> -f values.yaml -n <namespace>
For example:
helm install fmeflow safesoftware/fmeflow -f values.yaml -n fmeflow
If you make changes to the values.yaml file after FME Flow is installed (such as to scale FME Flow engines), use the helm upgrade command:
helm upgrade <name> <chart> -f values.yaml -n <namespace>
For example:
helm upgrade fmeflow safesoftware/fmeflow -f values.yaml -n fmeflow