Skip to main content

System Requirements (Minimum)

The topic describes the requirements for installing the application on existing Kubernetes Cluster be it EKS, AKS, GKE .


IMPORTANT

A dedicated cluster is a prerequisite for iceDQ installation, as its architecture is incompatible with single-namespace deployment.

ItemRequirement
Kubernetes ServiceAzure Kubernetes Service, Amazon Elastic Kubernetes Service, Google Kubernetes Engine
Kubernetes Versionv1.29, v1.28 or v1.27
Cluster Size2 Node Cluster
CPU Resource16 vCPUs per node
Memory Resource32GB RAM per node
Storage Resource1TB RWX (Storage Class)
Load BalancerAzure Load Balancer, Amazon Load Balancer, Google Load Balancer
Backup Store (Optional)Azure Blob, AWS S3, Google Cloud Storage
External Database (Optional)Managed Postgres
important
  • Store backups and snapshot in backup store
  • Use LB to access application UI (443) and platform installer UI (8800)
  • Map TCP ports 443 to 32222 and 8800 to 8800 Kubernetes ports in Load balancer.

Critical Prerequisites

Port Forwarding

To support port forwarding, Kubernetes clusters require that the Socket CAT (socat) package is installed on each node.

If the package is not installed on each node in the cluster, you see the following error message when the installation script attempts to connect to the admin console: unable to do port forwarding: socat not found.

To check if the package that provides socat is installed, you can run which socat. If the package is installed, the which socat command prints the full path to the socat executable file. For example, usr/bin/socat.

If the output of the which socat command is socat not found, then you must install the package that provides the socat command. The name of this package can vary depending on the node's operating system.

RBAC Requirements

The user that runs the installation command must have at least the minimum role-based access control (RBAC) permissions that are required by the app manager. If the user does not have the required RBAC permissions, then an error message displays: Current user has insufficient privileges to install Admin Console.

Currently, the application requires cluster-scoped access. With cluster-scoped access, a Kubernetes ClusterRole and ClusterRoleBinding are created that grant the app manager access to all resources across all namespaces in the cluster.

To install the app manager with cluster-scoped access, the user must meet the following RBAC requirements:

  • The user must be able to create workloads, ClusterRoles, and ClusterRoleBindings.
  • The user must have cluster-admin permissions to create namespaces and assign RBAC roles across the cluster.

Outbound URL Requirements

Our recommendation is to perform the installation in online mode. For this following domains need to be accessible from servers performing online installations. For a list of IP addresses for these services, see replicatedhq/ips in GitHub.

ExceptionPurpose
k8s.kurl.shInstallation script
kurl.shInstallation script
amazonaws.comInstallation script dependencies
registry.icedq.comContainer images
proxy.icedq.comContainer images
get.icedq.comInstallation script
icedq.azurecr.ioContainer dependency images
resource.icedq.comInstaller license verification
auth.docker.ioDocker authentication
registry-1.docker.ioDocker registry
production.cloudflare.docker.comDocker infrastructure

Private Registry Requirements

Private registries are required for air gap environments because you push the admin console container images to a private registry during installation. For online environments, it is optional to use private registries.

Make sure that you use a compatible registry. The app manager has been tested for compatibility with the following registries:

  • Amazon Elastic Container Registry
  • Azure Container Registry
  • Docker Hub
  • JFrog Artifactory
  • Sonatype Nexus
  • Harbor
IMPORTANT

To avoid docker rate limit use a Pro or Team account.

External Database

The application is bundled with a postgreSQL database repository for POC purposes. For production deployment we recommend using external postgreSQL 10.X and above database server.

important

Embedded database is not accessible from outside the cluster.

Terraform Scripts

To streamline your installation experience, iceDQ offers Terraform scripts for effortless AKS and EKS cluster creation. Submit a request to [email protected] when you're ready to get started.

Limitations

  • Changing annotations, labels, resources, node selector, tolerations, or affinity settings for the iceDQ Platform Installer pods is not currently supported.
  • The StorageClass for the iceDQ Platform Installer pods is required to be default and cannot currently be changed.
  • Multiple iceDQ installs into the same cluster is not currently supported.