Server Prerequisites - Kubernetes Operator for Air-Gapped (Offline) Installation



Prerequisites as a concise list

The list below is written to be concise. For additional details about any of these topics, see the Details below.

  • A Kubernetes Cluster that consists of, at a minimum, one Master and one Worker Node
  • A new, dedicated Namespace
  • Cluster-Admin Privileges
  • Storage capacity to dynamically provision 2 x 50gb Persistent Volumes if configuring 1-2 Apps for analysis with the vFunction Server. Increase the Storage based on the number of applications following the table below
Number of Apps Storage
1-2 100gb
3-7 200gb
8+ 500gb

Prerequisites as a step-by-step guide

Because meeting the prerequisites listed above may involve an number of smaller steps, this sample is intended to present the prerequisites in a step-by-step fashion in case this perspective is helpful.

  1. Ensure Kubernetes Cluster exists and can be used for the vFunction Operator and Operand
  2. Ensure a new Namespace can be created in the Kubernetes Cluster for the vFunction Operator and Operand
  3. Ensure the Cluster can support 100gb of Persistent Volume storage
  4. Ensure the Cluster can support up to 23gb RAM and up to 9 CPU, with minimums of 2.25gb RAM and 1.125 CPU
  5. Understand whether Persistent Volumes can be dynamically provisioned or if they need to be manually provisioned. If they need to be manually provisioned, create the Persistent Volumes
  6. If Persistent Volumes can be dynamically created, understand if the “default” storageClass can be used for the Persistent Volume Claims. If an alternate storageClass should be used, change the storageClass in the vFunction installation.yaml after downloading the vFunction Kubernetes Offline Operator Installation TGZ
  7. Ensure a Linux VM is available with access to the Kubernetes Cluster and kubectl is installed
  8. Download the vFunction Kubernetes Offline Operator Installation TGZ to the Linux VM
  9. Understand whether the installation can be performed by a user who has Cluster-Admin Privileges. If the installation cannot be performed by this user, this Cluster-Admin Privileges user will need to create the Cluster Scope Objects in advance of the installation
  10. Ensure a Private Docker Registry exists and can be used to host the Docker images of the vFunction Server
  11. Ensure a Image Pull Secret exists to add the Docker images to the Private Docker Registry and / or download the images during the installation process. You can either use an existing Image Pull Secret or create a new Image Pull Secret
  12. Mirror the vFunction Docker images into the Private Docker Registry

Details about Prerequisites

The Prerequisites list above is intended to be concise. The Details below provide more background on what is required for each of the Prerequisites.

Namespace

The vFunction Kubernetes Operator installation requires a new, dedicated Namespace for the vFunction Operator and Operand (the vFunction Server itself). The Namespace can be created during the installation process. The Namespace can be created in an existing Cluster.

Cluster Scope Objects

Cluster-Admin Privileges are required for the Operator to dynamically create ClusterRole, ClusterRoleBinding and CustomResourceDefinition Objects. Instead of dynamically provisioning, these Cluster Scope Objects can be manually deployed into the Cluster by a Cluster-Admin account before the installation.

Persistent Volumes

The Operator tries to dynamically provision 2 x 50gb Persistent Volumes in ReadWriteOnce mode. Instead of dynamic provisioning, the Persistent Volumes can alternatively be manually created before running the vFunction Kubernetes Operator installation script.

Persistent Volume Claims

The default StorageClass is used for dynamically provisioning the Persistent Volumes via Persistent Volume Claims. An alternate StorageClass can also be defined in the Configurable Settings and will be used for creating the Persistent Volume Claims.

Image Pull Secret

An Image Pull Secret is required to grant access to the Private Docker Registry for the Installation. This Image Pull Secret should be deployed to the same Namespace where the vFunction Operator will be installed. Follow these steps if you already have an Image Pull Secret or these separate steps if you need to create an Image Pull Secret.