Agent Deployment Scenarios


The following table presents examples of helm install <chart> commands that demonstrate how to deploy Control-M/Agents to a Kubernetes cluster in various use cases.

Scenario

Command

Description

Multiple Agents in the Application namespace

helm install <releaseName> controlm/controlm-agent --version 9.21.310 --namespace=<agentNamespace> --set server.name=LocalControlM --set server.host=controlm  --set server.port=7005 --set api.endpoint=https://controlm:8443/automation-api --set api.token=<apiToken> --set pvc.storageClass=efs-sc

Deploys two Agents in the Application namespace (in the same namespace where Kubernetes jobs run) with a storage class that supports ReadWriteMany access mode. 

Multiple Agents in an Agent namespace separate from the Application namespace

helm install <releaseName> controlm/controlm-agent --version 9.21.310 --namespace=<agentNamespace> --set server.name=LocalControlM --set server.host=controlm --set server.port=7005 --set api.endpoint=https://controlm:8443/automation-api --set api.token=<apiToken> --set pvc.storageClass=efs-sc --set pod.serviceAccount.create=false --set pod.serviceAccount.name=<serviceAccountName>

Deploys two Agents in an Agent namespace (separate from the Application namespace where Kubernetes jobs run) using a pre-defined service account and with a storage class that supports ReadWriteMany access mode.

Multiple Agents that work with Control-M/Servers configured for High Availability and Disaster Recovery

helm install <releaseName> controlm/controlm-agent --version 9.21.310 --namespace=<agentNamespace> --set server.name=LocalControlM --set server.host=controlm --set server.port=7005 --set server.ip=10.0.0.2 --set server.secondaryHost=controlm-backup --set server.secondaryIp=10.0.0.10 --set server.dr.host=ctmsrv-dr --set server.dr.ip=10.0.0.3 --set server.dr.secondaryHost=ctmsrv-dr-secondary --set server.dr.secondaryIp=10.0.0.4 --set api.endpoint=https://controlm:8443/automation-api --set api.token=<apiToken> --set pvc.storageClass=efs-sc

Deploys two Agents in the Application namespace (in the same namespace where Kubernetes jobs run) with a storage class that supports ReadWriteMany access mode. The Agents work with Control-M/Servers that are configured for High Availability and Disaster Recovery.

Single Agent in the Application namespace

helm install <releaseName> controlm/controlm-agent --version 9.21.310 --set agent.replicas=1 --set server.name=LocalControlM --set server.host=controlm --set server.port=7005 --set api.endpoint=https://controlm:8443/automation-api --set api.token=<apiToken> --set pvc.storageClass=gp2 --set pvc.accessMode=ReadWriteOnce --set pvc.volumeSize=5Gi

Deploys a single Agent in the Application namespace (in the same namespace where Kubernetes jobs run) with a storage class set to ReadWriteOnce access mode with 5Gi.

Multiple Agents in the Application namespace based on a pre-built docker image with external Java

helm install <releaseName> controlm/controlm-agent --version 9.21.310 --set server.name=LocalControlM --set server.host=controlm --set server.port=7005 --set api.endpoint=https://controlm:8443/automation-api --set api.token=<apiToken> --set pvc.storageClass=efs-sc  --set image.repo=<imageRepo> --set image.tag=<imageTagForExternalJava> --set image.pullSecrets"[0]".name=dockerhub-controlm-cred

Deploys two Agents in the Application namespace (in the same namespace where Kubernetes jobs run) based on a pre-built docker image with external Java from a private Docker Hub repository (whose credentials are stored in a secret) and with a storage class that supports ReadWriteMany access mode. 

Multiple Agents in the Application namespace based on a pre-built docker image for SSL communication

helm install <releaseName> controlm/controlm-agent --version 9.21.310 --set server.name=LocalControlM --set server.host=controlm  --set server.port=7005 --set api.endpoint=https://controlm:8443/automation-api --set api.token=<apiToken> --set pvc.storageClass=efs-sc  --set image.repo=<imageRepo> --set image.tag=<imageTagForSsl> --set image.pullSecrets"[0]".name=dockerhub-controlm-cred --set agent.ssl=true

Deploys two Agents in the Application namespace (in the same namespace where Kubernetes jobs run) based on a pre-built docker image for SSL communication between the Agent and the Control-M/Server from a private Docker Hub repository (whose credentials are stored in a secret) and with a storage class that supports ReadWriteMany access mode. 

Multiple Agents in the Application namespace with deployment of multiple plug-ins

helm install <releaseName> controlm/controlm-agent --version 9.21.310 --namespace=<agentNamespace> --set server.name=LocalControlM --set server.host=controlm  --set server.port=7005 --set api.endpoint=https://controlm:8443/automation-api --set api.token=<apiToken> --set pvc.storageClass=efs-sc --set ai.additionalPluginsConfigMapName=plugins-list --set ai.additionalCertsConfigMapName=cert-config --set ai.proxyConfigMapName=ai-proxy

Deploys two Agents in the Application namespace (in the same namespace where Kubernetes jobs run) with a storage class that supports ReadWriteMany access mode. The Agent pods contain the Kubernetes plug-in, as well as additional Control-M plug-ins listed in a Kubernetes configMap. Additional configMaps list the required certificates and Application Integrator proxy settings for these plug-ins.

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*