Upgrading the IBM App Connect Operator from an earlier to a later Continuous Delivery (CD) version on Kubernetes

If you are working in a Kubernetes environment, use these instructions to upgrade the IBM® App Connect Operator to the latest Continuous Delivery (CD) version. The Operator deployment is managed by Helm and you can upgrade from the Kubernetes CLI by running helm commands.

These instructions apply if you are upgrading an independent deployment of the IBM App Connect Operator.

Before you begin

  • Ensure that you have cluster administrator authority with cluster-admin permissions.
  • Ensure that you are logged in to your Kubernetes environment.
  • If you want to upgrade your deployment in an air-gapped cluster, you must have mirrored the latest App Connect images to a private registry in your cluster. For more information, see Mirroring the IBM App Connect images to an air-gapped cluster.
  • Ensure that you have the pull secrets that you need to authenticate to the registry where the App Connect images are stored, and to pull the images that are needed to upgrade your Operator deployment. (You can use the pull secrets that are used in your existing Operator deployment.)
  • Review the Upgrade considerations for channels, versions, licenses, Red Hat OpenShift, Kubernetes, and IAM.

About this task

Complete this sequence of steps to upgrade the IBM App Connect Operator:

Preparing your Operator deployment for the upgrade

Before you upgrade to the latest IBM App Connect Operator version, first download the latest Helm chart that packages the Kubernetes resources, provides configuration options, references the Docker images for the software packages, and includes templates, and other metadata that are needed to deploy the Operator.

You can download the chart from the IBM Charts Helm Repository on GitHub.

You also need to patch or update the existing IBM App Connect Custom Resource Definitions (CRDs), which are cluster scoped, in preparation for the upgrade. Helm will not automatically update these CRDs when you run the helm upgrade command to upgrade to IBM App Connect Operator 12.11.1 in the next task. Therefore, you need to manually update the existing CRDs before you upgrade the Operator.

Procedure

To prepare your Operator deployment for the upgrade, complete the following steps:

  1. Download the latest Helm chart archive (ibm-appconnect-operator-12.11.1.tgz) and extract its contents to a temporary location (for example, /tmp).
    export location=/tmp
    helm pull ibm-helm/ibm-appconnect-operator --version 12.11.1 --untar --untardir $location

    Your chart artifacts should all be extracted to a /tmp/ibm-appconnect-operator subdirectory.

  2. Update your IBM App Connect CRDs.
    kubectl apply -f $location/ibm-appconnect-operator/crds/*

    This command applies the configuration from each appconnect.ibm.com_*.yaml file (under /ibm-appconnect-operator/crds) in your chart directory to your existing CRDs.

Upgrading the Operator

After you complete the steps to download the Helm chart and update your existing CRDs, you can run the helm upgrade command to upgrade to IBM App Connect Operator 12.11.1.

Attention: Upgrading from IBM App Connect Operator 12.5.1

If you are upgrading from IBM App Connect Operator 12.5.1, you cannot simply run the helm upgrade command to upgrade your Operator as described in this task. Due to a fix for label selectors in version 12.6.0 or later, you must instead uninstall your 12.5.1 Operator and then reinstall the latest Operator version because label selectors are immutable. The uninstall and reinstall actions need to be completed only for the Operator. The high-level steps are as follows:

  1. Uninstall your existing 12.5.1 Operator by running the helm uninstall command; for example:
    helm uninstall ibm-appconnect -n helmChartInstallationNamespace

    For more information, see Uninstalling IBM App Connect from the Kubernetes cluster.

    Important: Do not delete your CRDs (by running kubectl delete) and do not delete your existing App Connect Dashboard, App Connect Designer, switch server, integration server, and integration runtime instances because you risk losing data.

  2. Install the Helm chart for the latest version of the Operator in the same namespace as the deleted 12.5.1 Operator by running the helm install command; for example:
    helm install \
       ibm-appconnect ibm-helm/ibm-appconnect-operator \
       -n helmChartInstallationNamespace \
       --set namespace="helmChartInstallationNamespace" \
       --set operator.imagePullSecrets=["ibm-entitlement-key"] \
       --set operator.installMode="AllNamespaces"

    For more information, see Installing the IBM App Connect Operator by using a Helm chart.

Procedure

To upgrade to the latest version of the IBM App Connect Operator, complete the following steps:

  1. Run the helm upgrade command and use the --set flag to apply individual overrides to the values.yaml file, which specifies the default deployment values for the Operator.

    helm upgrade --reset-values --version operatorVersion \
       releaseName chartName \
       -n helmChartInstallationNamespace \
       --set property1=value1 \
    ... 
       --set propertyN=valueN
    Where:
    • operatorVersion is the IBM App Connect Operator version that you want to upgrade to; for example, 12.11.1.
    • releaseName is the release name that identifies the Operator.
    • chartName is the Helm chart name.
    • helmChartInstallationNamespace is the namespace that contains the Helm chart that you want to upgrade. This value is expected to be the same as the namespace where the Operator is deployed.
    • property represents a configuration property in Configuration properties in the values.yaml file for deploying the IBM App Connect Operator and value is your preferred value. Review the listed properties to determine which default configuration values you want to override, or which unspecified values you want to set.
    This sample command for an online environment uses the default release name and references the Helm chart package on GitHub to upgrade the chart in a namespace named ace-operator. The command also specifies the following overrides:
    • An override to upgrade the IBM App Connect Operator in the same ace-operator namespace as the chart.
    • An override to specify ibm-entitlement-key as the pull secret for authenticating to the IBM Entitled Registry that contains the images.
    • An override to allow the Operator to manage App Connect instances in all namespaces. Use the same value that was used for installing the existing Operator.
    helm upgrade --reset-values --version 12.11.1 \
       ibm-appconnect ibm-helm/ibm-appconnect-operator \
       -n ace-operator \
       --set namespace="ace-operator" \
       --set operator.imagePullSecrets=["ibm-entitlement-key"] \
       --set operator.installMode="AllNamespaces"

  2. Run the following commands to verify the status of the Operator upgrade and to confirm that the Operator pod is running.
    helm ls
    kubectl get pods