Installing the IBM App Connect Operator by using a Helm chart in an air-gapped or online environment
If you are working in an online environment, or an air-gapped environment
with no internet connection, you can obtain the Helm chart for the IBM App Connect Operator by downloading the chart from the IBM Charts Helm Repository. You can then reference the chart locally
when you run the helm install command to install the IBM App Connect Operator in your cluster.
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. Downloading the Helm chart
The Helm chart that you use to install the IBM App Connect Operator is available as an archive file in the IBM Charts Helm Repository on GitHub. You can download this chart for use in your online or air-gapped environment.
To download the Helm chart, complete the following steps:
- Go to https://github.com/IBM/charts/tree/master/repo/ibm-helm.
- Locate the IBM App Connect Operator chart archive and readme file, and
then download them to your local computer:
- ibm-appconnect-operator-12.21.0.tgz
- ibm-appconnect-operator.md
- To extract the contents of the ibm-appconnect-operator-12.21.0.tgz file to
a working directory for this installation task, run the following command from the directory where
the file is located (for example, /tmp/appconn-12.21.0-helm):
tar xvzf ibm-appconnect-operator-12.21.0.tgzYour chart artifacts should all be extracted to a /tmp/appconn-12.21.0-helm/ibm-appconnect-operator subdirectory.
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.
- If you want to install into an air-gapped cluster, you must have mirrored the App Connect images to a private registry in your cluster.
About this task
The values file (/ibm-appconnect/values.yaml) in the directory that you downloaded earlier contains the default configuration settings for deploying the IBM App Connect Operator. When you install the Operator, you can override the values in this file in either of these ways:
- Before you run the helm install command to install the Helm chart, update the values.yaml file with your preferred values.
- When you run the helm install command, apply individual overrides at the command line.
For more information, see Configuration properties in the values.yaml file for deploying the IBM App Connect Operator.
ibm-appconnect-operator) for the
IBM App Connect Operator is typically
/path/to/dir/ibm-appconnect-operator. When you run the documented
helm commands, ensure that you do so from the /path/to/dir
level. For example, if you extracted the ibm-appconnect-operator-12.21.0.tgz file, which you downloaded earlier, to /tmp/appconn-12.21.0-helm, switch to this directory before you run the helm commands.
cd /tmp/appconn-12.21.0-helmProcedure
To install the IBM App Connect Operator by using a Helm chart, complete the following steps:
- 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 namespaceNameOperatorSkip 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
defaultnamespace - Any namespace prefixed with
kube-
- The
- Run the following command to select the new 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 - Create an image pull secret in the namespace where you want to deploy the Operator. This secret
is needed to authenticate to the registry where the images are stored, and to enable the Operator
images to be pulled from the registry. Complete the relevant step for your environment and registry:
- Air-gapped or online environment that pulls from a private registry: Run the following
command to create a pull secret for authenticating to the private registry where you mirrored the
images, or to a private registry where you saved the
images:
kubectl create secret docker-registry my-registry-key --docker-server=private-registry-server --docker-username=myUsername --docker-password=myPassword --docker-email=myEmail - Online environment that pulls from the IBM Entitled Registry: To create
a pull secret for authenticating to the IBM Entitled Registry, complete the
following steps.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.)
- Obtain an entitlement key that is needed to pull App Connect
images from the IBM Entitled Registry:
- Log in to the IBM Container software library with the IBMid and password that are associated with the entitled software.
- 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.
- Save the entitlement key for use later.
- Run the following command to create a pull secret for authenticating to the IBM Entitled Registry. Name the secret
ibm-entitlement-key, usecpas the username, your entitlement key as the password, andcp.icr.ioas the Docker server:kubectl create secret docker-registry ibm-entitlement-key --docker-server="cp.icr.io" --docker-username=cp --docker-password="myEntitlementKey"
- Obtain an entitlement key that is needed to pull App Connect
images from the IBM Entitled Registry:
- Air-gapped or online environment that pulls from a private registry: Run the following
command to create a pull secret for authenticating to the private registry where you mirrored the
images, or to a private registry where you saved the
images:
- To run the helm install command to install the Helm chart, complete the
following steps:
- Online environment only: Complete either of these steps to specify configuration values
for deployment and to install the chart:
- Update the values.yaml file and then run the helm
install command:
- Open the file in a text editor and update the values that you want to override. For more information, see Configuration properties in the values.yaml file for deploying the IBM App Connect Operator.
- Save your changes and then close the file.
- To install the Operator, run the following command:
helm install \ releaseName chartName \ -n helmChartInstallationNamespaceWhere:- 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.
This sample command uses the default release name and chart name to install the IBM App Connect Operator in the namespace (for example, ace-operator) that is specified in the values.yaml file. The command also installs the Helm chart in the same ace-operator namespace in the cluster.
helm install ibm-appconnect ./ibm-appconnect-operator -n ace-operator
- Apply individual overrides to the default values in the values.yaml file by
using the --set flag when you run the helm install command:
helm install \ releaseName chartName \ -n helmChartInstallationNamespace \ --set property1=value1 \ ... --set propertyN=valueNWhere:- 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-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' - Update the values.yaml file and then run the helm
install command:
- Air-gapped environment only: Complete either of these steps to specify configuration
values for deployment and to install the chart:
- Update the values.yaml file and then run the helm
install command:
- Open the file in a text editor and update the values that you want to override. For more information, see Configuration properties in the values.yaml file for deploying the IBM App Connect Operator.
- Save your changes and then close the file.
- To install the Operator, run the following command:
helm install \ releaseName chartName \ -n helmChartInstallationNamespaceWhere:- 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.
This sample command uses the default release name and chart name to install the IBM App Connect Operator in the namespace (for example, ace-operator) that is specified in the values.yaml file. The command also installs the Helm chart in the same ace-operator namespace in the cluster.
helm install ibm-appconnect ./ibm-appconnect-operator -n ace-operator
- Apply individual overrides to the default values in the values.yaml file by
using the --set flag when you run the helm install command:
helm install \ releaseName chartName \ -n helmChartInstallationNamespace \ --set property1=value1 \ ... --set propertyN=valueNWhere:- 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 specify where to find the image for the Operator deployment.
- An override to specify the private registry that contains the images that the Operator needs and the pull secret for authenticating to this registry.
helm install \ ibm-appconnect ./ibm-appconnect-operator \ -n ace-operator \ --set namespace="ace-operator" \ --set operator.deployment.repository="my.private.registry.example.com/appconnect-airgap-docker-local/k8s" \ --set operator.privateRegistry="my.private.registry.example.com/appconnect-airgap-docker-local/k8s" \ --set operator.imagePullSecrets=["my-secret-name"]
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' - Update the values.yaml file and then run the helm
install command:
- Online environment only: Complete either of these steps to specify configuration values
for deployment and to install the chart:
- Run the following commands to verify the status of the Operator
deployment:
helm lsYou should see output that is similar to this:NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION ibm-appconnect ace-operator 1 2024-06-03 14:12:30.225442 +0100 BST deployed ibm-appconnect-operator-12.21.0 12.21.0kubectl get podsYou 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
- Deploy License Service to track license consumption of IBM App Connect.
For compliance with the licensing requirements, ensure that License Service is deployed on your cluster to monitor and measure license usage of App Connect. For more information, see Tracking license consumption of IBM App Connect.
- Obtain an entitlement key and create your IBM App Connect authoring
and runtime environments, and other resources.
After you install the Operator, users with the relevant permissions can use the provided APIs to create instances of the App Connect components. If you do not already have one, an entitlement key (supplied as a Kubernetes pull secret) will be required to pull the software images for these components from the IBM Entitled Registry. For more information, see Obtaining and applying your IBM Entitled Registry entitlement key and Creating authoring and runtime environments, and other IBM App Connect resources in your Kubernetes cluster.