Sizing and system requirements
Sizing considerations
Sizing your cluster involves many considerations. This content describes some of these considerations and provides a best-effort guide to help you size your cluster.
The primary consideration is what services need to run on your cluster. This content provides sizing guidance for the following services only:
- IBM Cloud Platform Common Services
- IBM Edge Application Manager (IEAM) Management Hub
Optionally, you can install OpenShift Container Platform cluster logging.
IEAM database considerations
Two supported database configurations impact sizing considerations for the IEAM management hub:
-
Local databases are installed by default as OpenShift resources onto your OpenShift cluster. Suitable for test/evaluation use-cases, but can also be configured for lite production workloads.
-
Remote databases are databases that are provisioned externally from the IEAM cluster. These can be either on-premise or cloud SaaS offerings. Remote databases are recommended for all production workload use-cases.
IEAM local database storage requirements
In addition to the always installed Secure Device Onboarding (SDO) component, local databases and secrets manager require persistent storage. This storage uses dynamic storage classes that are configured for your OpenShift cluster.
For more information, see supported dynamic OpenShift storage options and configuration instructions .
You are responsibile for enabling encryption at rest at the time of cluster creation. It can often be included as part of cluster creation on cloud platforms. For more information, see the following documentation .
A main consideration for the type of storage class that is chosen, is whether that storage class supports allowVolumeExpansion. The following returns true if it does:
oc get storageclass <desired storage class> -o json | jq .allowVolumeExpansion
If the storage class allows volume expansion, sizing can be adjusted post installation (given the underlying storage space is available for allocation). If the storage class does not allow volume expansion, you must pre-allocate storage for your use case.
If more storage is necessary after initial installation with a storage class that does not allow for volume expansion, you will need to run through a re-installation by using the steps that are described in the backup and recovery page.
The allocations can be changed before the IEAM Management Hub installation by modifying the Storage values as described on the configuration page. The allocations are set to the following default values:
- PostgreSQL Exchange (Stores data for the Exchange, and fluctuates in size depending on usage, but the default storage setting can support up to the advertised limit of edge nodes)
- 20 GB
- PostgreSQL Agbot (Stores data for the Agbot, the default storage setting can support up to the advertised limit of edge nodes)
- 20 GB
- MongoDB Cloud Sync Service (stores content for the Model Management Service (MMS). Depending on the number and size of your models, you might want to modify this default allocation.
- 50 GB
- Hashicorp Vault persistent volume (Stores secrets used by edge device services)
- 10 GB (This volume size is not configurable)
-
Secure Device Onboarding persistent volume (Stores device ownership vouchers, device configuration options, and the deployment status of each device)
- 1 GB (This volume size is not configurable)
-
Notes:
- IEAM volumes are created with the ReadWriteOnce access mode.
-
IBM Cloud Platform Common Services has additional storage requirements for its services. The following volumes are created in the ibm-common-services namespace when installing with IEAM defaults:
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE alertmanager-ibm-monitoring-alertmanager-db-alertmanager-ibm-monitoring-alertmanager-0 Bound pvc-3979805f-8e3b-44d6-a039-cd438a3dbb25 10Gi RWO csi-cephfs 20h mongodbdir-icp-mongodb-0 Bound pvc-e21604a7-14e4-4049-824e-a5a9feb472c8 20Gi RWO csi-cephfs 20h mongodbdir-icp-mongodb-1 Bound pvc-eaecfa29-5c6a-45c2-9d26-58a393103791 20Gi RWO csi-cephfs 20h mongodbdir-icp-mongodb-2 Bound pvc-42282c2b-bde8-4adf-86ad-006d2f07df91 20Gi RWO csi-cephfs 19h prometheus-ibm-monitoring-prometheus-db-prometheus-ibm-monitoring-prometheus-0 Bound pvc-90237949-6f13-481b-8afa-7d86883b8a4f 10Gi RWO csi-cephfs 20h
You can learn more about IBM Cloud Platform Common Services storage requirements and configuration options here.
IEAM remote database considerations
Leveraging your own remote databases reduces the storage class and compute requirements for this installation, unless they are provisioned on the same cluster.
At a minimum, provision Remote databases with the following resources and settings:
- 2vCPU's
- 6 GB of RAM
- The default storage sizes mentioned in the previous section
- For the PostgreSQL databases, 100 max_connections (which is typically the default)
Worker node sizing
The services that use Kubernetes compute resources will be scheduled across available worker nodes.
Minimal requirements for the default IEAM configuration
Number of worker nodes | vCPUs per worker node | Memory per worker node (GB) | Local disk storage per worker node (GB) |
---|---|---|---|
3 | 8 | 32 | 100 |
Note: Some customer environments might require additional vCPUs per worker node or additional worker nodes, so more CPU capacity can be allocated to the Exchange component.
Note: For large production environments with 10,000 or more edge devices registered, it is recommended that a large common services configuration is used. This may require additional worker nodes or more vCPUs. The following command can be used to change the common services configuration
oc patch -n ibm-common-services commonservices common-service --type=merge -p '{"spec": {"size": "large"}}'
After you determine the appropriate sizing for your cluster, you can begin the installation.