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.205 --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.205 --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 | helm install <releaseName> controlm/controlm-agent --version 9.21.205 --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 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. |
Single Agent in the Application namespace | helm install <releaseName> controlm/controlm-agent --version 9.21.205 --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.205 --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.205 --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. |