Scale MATRIXX Engine Processing Pods with Kubernetes

In Engine Operator-based installations, add or remove MATRIXX Engine pods outside of Helm using the kubectl exec and kubectl scale commands.

About this task

Note: For information about scaling Engine pod replicas in Topology Operator-based installations, see the discussion about scaling engine pods with Helm.
The maximum allowed number of processing pods is three.

Procedure

  1. (Optional) If removing a processing pod, run the update_k8s_mtx_status.py and stop_blade.py scripts on the pod to stop processing functions. For example, stop a processing pod 2 in engine 1 with the following commands:
    kubectl exec -n matrixx proc-s1e1-1 -- su - mtx -c "update_k8s_mtx_status.py stop"
    kubectl exec --namespace matrixx proc-s1e1-1 -- su - mtx -c "stop_blade.py -e 1 -c 1 -b 2"
  2. Add or remove processing pods by specifying the number of pods with the --replicas option in the following command:
    kubectl scale statefulsets stateful_set_name --replicas=new_replica_count --namespace matrixx

    For example, scale the proc-s1e1-1 StatefulSet to 2 processing pods with the following command:

    kubectl scale statefulsets proc-s1e1 --replicas=2 --namespace matrixx