Common Prerequisites for Kyvos Enterprise Deployment
This documentation is for Kyvos 2026.8.x. To view documentation for other Kyvos versions, click here. |
|---|
1. Overview
This section covers the prerequisites applicable to Kyvos Enterprise deployments on AWS, Azure, GCP, and on-premises environments.
2. All Clouds
2.1. Operating System & Software
Verify your OS is supported for your Kyvos release version (see "Supported environments and applications" in the Release Notes for that release).
Install Python 3.6.8.
2.2 User Account & Permissions
Use a non-root user account for deployment.
This account needs read and write permissions on the installation path.
2.3 Disk Space
Ensure sufficient free disk space on all cluster nodes.
2.4 Required Ports & SSH Access
See the required ports for Kyvos.
Kyvos Manager is a distributed cluster lifecycle management tool and relies on SSH to manage cluster nodes:
SSH access to all cluster nodes is required for lifecycle activities: upgrades, patches, rollbacks, configuration/service management, and configuration syncing.
The
scpcommand must be available (with execute permissions) on all cluster nodes, so Kyvos Manager can copy files — application bundles, patches, licenses — from the Manager node to cluster nodes.
2.5 Required OS Commands
Install all Required OS Commands (used by Kyvos Manager and Kyvos) on every cluster node.
(Optional) To enable TLS, install OpenSSL on the Kyvos Manager and Kyvos Analytical Server nodes:
yum install openssl
2.6 Cloud IAM Roles
Required permissions must be attached to the deployment role for your cloud platform:
AWS — IAM permissions
Azure
GCP
(See platform-specific guides for exact permission lists.)
2.7 Kernel & Resource Limits
Configure the following kernel and resource limits on all Kyvos nodes, including the Analytical Server, Query Engine, and Kyvos Manager.
Open the kernel parameter file to increase max map count: vi /proc/sys/vm/max_map_count
Set the value to
524288.Run the following commands as the root user to increase the open-file limits for the
kyvosuser:echo kyvos hard nofile 524288 >> /etc/security/limits.conf echo kyvos hard nofile 524288 >> /etc/security/limits.d/20-nproc.conf echo kyvos soft nofile 524288 >> /etc/security/limits.conf echo kyvos soft nofile 524288 >> /etc/security/limits.d/20-nproc.conf
2.8 CPU & Memory
Configure Kyvos CPU and memory allocation based on the capacity of the selected VM instance to ensure optimal resource utilization. For example, for a node provisioned with 64 GB of RAM, allocate an appropriate amount of memory and CPU cores to Kyvos processes while reserving sufficient resources for the operating system and other required services.
2.9 System Resources
Node | Requirement |
|---|---|
Analytical Server and Query Engine nodes | Minimum 32 GB RAM, 4 CPU cores |
Kyvos Manager node | Minimum 200 GB available space in the installation directory |
Query Engine nodes | Minimum 500 GB hard disk |
For more details about system resources, see the Supported environments and applications section.
2.10 User Account
Create a non-sudo user account with common credentials across all nodes on which the Kyvos cluster will be installed. Use these credentials during Kyvos cluster installation.
If deploying the Kyvos cluster using password-based authentication for service nodes, ensure the required permissions are available on all VM instances for the Linux user deploying the cluster.
2.11 Required Directories
Create the following directories on all nodes:
/data/kyvos/app/data/kyvos/install
Permissions: Set
750permissions on these directories and make the Kyvos user the owner.
2.12 Required Packages
Package | Node(s) | Command |
|---|---|---|
OpenSSL (enables TLS) | Kyvos Manager node |
|
zip | All nodes |
|
fontconfig | All nodes |
|
2.13 Semantic Model Local Path
Create a directory for the Semantic Model local path on Query Engine nodes.
Set
750permissions and make the Kyvos user the owner.
Example: /data1/kyvos/app/cube_local_cache
On this page:
- 1 1. Overview
- 2 2. All Clouds
- 2.1 2.1. Operating System & Software
- 2.2 2.2 User Account & Permissions
- 2.3 2.3 Disk Space
- 2.4 2.4 Required Ports & SSH Access
- 2.5 2.5 Required OS Commands
- 2.6 2.6 Cloud IAM Roles
- 2.7 2.7 Kernel & Resource Limits
- 2.8 2.8 CPU & Memory
- 2.9 2.9 System Resources
- 2.10 2.10 User Account
- 2.11 2.11 Required Directories
- 2.12 2.12 Required Packages
- 2.13 2.13 Semantic Model Local Path
- 3 3. Installing Prerequisites for Wizard Deployment using Kyvos Single Script
- 4 4. Kyvos Manager Installation for Wizard-Based Deployment
- 5 5. On-Premises for No-Spark Kyvos Deployment
- 6 6. Single Node Standard (SNS)-Based Deployment
- 7 7. Existing Kubernetes (K8s) Cluster for AWS and Azure
- 8 8. Subject Alternative Name (SAN)-Enabled TLS Certificates
Kyvos Enterprise Deployments:
3. Installing Prerequisites for Wizard Deployment using Kyvos Single Script
Kyvos provides one deployment script (PrereqScriptAllCloud.sh) that automatically installs all necessary prerequisites across AWS, GCP, and Azure. The script works with all instance types, including:
Analytical Server
Query Engine
Kyvos Manager
Kyvos Web Portal
3.1 Configuring the Deployment Script
Before running the script, open the file and define two categories of variables:
Variable Type | Description |
|---|---|
Common Variables | Apply to all cloud platforms. All common variables must be completed. |
Cloud-Specific Variables | Apply only to your target platform (AWS, GCP, or Azure). |
To configure the script, perform the following steps.
For AWS, Azure, and GCP (N2 series), download the prerequisites deployment script.
For GCP N4 series, download the prerequisites deployment script.
Configure the required variables:
Open the script file and enter the required values.
Ensure that all common variables are filled in.
Provide the appropriate cloud-specific variables based on your deployment platform.
Execute the script based on your cloud provider (AWS, Azure, and GCP).
Create a new instance.
For AWS: EC2 Instance
For Azure: Virtual Machine
For GCP: A new compute engine.
SSH into the instance (AWS and GCP) or VM (Azure).
Navigate to the /tmp/ directory and place the script file there (ensuring all variables are pre-configured).
Run the following commands with root user:
chmod 777 PrereqScriptAllCloud.sh ./PrereqScriptAllCloud.sh
3.2 Dedicated Compute Cluster
If you use dedicated compute cluster, see the Working with dedicated compute cluster section for all clouds.
3.3 Install PostgreSQL 16 for Wizard-Based Deployments
If your wizard-based deployment will use PostgreSQL 16 as an installed service, complete these manual steps before deployment.
Step 1 — Install PostgreSQL 16
Execute the script with root user.
Manually install PostgreSQL 16 on the Kyvos Manager (KM) node.
Execute the Kyvos-provided installation shell configure-postgres16.sh script.
Step 2 — Update JDBC properties
Before starting Kyvos Manager, updatejdbc.propertiesto set: installedRepo=true
4. Kyvos Manager Installation for Wizard-Based Deployment
This section covers the software and hardware prerequisites for installing Kyvos Manager. It also covers the standard checks you must perform before starting the installation.
See the Kyvos Manager Installation Guide for more details.
5. On-Premises for No-Spark Kyvos Deployment
The same NFS (Network File System) must be mounted on every compute node in the cluster.
6. Single Node Standard (SNS)-Based Deployment
Machines must have at least 32 GB memory.
7. Existing Kubernetes (K8s) Cluster for AWS and Azure
7.1 Before Using an Existing K8s Cluster
Shared clusters are not supported on AWS.
On AWS, namespaces for the existing K8s cluster must use the fixed names
kyvos-computeandkyvos-monitoring.On Azure, existing Kubernetes clusters are not supported for:
Fresh automated deployment
Fresh wizard-based deployment
(They are supported only for configuring K8s in an existing external compute-based cluster.)
The node pool of the Kubernetes cluster must be dedicated to Kyvos use.
A single Kubernetes cluster can currently be used with only one Kyvos cluster — even if dedicated node pools are configured. In other words, you cannot assign one dedicated node pool of a K8s cluster to one Kyvos cluster and another dedicated node pool of the same K8s cluster to a different Kyvos cluster.
The node pool used for Kyvos must use a single instance type. Node pools with multiple instance types are not supported.
Each instance type in the node pool must meet a minimum requirement of 4 cores and 16 GB memory.
Listing Kubernetes clusters and their node pools requires the appropriate permissions. Without these permissions, the relevant input field falls back to a text field instead of a dropdown.
7.2 Details for Using an Existing K8s Cluster with Kyvos
The Kubernetes cluster name can be arbitrary — there is no requirement to use a fixed name.
The node pool name can also be arbitrary, so a user-provided pool can be used with Kyvos.
It does not matter how the pre-existing Kubernetes cluster was created (UI, ARM, or CFT) — it can still be used with Kyvos.
The role or identity used to create the Kubernetes cluster can be the same as, or different from, the one used to create Kyvos resources. As long as the Kyvos role has the required permissions to access the Kubernetes cluster, it will work correctly.
If the Kubernetes cluster resides in a different VPC than Kyvos, VPC peering is required.
The Kubernetes cluster's security group and subnet should generally match those of the Kyvos cluster. If they differ, the existing K8s cluster can still be used, provided the Kyvos cluster's security group is updated with the necessary port and subnet access permissions.
8. Subject Alternative Name (SAN)-Enabled TLS Certificates
From Kyvos release 2026.5 onwards, Kyvos Enterprise (cloud), SaaS, and Marketplace deployments running JRE 17 must use SAN-enabled TLS certificates.
The certificate's Subject Alternative Name (SAN) extension must include the IP addresses and/or hostnames of all Analytical Server, Web Portal, Query Engine, and Kyvos Manager nodes. Certificates missing required SAN entries are not supported — validate and update certificates before upgrading.
Platform | Deployment Type | TLS (Yes/No) | JRE Version | SAN Enabled TLS Certificates (Yes/No) |
|---|---|---|---|---|
Clouds Enterprise (AWS, Azure, and GCP) | No-Spark | Yes | 17 | Yes |
On premises | No-Spark | Yes | 8 | No |
Marketplace (AWS, Azure, and GCP) | No-Spark | Yes | 17 | Yes |
SaaS (AWS, Azure, and GCP) | No-Spark | Yes | 17 | Yes |
Note
This is not applicable to on-premises or any cloud environment running with Java8 setup.
When adding a node from Kyvos Manager, the TLS certificate must contain SAN entries for the IP addresses and/or hostnames of all Analytical Server, Web Portal, Query Engine, and Kyvos Manager nodes.
Post Disaster Recovery (DR), new SAN-enabled TLS certificates must be generated and configured.
To validate that a certificate contains the required Subject Alternative Name (SAN) entries, run the following command:
Open a terminal on the system where OpenSSL is installed.
Run one of the following commands based on your deployment type:
For existing TLS-enabled deployments:
openssl s_client -connect SERVER.DOMAIN.COM:PORT -servername DOMAIN.COM </dev/null 2>/dev/null | openssl x509 -noout -ext subjectAltNameFor new deployments:
openssl x509 -in certificate.crt -noout -ext subjectAltName
Review the command output and verify that the Subject Alternative Name (SAN) extension contains all required DNS names and/or IP addresses for the deployment.
Example:
DNS:kyvosinsights.zendesk.com or IPs or BothEnsure that the SAN extension includes the hostnames and IP addresses of all applicable Analytical Server, Web Portal, Query Engine, Compute Master (for Azure Kubernetes-based deployments with compute master only), and Kyvos Manager nodes.
If any required DNS names or IP addresses are missing, update and reissue the certificate before proceeding with the deployment or upgrade.