Installing the IBM App Connect Operator by using a Helm chart in an online environment
If 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.
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:
- 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-
- The
- 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
- 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.)
- Obtain an entitlement key that is needed to pull App Connect
images from the IBM Entitled Registry:
- Log in 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
, usecp
as the username, your entitlement key as the password, andcp.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"
- Obtain an entitlement key that is needed to pull App Connect
images from the IBM Entitled Registry:
- 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'
- 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
- 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.