Application Delivery Management

Citrix ADM on Kubernetes cluster

Before you install Citrix ADM virtual appliances on a Kubernetes cluster, read the prerequisites section.

Prerequisites

Ensure the following prerequisites are met before you install ADM.

Kubernetes cluster

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

    • Server version v1.13
    • Client version v1.13

    Type the command kubectl version to check the version.

  • The Helm application installed on the cluster must be of the following version or above.
    • Server version v2.12.1
    • Client version v2.12.0

    Use the command helm version to check the version.

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

  • All the subordinate nodes in the cluster must have an NFS client installed on them. This is because the ADM 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 ADM application needs 32 GB memory and 8 vCPUs across the cluster and 120 GB space on NFS.

NFS share

The ADM application needs persistent volumes to store data such as configuration, certificates, images, and others. For this purpose, ADM 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.

Citrix ADC appliance

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

  • Configure a SNIP on the ADC. ADC 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 ADM on Kubernetes cluster

Follow these steps to install an ADM appliance on a Kubernetes cluster:

  1. Go to the Citrix Download site and download the file for the Citrix ADM 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 ADM application uses these values to configure the Citrix ADC appliance so that the services are exposed to the external world:

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

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

    • ingressADCIP: Citrix ADC IP address (NSIP), which is used as an ingress for the ADM application.

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

    • ingressADCPassword: Password for the user name.

      ADM 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 ADM 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 an ADM 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 ADM in the default namespace. For ease of management, install ADM under a separate namespace.

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

Note

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

Citrix ADM on Kubernetes cluster