Installing an Open Horizon agent
Before you can deploy a Service Interconnect edge gateway in a Kubernetes namespace, you must install an Open Horizon agent in that namespace. The agent container image is stored in the IBM Hybrid Cloud Mesh (Mesh) instance of the IBM Cloud Container Registry (ICR). Mesh distributes the image from the ICR, removing the need to provide your own image repository.
Before you begin
- Ensure that the host machine from which you start the agent installation meets the following requirements:
- The host is a Linux® machine or virtual machine with the AMD64 architecture.
- The host can access the Kubernetes cluster with the
kubectl
CLI or the OpenShift® Container Platform cluster with theoc
CLI. You log in to the cluster as a user with administrative privileges.
- To get the installation package for the Open Horizon agent, install and configure the Mesh CLI on the host machine.
- Configure a Kubernetes storage class that can be used to satisfy the Open Horizon agent's persistent volume claim (PVC). The volume must be immediately
available, and the agent must have read and write access to the volume.Complete the following steps:
- View the storage classes that are available for your cluster:
- In a Kubernetes
environment:
kubectl get storageclasses
- In an OpenShift Container Platform
environment:
oc get storageclasses
- In a Kubernetes
environment:
- Configure your storage class. Use the following storage class examples as a guide:
- For Red Hat® OpenShift Kubernetes Service (ROKS) and IBM Cloud Kubernetes Service, you might use
ibmc-vpc-block-10iops-tier
oribmc-vpc-file-dp2
.To use the
ibmc-vpc-file-dp2
storage class, ensure that the File Storage for VPC driver is installed. See Enabling the IBM Cloud File Storage for VPC add-on. - For AWS Elastic Kubernetes Service (EKS), you might use
ebs-sc
.To use the
ebs-sc
storage class, ensure that the Amazon Elastic Block Store (EBS) driver is installed. See Amazon EBS CSI driver. - For Red Hat OpenShift Service on AWS (ROSA), you might use
gp2
. - For Azure Red Hat OpenShift (ARO), you might use
managed-csi
. - For Azure Kubernetes Service (AKS), you might use
default
. - For Google Cloud Google Kubernetes Engine (GKE), you might use
standard-rwo
. - For Red Hat OpenShift Container Platform, you might use
rook-cephfs
. - For all other Kubernetes environments, the available storage classes depend on how Kubernetes is
configured. Use the following information to help you configure your storage class:
- A PVC is created during the installation of the agent and is used by the agent to store data for
the agent and cron job. The storage class must satisfy the following requirements:
- Supports read and write access to the volume.
- Supports
ReadWriteOnce
orReadWriteMany
access mode. - Is available immediately.
-
If a storage class is used that doesn't exist on the cluster, the PVC doesn't bind to the persistent volume. The agent pod stays in the
Pending
status and the installation of the agent times out. You can run the following command to view the error message for the specified storage class:kubectl describe persistentvolumeclaims -n <agent_namespace> openhorizon-agent-pvc
- A PVC is created during the installation of the agent and is used by the agent to store data for
the agent and cron job. The storage class must satisfy the following requirements:
- For Red Hat® OpenShift Kubernetes Service (ROKS) and IBM Cloud Kubernetes Service, you might use
- View the storage classes that are available for your cluster:
About this task
The latest version of the Open Horizon agent is installed.
For more information about the Open Horizon project, see Open Horizon.