Installing the IBM App Connect Operator by using a Helm chart in an online environment

Kubernetes-only contentIf you are working in an online environment that is connected to the internet, you can obtain the Helm chart for the IBM App Connect Operator by adding the IBM Charts Helm Repository to your local Helm chart repository list. You can then reference the chart remotely when you run the helm install command to install the IBM App Connect Operator in your cluster.

Note: In an online environment, you can also download and use a local copy of the Helm chart to install the IBM App Connect Operator. For more information, see Installing the IBM App Connect Operator by using a Helm chart in an air-gapped or online environment.

Resource requirements for the IBM App Connect Operator

The minimum requirements for the Operator, as defined in the values.yaml file that specifies the default deployment values, are as follows:

resources:
  requests:
    cpu: 100m
    memory: 128Mi
    ephemeral-storage: 50Mi
  limits:
    memory: 1Gi
    ephemeral-storage: 512Mi

Step 1. Adding the Helm chart repository

Before you install the IBM App Connect Operator, add the IBM Helm Chart Repository (ibm-helm) to your local Helm chart repository list. This action provides remote access to the IBM App Connect Helm chart package that installs the Operator in your cluster.

To add the IBM Helm Chart Repository to your local repository list, run the following command:

helm repo add ibm-helm https://raw.githubusercontent.com/IBM/charts/master/repo/ibm-helm

After the command completes, you can search through the charts, and can also use the helm repo update command to obtain the latest chart information when the IBM Helm repository is updated.

Step 2. Installing the Helm chart

Install the Helm chart to deploy the IBM App Connect Operator in your cluster.

Before you begin

  • Ensure that you have administrator authority or have been granted the appropriate role-based access control (RBAC) to administer the cluster.
  • Ensure that you are logged in to your Kubernetes environment.

Procedure

To install the IBM App Connect Operator by using a Helm chart, complete the following steps:

  1. If you need to, set up a namespace for the IBM App Connect Operator and the Helm chart that are deployed when you run the helm install command:
    kubectl create namespace namespaceNameOperator

    Skip this step if you have an existing namespace that you want to use instead.

    Restriction: Do not install into any of the initial or system namespaces, which might impose restrictions on assigning role-based access control (RBAC) permissions or security context constraints:
    • The default namespace
    • Any namespace prefixed with kube-

  2. Run the following command to select the namespace that you created in the previous step, or to select an existing namespace that you want to use:
    kubectl config set-context --current --namespace=namespaceNameOperator
  3. Create an image pull secret in the namespace where you want to deploy the Operator. This secret is needed to authenticate to the IBM Entitled Registry where the images are stored, and to enable the Operator images to be pulled from the registry.
    Note: You can skip this step and instead create a pull secret after the Operator is installed, as described in Obtaining and applying your IBM Entitled Registry entitlement key. (The Operator installation itself doesn't require a pull secret, but you will need a secret to pull software images for the App Connect components after the Operator is installed.)
    1. Obtain an entitlement key that is needed to pull App Connect images from the IBM Entitled Registry:
      1. Log in the IBM Container software library with the IBMid and password that are associated with the entitled software.
      2. To obtain a new key, click Get entitlement key or Add new key, and then click Copy.

        If you have an existing key to use, click Copy.

      3. Save the entitlement key for use later.
    2. Run the following command to create a pull secret for authenticating to the IBM Entitled Registry. Name the secret ibm-entitlement-key, use cp as the username, your entitlement key as the password, and cp.icr.io as the Docker server:
      kubectl create secret docker-registry ibm-entitlement-key --docker-server="cp.icr.io" --docker-username=cp --docker-password="myEntitlementKey"
  4. To install the Operator, run the following command with the --set flag to apply one or more overrides to the default values in the online values.yaml file:
    helm install \
       releaseName chartName \
       -n helmChartInstallationNamespace \
       --set property1=value1 \
    ... 
       --set propertyN=valueN
    Where:
    • releaseName is the release name that identifies the Operator.
    • chartName is the Helm chart name.
    • helmChartInstallationNamespace is the namespace where you want to install the Helm chart. Set this value to the namespace to which 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 uses the default release name and chart name to install the Helm chart in a namespace named ace-operator. The command also specifies the following overrides:
    • An override to install the IBM App Connect Operator in the same ace-operator namespace as the chart.
    • An override to allow the Operator to manage App Connect instances in all namespaces.
    helm install \
       ibm-appconnect ibm-helm/ibm-appconnect-operator \
       -n ace-operator \
       --set namespace="ace-operator" \
       --set operator.installMode="AllNamespaces"

    The output for the helm install command should indicate that the Operator was deployed as shown in the following example:

    NAME: ibm-appconnect
    LAST DEPLOYED: Thu May 30 13:39:53 2024
    NAMESPACE: ace-operator
    STATUS: deployed
    REVISION: 1
    TEST SUITE: None
    NOTES:
    The AppConnect Operator has been deployed!
    
    To verify your install, look for:
    - Operator pod:                     kubectl get pod | grep 'ibm-appconnect-ibm-appconnect-operator'
    - MutatingWebhookConfigurations:    kubectl get mutatingwebhookconfigurations | grep 'ace-operator'
    - ValidatingWebhookConfigurations:  kubectl get validatingwebhookconfigurations | grep 'ace-operator'
    - Cluster Role:                     kubectl get clusterrole | grep 'ibm-appconnect-ace-operator-ibm-appconnect-operator'
    - Cluster Role Binding:             kubectl get clusterrolebinding | grep 'ibm-appconnect-ace-operator-ibm-appconnect-operator'
    - Role:                             kubectl get role | grep 'ibm-appconnect-ace-operator-ibm-appconnect-operator'
    - Role Binding:                     kubectl get rolebinding | grep 'ibm-appconnect-ace-operator-ibm-appconnect-operator'
    - Service Account:                  kubectl get serviceaccount | grep 'ibm-appconnect'

  5. Run the following commands to verify the status of the Operator deployment:
    helm ls
    You should see output that is similar to this:
    NAME                 NAMESPACE        REVISION      UPDATED                                   STATUS        CHART                               APP VERSION
    ibm-appconnect       ace-helm         1             2024-06-03 14:12:30.225442 +0100 BST      deployed      ibm-appconnect-operator-12.11.1     12.11.1
    kubectl get pods
    You should see output that is similar to this:
    NAME                              READY   STATUS    RESTARTS   AGE
    ibm-appconnect-5ff87d696b-bgvxg   1/1     Running   0          2m31s

What to do next