Understanding Hardware and Software Requirements

Hardware Requirements

Before proceeding with the installation, ensure that you have, at minimum, the following hardware with the specifications given below:

  • Single Node Requirements
    Node Bare Minimum
    CPU RAM Hard Disk Space
    Single Node 8 32 GB 500 GB
  • Multi-Node Requirements
    Node Bare Minimum
    CPU RAM Hard Disk Space
    Multi-node (master node)
    Note: One node for a single master installation and a minimum of three nodes for multi-master installation.
    4 4 GB 100 GB
    Multi-node (worker node) 8 32 GB 500 GB
Note: For more information on the nodes, refer to the Supported Deployment Methods and Types section.

For deploying the OVA, ensure that you have all the prerequisites as mentioned below.

  • Platform Bare Minimum Requirements
Supported Virtualization Platforms Versions VCPU RAM HDD
VM Server, VMware ESXi 5.5 or later 8v 32 GB 1 TB

Software Requirements

The following operating systems support both single node and multi-node installations of AppViewX:
Operating System Supported Versions
RHEL
  • 9.2
  • 9.3
  • 9.4
  • 9.5
  • 9.6
Ubuntu
  • 20.04
  • 22.04
  • 24.04
Rocky Linux
  • 9.5
Oracle Linux
  • 9.2
  • 9.3
  • 9.4
  • 9.5
  • 9.6

Ensure the following packages are installed before proceeding with the AppViewX installation:

For RHEL:
  • nmap
  • curl
  • bindutils
  • net-tools
  • rsync
  • nmapncat
  • fontconfig
  • zip
  • unzip
  • sysstat
  • tcpdump
For UBUNTU:
  • nmap
  • curl
  • ebtables
  • sysstat
  • zip
  • unzip
  • rsync
  • dnsutils
  • fontconfig
  • net-tools
  • tcpdump

Prerequisite OS Packages and their Usage

This section outlines the essential packages required for the Linux server, which are necessary for both the installation and maintenance of AppViewX application. Each listed package is accompanied by a detailed description of its functionality and usage, ensuring a comprehensive understanding of its role in the AppViewX environment.

S. No. Package Name Required by Application Functionality Usage
1 Nmap (Ubuntu) No This package is essential during installation and upgrades to check if required ports are open, helping verify connectivity for services before deployment. Additionally, Nmap aids in troubleshooting network-related issues within the cluster. Its usage is diagnostic, with no impact on the functionality of the running application.
2 Nmap-Ncat (RHEL) No This package is essential during installation and upgrades to check if required ports are open, helping verify connectivity for services before deployment. Additionally, Nmap aids in troubleshooting network-related issues within the cluster. Its usage is diagnostic, with no impact on the functionality of the running application.
3 Curl No This package is not required for application functionality but it is used during the installation and AppViewX utilities. AppViewX utilities are a set of scripts which are used for maintenance purposes.
4 IPtables-ebtables (RHEL8) Yes This package is crucial for Kubernetes installation and upgrades, used by the kube-proxy component to set up iptable rules that manage pod and service communication. As Kubernetes is the base layer for the microservice-based application, this package is essential for setup and running the application.
5 IPtables-nft (RHEL 9) Yes This package is crucial for Kubernetes installation and upgrades, used by the kube-proxy component to set up iptable-nft rules that manage pod and service communication. As Kubernetes is the base layer for the microservice-based application, this package is essential for setup and runtime reliability.
6 Ebtables (Ubuntu) Yes This package is crucial for Kubernetes installation and upgrades, used by the kube-proxy component to set up iptable rules that manage pod and service communication. As Kubernetes is the base layer for the microservice-based application, this package is essential for setup and running the application.
7 Zip No The zip package compresses files and directories into a single archive, optimizing storage and facilitating file sharing. This package is not required for running the application but it's useful in compressing the logs file collected for troubleshooting. It is used during the installation of AppViewX.
8 Unzip No The unzip package extracts files from a .zip archive, allowing you to access the original files and directories. This package is not required for running the application but it's useful in compressing the logs file collected for troubleshooting. It is used during the installation of AppViewX.
9 Rsync No The rsync package synchronizes files and directories between two servers. This package is not required for running the application but it is used during the application patching activities.
10 OpenSSL No OpenSSL manages secure communications by generating, managing, and verifying cryptographic keys and certificates. Although it’s not required for running the main application, it is used in AppViewX utilities. It is used during the installation of AppViewX.
11 Systat No Sysstat provides system performance monitoring tools like sar, iostat, and mpstat to report on CPU, memory, disk, and network usage. It’s mainly for performance analysis and is not directly required for application functionality.
12 Bind-utils (RHEL) No The bind-utils package includes DNS troubleshooting tools like dig, nslookup, and host, which allow you to query DNS records, test DNS configurations, and perform domain lookups to resolve or debug DNS issues. It is used during the installation of applications but it's not mandatory for running the application.
13 Dnsutils (Ubuntu) No The dnsutils package provides tools like nslookup, dig, and host to perform DNS queries, troubleshoot DNS issues, and retrieve information about domain names and IP addresses. It is used during the installation of applications but it's not mandatory for running the application.

Installation Prerequisites

These prerequisites are applicable to both single-node and multi-node setups.

Operating System Consistency

All nodes must run the same Operating System (OS) and the same version. (Refer to the section Software Requirements for the list of supported OS).

Default User Shell

The default shell for the installation user must be set to bash.

SSH and SSH Algorithm

SSH access (either single-node or multi-node) must be functional with PubKeyAuthentication enabled. Additionally, the ssh-rsa algorithm must be supported by the SSH daemon during installation (This can be disabled post-installation).

Filesystem Type at Installation Path

The target installation path must reside on an xfs or ext4 filesystem.

Permissions on /tmp Directory

The installation user must have read, write, and execute permissions on /tmp.

Backup Path Access

The installation user must have read and write access to the backup path directory.

Network Subnet Conflict Check

The SERVICE_SUBNET and POD_SUBNET specified in appviewx.conf must not conflict with any node IPs or existing network subnets in the environment.

Summary

All checks listed above must be successfully validated across all target nodes before proceeding with the installation. The installer (./install.sh) will perform these checks:

  • Any critical failure among the above items will cause the installer to exit immediately.
  • Remaining validations will be collected and presented in a tabular format, allowing the user to review and resolve issues before continuing with the application installation.