IBM Sterling Connect:Direct : Horizontal Pod Autoscaling for IBM Sterling Connect:Direct Unix Containers
IBM Sterling Connect:Direct Unix containers now support multi-pod deployment through Horizontal Pod Autoscaler (HPA). This feature enables dynamic scaling by automatically adding additional instances as the load increases and removing instances as load decreases, ensuring efficient resource utilization and optimal performance. Configuration
The HPA feature is configured in the values.yaml file with the following parameters:
# Horizontal pod autoscaling configuration
hpa:
enabled: true
minReplicas: 2
maxReplicas: 5
averageCpuUtilization: 60
averageMemoryUtilization: 60
stabilizationWindowSeconds: 180
periodSeconds: 15
where:
- enabled: Activates the HPA feature
- minReplicas: Minimum number of pod replicas (set to 2 for testing)
- maxReplicas: Maximum number of pod replicas allowed
- averageCpuUtilization: Target CPU utilization percentage for scaling decisions
- averageMemoryUtilization: Target memory utilization percentage for scaling decisions
- stabilizationWindowSeconds: Time window for stabilization before scaling actions
- periodSeconds: Frequency of metric checks
Storage Requirements
For multi-pod deployments to function correctly, the storage class must support ReadWriteMany (RWX) access mode, allowing multiple pods to simultaneously read and write to the same persistent volume.
storageClassName: <your-rwx-capable-storage-class>
accessMode: "ReadWriteMany"
Without ReadWriteMany support, multiple pods cannot share the same statistics file and work directory, which will prevent proper HPA operation.
Test Results
During testing with minReplicas: 2, the deployment successfully created two Connect:Direct pods that shared the same statistics file and work directory.
total 49
-rw-rw-r--. 1 cdadmin cdadmin 12596 Jan 29 14:32 S20260129.001
-rw-rw-r--. 1 cdadmin cdadmin 3 Jan 29 14:31 cdpmgr_s0-ibm-connect-direct-0_10.130.3.79.pid
-rw-r--r--. 1 cdadmin cdadmin 4 Jan 29 14:32 cdpmgr_s0-ibm-connect-direct-1_10.131.0.72.pid
-rwxrwxr--. 1 cdadmin cdadmin 35964 Jan 29 14:31 tcqhdr.ind
Statistics File Entries
Both pods successfully write to the same statistics file (S20260129.001), demonstrating proper shared storage configuration:
# Pod 0 entries
STAR=20260129 14:31:58.697|RECI=CXIT|RECC=CAEV|OSID=915|HOST='''s0-ibm-connect-direct-0'''|TZDI=0|MSGT=CMGR exited. Pid=998. Exitcode=0.
STAR=20260129 14:32:58.960|SSTA=20260129 14:32:58.960|STRT=20260129 14:32:58.960|RECI=COAC|RECC=CAEV|OSID=915|HOST=s0-ibm-connect-direct-0|TZDI=0|MSGT=Init Parm file has been modified. Refreshing rnode addresses
Pod 1 entries
STAR=20260129 14:32:38.820|RECI=CRHT|RECC=CAEV|OSID=2997|HOST='''s0-ibm-connect-direct-1'''|TZDI=0|MSGT=Licensed Materials - Property of IBM. IBM(R) Connect:Direct(R) for UNIX.
STAR=20260129 14:32:38.820|RECI=COAC|RECC=CAEV|OSID=2997|HOST=s0-ibm-connect-direct-1|TZDI=0|MSGT=API connection comm channel activated: 0.0.0.0;1363
STAR=20260129 14:32:38.820|RECI=COAC|RECC=CAEV|OSID=2997|HOST=s0-ibm-connect-direct-1|TZDI=0|MSGT=Rnode connection comm channel activated: 0.0.0.0;1364 , fd=7.
STAR=20260129 14:32:38.940|SSTA=20260129 14:32:38|STRT=20260129 14:32:38|RECI=NUIC|RECC=CAEV|OSID=2997|HOST=s0-ibm-connect-direct-1|TZDI=0|MSGT=C:D initialization complete. Node CDNODE01 (6.4.0.4). Message ID NUIC001I, rc=0, fdbk=0.
Important:
- Both pods (s0-ibm-connect-direct-0 and s0-ibm-connect-direct-1) successfully initialized
- Each pod maintains its own PID file with unique IP addresses
- Both pods write to the shared statistics file without conflicts
- The tcqhdr.ind file is shared between pods for transmission queue management