Upgrading the Application Team

This procedure describes an end-to-end example upgrade of the Application team implementation described in Setting Up an Application Team. Sometime after the initial setup of Control-M for Kubernetes, the Finance Application team are notified of a new release of Control-M for Kubernetes, and they upgrade their original installation as follows.

Begin

  1. Obtain the Control-M/Agent container image and store it in your internal repository:

    1. Pull the latest Control-M/Agent container image that includes Java (for example, 9.22.100-k8s-openjdk) from the controlm/saas-agent repository in the Docker Hub.

    2. Push the image into your internal repository, local.repo.

  2. Download the Control-M for Kubernetes Helm chart to the machine where you plan to run the Helm installation, using the following command:

    wget https://controlm-charts.s3.us-west-2.amazonaws.com/controlm-agent-9.22.100.tgz

    In our example, this .tgz file is stored in /home/helm.

  3. Make the Kubernetes job type available in Control-M for job planning and monitoring.

    To do this, ask your Control-M Administrator to obtain and publish the Control-M for Kubernetes plug-in, as described in Publishing the Kubernetes Plug-in in Control-M/EM.

  4. Run the helm upgrade command to upgrade your Agents in the finance_hostgroup hostgroup to the newest Agent version, as in the following example:

    Copy
    helm upgrade FinanceRelease /home/helm/controlm-agent-9.22.100.tgz --version 9.22.100 --namespace=finance_ns \
    --set image.tag=9.22.100-k8s-openjdk --set image.repo=local.repo --set image.pullSecrets"[0]".name=regcred \
    --set server.name=ctmServer1 --set server.host=ctm.company.com --set server.port=7005 --set server.ip=10.20.30.40 \
    --set api.endpoint=https://ctm.company.com:8443/automation-api \
    --set api.secret=finance_secret --set pvc.storageClass=efs-sc  --set agent.tag=finance \ 
    --set pod.ServiceAccount.create=false --set pod.ServiceAccount.name=finance_service_account \ 
    --set server.hostgroup=finance_hostgroup

    If you need to use a non-default image, as discussed in Docker Container Image, set the image.tag parameter to the relevant image.

  5. Monitor the status of the rollout by running the following command:

    kubectl rollout status statefulset/FinanceRelease-sts