Prerequisites for Component Pack

On a very high level, to install and successfully run HCL Component Pack, you will need HCL Connections plus additional resources to satisfy the following requirements:

  • Fully functioning Kubernetes cluster using Docker or containerd as the container runtime, and support for persistent volumes.
  • Docker Registry for storing Component Pack images and later pulling them by Kubernetes workers.
  • One machine with kubectl and Helm v3 installed and configured and at least 50G of free space. This machine can be any machine in the cluster, but must be used exclusively for Component Pack installation, configuration, and upgrades.

If you are new to Component Pack, and doing your first installation, you can choose to defer to the HCL-provided Ansible automation for setting up Component Pack and all its dependencies. For information on the automation, see HCL's open-source GitHub for the documents Quickstart for Setting Up HCL Connections and Component Pack Using Ansible Automation and HCL Connections and Component Pack Automation Scripts.

Supported Kubernetes platforms

How to install Kubernetes?
Official Kubernetes documentation and terminology distinguish between learning and production environments, and it is best if you follow their documentation on how to set up Kubernetes. Note that Component Pack needs to run in both learning and production environments.
You can also use the HCL-provided Ansible automation to install Kubernetes end to end.
Supported container runtimes
Docker and containerd are supported as the container runtime for Kubernetes. Kubernetes 1.19 requires a Docker runtime, but later versions can use containerd as the runtime. See the Kubernetes documentation for the installation instructions for Docker. Docker versions depend heavily on the version of Kubernetes that you are going to use.
If you are setting up the cluster yourself, see which Docker versions are supported by which version of Kubernetes in the Kubernetes documentation.
Supported Kubernetes versions

Component Pack for Connections was tested and is supported on Kubernetes 1.19 using a Docker runtime, and Kubernetes 1.20, 1.21, 1.22, and 1.24 using a containerd runtime. Component Pack for Connections follows the same Kubernetes support pattern that Kubernetes itself is following. Component Pack was also tested and is supported on Amazon EKS 1.19 and on RedHat OpenShift 4.4 platforms.

Note: Applications on which Component Pack relies, such as Community ingress, have their own Kubernetes support pattern, and should be double-checked before beginning a Component Pack install or upgrade.
Supported Kubernetes flavors
Component Pack is designed to work with Kubernetes platform that are using Docker or containerd as the container runtime. To ensure compatibility, all development and testing is done internally on the vanilla Kubernetes installations, without preference for any specific provider.
However, HCL is always working on optimizing the Component Pack experience, which includes lowering costs for our customers, and is therefore trying to ensure that some vendor-specific options are supported as well.
As noted in the preceding section, starting with Component Pack version 7, deploying to the Amazon EKS or RedHat OpenShift 4 platforms is supported.
Supported Kubernetes network plugins
Component Pack is developed and tested using Calico as the Kubernetes CNI, but you can use another CNI if it better suits your use case. Note that Calico is also supported by OpenShift and Amazon EKS.
Support for Persistent volumes
Component Pack uses persistent volumes to store the data. Starting with version 7, HCL supports persistent volumes on NFS and on Amazon EFS using automatic volume claims.
Cluster layout considerations
Because Component Pack runs on Kubernetes, it can run on one or multiple servers, depending on how your Kubernetes cluster is set up.

If you are considering a vanilla Kubernetes installation, for production it is best to have at least one master node and at least three workers. This layout can support up to 1000 concurrent users, and more if you scale Customizer properly. For more information on these requirements, see the section Sizing the Kubernetes cluster and the sizing guide for Connections and Component Pack.

Supported Helm Versions

Component Pack supports Helm v3.

Note: If you are upgrading from Component Pack 6.5 and planning to migrate Elasticsearch data, you can start the upgrade while on Helm 2, and switch to Helm 3 once data migration is complete. For more information, see Sample steps to upgrade and migrate data from Component Pack 6.5 to 7.