Application Delivery Management

NetScaler Console on Kubernetes cluster

Before you install NetScaler Console virtual appliances on a Kubernetes cluster, read the prerequisites section.

Prerequisites

Ensure the following prerequisites are met before you install NetScaler Console.

Kubernetes cluster

  • The Kubernetes cluster must be of the following version or above:

    • Server version v1.20
    • Client version v1.20

    Type the command kubectl version to check the version.

  • The Helm application installed on the cluster must have the Client version v3.4.0 or above.

    Use the command helm version to check the version.

  • Kubernetes cluster CNI (Container Network Interface) must be Calico version v3.21.1 or above.

  • All the subordinate nodes in the cluster must have an NFS client installed on them. This is because the NetScaler Console application persists the data and configuration on volumes mounted on a Network File Server. To install an NFS client on an Ubuntu-based subordinate, type the following commands:

apt-get update apt install nfs-common

  • The NetScaler Console application needs 32 GB memory and 8 vCPUs across the cluster and 120 GB space on NFS.

NFS share

The NetScaler Console application needs persistent volumes to store data such as configuration, certificates, images, and others. For this purpose, NetScaler Console requires NFS mounts. The application requires two folders from the shared network mounts:

  • One for storing files such as certificates, images, and others
  • The other one for database

Note

It’s recommended to have an NFS with an SSD.

These two folders can be different or the same. Both the folders must have 777 permissions. The first folder must have minimum 10 GB pace. The second folder’s size depends upon the amount of data that needs to be persistent in the database. Minimum size is 100 GB. For the production environment, we recommend having a production grade NFS solution.

NetScaler appliance

The NetScaler appliance is required as the ingress device. NetScaler makes the required application services available outside the Kubernetes cluster. The NetScaler appliance must be outside the Kubernetes cluster, and the worker nodes must be reachable from the NetScaler. Perform the following steps:

  • Configure a SNIP on the NetScaler. NetScaler uses this SNIP to reach the worker nodes of the Kubernetes cluster.

  • Identify a free IP address to be used as virtual server IP address to make the required application services available outside the Kubernetes cluster.

Install NetScaler Console on Kubernetes cluster

Follow these steps to install a NetScaler Console appliance on a Kubernetes cluster:

  1. Go to the NetScaler site and download the file for the NetScaler Console Helm Chart for Kubernetes.

  2. Extract the downloaded Helm Chart tarball into the /var directory of the main node of the Kubernetes cluster.

  3. Open the values.yaml file under the /var/citrixadm directory.

  4. Enter a password for the database in the dbpasswd field in the file.

  5. Change the following values. The NetScaler Console application uses these values to configure the NetScaler appliance so that the services are exposed to the external world:

    • ingressIP: a Virtual IP configured in the NetScaler for accessing the application.

    • applicationID: a unique ID to distinguish the ingress configuration from the rest of the configuration on the NetScaler appliance.

    • ingressADCIP: NetScaler IP address (NSIP), which is used as an ingress for the NetScaler Console application.

    • ingressADCUsername: a user name to access the NetScaler appliance. This user must have write privileges.

    • ingressADCPassword: Password for the user name.

      NetScaler Console Kubernetes YAML values update

  6. Change the following values in the storage section. These values specify the persistence required to store files required by the NetScaler Console application.
    • nfsServer: Host name or IP address of the NFS server
    • path: mount the path for the folder to store application files.
    • size: at least 10 GB.

    Note

    The unit for this value is Gi. For example, 10Gi, 20Gi.

  7. Go to storage section under pg-datastore and change the following values. These values specify the persistence used for creating a database.
    • nsfServer: Host name or IP address of the NFS server.
    • size: mount a path for the folder used for the datastore.
    • path: at least 100 GB.

    Note

    The unit for this value is Gi. For example, 100Gi, 200Gi.

  8. Go to the /var/citrix directory in the main node and run the following command to install a NetScaler Console application: helm install -n citrixadm --namespace <name> ./citrixadm

    Note

    This helm command is not supported in helm version 3.x.

    This command also installs the required pods in your cluster. Namespace argument is optional. If namespace is not provided, Helm installs NetScaler Console in the default namespace. For ease of management, install NetScaler Console under a separate namespace.

  9. Open your browser and type http://< virtual server IP address > and log in to the NetScaler Console using nsroot/nsroot as credentials. For secure access type https://< virtual server IP address >.

Note

During deployment, the NetScaler Console application creates tables in the datastore, which can take a while. Depending upon the resources allocated by Kubernetes to various pods of the NetScaler Console application, it can take 5- 15 mins for the service to come up.

NetScaler Console on Kubernetes cluster