Pre-requisites

Kubernetes concepts

This Installation requires basic knowledge of containers and Kubernetes concepts such as Objects, Pods, and Persistent Volumes.

Tools Required:

  1. Kubectl,

  2. Docker,

  3. Helm,

  4. Kubeadm,

  5. Kubelet

  6. Containerd with administrator(root) privilege.

Host Requirements:

Cluster deployments must be on hosts that satisfy hardware and software requirements. Specifically, the following requirements must be met on all hosts:

  • Kubernetes versions greater than 1.28.2

  • Helm version greater than 3.0

  • Consideration should be given to future expansion needs. It is recommended to allow Volume Expansion to be set to true to enable future storage size increases. Refer to the Kubernetes documentation for more information.

  • Types of Persistent Volumes (PV) in K8S, Pls use one of the Persistent Volumes in K8S. We are using Longhorn-based Persistent Volumes. You can use any other PV as per your choice.

  • Minimum INFRA Requirements:
    • 3 Virtual Machines per machine (4 vCPU and 16 GB of RAM is recommended) and storage requires 100GB for each node with Rocky Linux 8 for RHEL or above version to be installed.

    • For Other Linux OS distros such as Ubuntu, use LTS Versions Ex. 22.04

    • In the K8S Cluster, there will be one Master K8S Node and 2 Worker Nodes.

    • Provide VM internet access to download utilities/applications such as curl, get, package managers(yum, apt-get), etc & pull images from the registry to VMs.

    • Create 4px Linux User in All VMs. Use 4px Linux User to install 4PX IAOT Platform.

  • Ports Need to be Opened from Master K8S Node: * Ports that should be open on all Nodes

Protocol

Default Port

Direction

Description

TCP

22*

Inbound and Outbound

For SSH access to the VM

TCP

443*

Outbound

Application access (HTTPS)

TCP

6443*

Inbound and Outbound

Kubernetes API server port.

TCP

9092

Inbound and Outbound

Kafka broker

TCP

32000

Inbound and Outbound

Nginx Service (optional - open only if accessing the application via NodePort)

TCP

32001

Inbound and Outbound

K8S Dashboard Port Monitoring and Administration of K8S Cluster (optional)

TCP

32002

Inbound and Outbound

Kafka Console (optional)

TCP

32003

Inbound and Outbound

Kafka Client (optional)

TCP

32005 to 32007

Inbound and Outbound

Kafka external access (number of ports depends on the broker count) (optional - open only if accessing via NodePort)

TCP

31272

Inbound and Outbound

Longhorn UI (optional – open only if using Longhorn)