Example of Upgrade


The following series of steps describe an end-to-end example upgrade of the Application team implementation described in Example-of-Application-Team-Implementation. 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. 

  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.21.205-k8s-openjdk) from the controlm/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.21.205.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:

    helm upgrade FinanceRelease /home/helm/controlm-agent-9.21.205.tgz --version 9.21.205 --namespace=finance_ns \
    --set image.tag=9.21.205-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
  5. Monitor the status of the rollout by running the following command:
    kubectl rollout status statefulset/FinanceRelease-sts

 

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