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.
- 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.
- 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.
- 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.