Deploying applications to Kubernetes, the powerful and popular container-orchestration system, can be complex. Setting up a single application can involve creating multiple, interdependent Kubernetes resources such as pods, services, deployments, ingresses, replica sets, and CRDs, each of which requires a detailed YAML manifest file.

Writing and maintaining Kubernetes YAML manifests for all these Kubernetes objects can be a time-consuming process, and editing YAMLs to fit with required architectures can be tedious and prone to errors. Helm charts simplify this process. Helm is a package manager for Kubernetes that enables developers and operators to easily package, configure, and deploy apps and services onto Kubernetes clusters.

Citrix offers cloud-native solutions such as Citrix Ingress Controller (CIC), Citrix IP Address Management (IPAM) , and Citrix Observability Exporter (COE) that empower customers in their cloud migration journeys, and we’ve created Helm charts for easier deployment and management of these products under Citrix’s cloud-native portfolio

Each Helm chart is made up of a “values.yaml” file that contains Helm chart variables and associated values. You need to understand and configure these variables while installing these charts on your Kubernetes cluster. In this blog post, I’ll introduce the Citrix deployment builder, a GUI-based tool that eases application deployment using our Helm charts.

Citrix Deployment Builder

Citrix offers multiple solutions that can be deployed alongside your applications and improves their delivery and secures security. We’ve created a universal (consolidated) Helm chart — Citrix Cloud Native Chart — to help you deploy any (or all) of these solutions with single command.

Although you can install multiple Citrix cloud-native solutions (for example, CIC and IPAM controller or COE) together or separately with a single Helm command, you still need to understand and input all the parameters before the installation. You can also provide a consolidated “values.yaml” like the one here to install multiple charts.

Because GUIs are widely considered to be more intuitive and simpler than CLIs, we developed the Citrix deployment builder to make installing the Citrix cloud-native portfolio easier and faster. With the deployment builder, IT admins have various options for deploying Citrix ADC as ingress in different topologies. Whether you need to deploy Citrix ADC VPX/MPX as an ingress device in front of clusters (single-tier) or deploy Citrix ADC VPX in front of individual cluster-nodes or Citrix ADC CPX inside nodes (dual-tier), the deployment builder makes it easy.

Consider a deployment topology that needs multiple Citrix products to work in unison. For example, a user might want to install the CIC, COE, CNC, and Citrix ADC metrics exporter to deploy Citrix ADC in a single-tier ingress topology. The deployment builder is designed to make these installations easier. In the deployment builder, a user can simply select options to install each of the various products they need as part of the deployment topology.

As shown below, an IT admin can fill in the values on the left side, and the associated “values.yaml” is generated automatically as shown on the right side. Each field has a short, self-explanatory description associated with it. Once all the necessary fields are filled with the proper value, the IT admin can download or copy the “values.yaml”; then, the Citrix services can be installed using these two commands:

helm repo add citrix https://citrix.github.io/citrix-helm-charts/
helm install "name" citrix/citrix-cloud-native -f values.yaml

Figure 1: Citrix deployment builder in action

Let’s generate ‘values.yaml’ for a Tier 1 ingress (or single-tier topology), one of the deployment topologies mentioned here. Follow the below steps:

  1. Make sure Helm version 3 is installed on the Kubernetes Cluster. Check out the Helm site or this resource for more information.
  2. A prerequisite for this deployment is the creation of a Kubernetes secret for the Citrix ADC VPX or MPX credentials, which can be done with the following command:
    kubectl create secret generic your_secret_name --from-literal=username='ADC_username' --from-literal=password='ADC_password'
  3. Fill in the mandatory parameters for the ingress solutions.
  4. Provide the Citrix ADC VPX/MPX NSIP in the CITRIX MANAGEMENT IP field and the name of the Kubernetes secret you created using the command above in the KUBERNETES SECRET NAME field.

If you scroll down, you will see an option to deploy CNC, COE, and the metrics exporter along with this ingress solution, as shown below.

Figure 2: How to install other Citrix cloud-native networking products with ingress

When you select any of the Citrix products, the fields necessary for installation will appear on the form automatically. For illustrative purposes, assume in this the Tier 1 ingress example, the Citrix ADC IP is 1.1.1.1, the secret created for the ADC credentials is nslogin, and the Citrix ADC metrics exporter is being installed along with the ingress. The “values.yaml” will appear as shown below:

Figure 3: Tier 1 ingress with Citrix ADC Metrics Exporter

Once the “values.yaml” file is generated, it can be either copied or downloaded, then installed using the Helm commands mentioned earlier in this blog post (and as shown in the figure below), and voila! Now you have your deployment topology ready.

Figure 4: Installing Citrix Ingress Controller with Citrix Metrics Exporter using values.yaml generated

Learn More

Citrix’s cloud-native Helm charts support the installation of various cloud-native offerings with a single Helm command. And our GUI-based Citrix deployment builder makes your cloud-native deployments easier and faster.

To learn more about using Citrix Ingress Controller to enable various features on Citrix ADC CPX, VPX, and MPX, check out our GitHub repository.