{{page.netscaler-cpx-short}} licensing

Last published : Sep 02, 2026
{{page.netscaler-cpx-short}} is a container-based application delivery controller that can be provisioned on a Docker host to load balance microservice based applications. You need licensed CPX for better performance of application delivery. {{page.netscaler-cpx-short}} supports pool licensing. Citrix ADM can act as your license server to license your {{page.netscaler-cpx-short}} instances.
Citrix® ADM is available both on-premises and a cloud service as well. You can use the Citrix ADM to manage pooled capacity licenses for all Citrix ADC form factors.
For information about Citrix ADM on-premises, see Citrix ADM on-premises. For information about Citrix ADM service, see Citrix ADM service.

Types of {{page.netscaler-cpx-short}} licensing

{{page.netscaler-cpx-short}} supports bandwidth and virtual CPU (core) pool licensing for on-prem and cloud based deployments.
Bandwidth pool: {{page.netscaler-cpx-short}} licenses can be allocated based on the bandwidth consumption by the instances. You can use pooled licensing to maximize the bandwidth utilization by ensuring the necessary bandwidth allocation to an instance and not more than its requirement. For more information about the bandwidth pool, see Bandwidth based licensing.
vCPU pool: In the virtual CPU-usage-based licensing, the license specifies the number of CPUs that a particular {{page.netscaler-cpx-short}} instance is entitled to. So, the {{page.netscaler-cpx-short}} can check out licenses for only the number of virtual CPUs from the license server. {{page.netscaler-cpx-short}} checks out licenses depending on the number of CPUs running in the system. For more information about the vCPU pool, see Citrix ADC virtual CPU licensing.

Supported pooled capacity for {{page.netscaler-cpx-short}} instances

Product Maximum bandwidth Minimum bandwidth Minimum instances Maximum instances Minimum bandwidth unit
{{page.netscaler-cpx-short}} 40000 Note: It depends on CPU frequency, generation, and so on. 20 Mbps 1 16 10 Mbps
Note: Citrix is currently working on a {{page.netscaler-cpx-short}} consumption based or pay-as-you-grow based licensing model for public cloud-based offerings. Once ready, it will be available on the public cloud market place to consume.

How does {{page.netscaler-cpx-short}} licensing work?

{{page.netscaler-cpx-short}} pooled capacity: A common license pool from which your {{page.netscaler-cpx-short}} instance can check out one instance license and only as much bandwidth as it needs. When the instance no longer requires these resources, it checks them back in to the common pool, making the resources available to other instances which need these licenses.
{{page.netscaler-cpx-short}} check-in and check-out licensing: Citrix ADM allocates licenses {{page.netscaler-cpx-short}} instances on demand. A {{page.netscaler-cpx-short}} instance can check out the license from the Citrix ADM when a {{page.netscaler-cpx-short}} instance is provisioned and check back in its license to Citrix ADM when an instance is destroyed.
{{page.netscaler-cpx-short}} behavior: A single {{page.netscaler-cpx-short}} instance checking-out up to 1 Gbps throughput, checks-out only from the instance pool and not from the bandwidth license pool. {{page.netscaler-cpx-short}} operates in this way up to the 1 Gbps of bandwidth utilization. For example, if a CPX instance consumes a 200 Mbps bandwidth, it uses the instance pool of license, instead of the bandwidth pool. However, if a {{page.netscaler-cpx-short}} instance consumes 1200 Mbps of throughput, the first 1000 Mbps is utilized from the instance pool and the remaining 200 Mbps is consumed from the bandwidth pool.

{{page.netscaler-cpx-short}} Express

{{page.netscaler-cpx-short}} Express is a software edition that is free-of-cost for on-premises and cloud deployments. When you download {{page.netscaler-cpx-short}} instance from the Quay repository, this is the default capacity available for POCs which do not require a license file and it comes with the following features:
  • 20 Mbps bandwidth
  • Maximum 250 SSL sessions
  • 20 Mbps SSL throughput
You must license your {{page.netscaler-cpx-short}} instance to upgrade for better performance and production deployments.

{{page.netscaler-cpx-short}} licensing models

Citrix offers a range of product licensing models for {{page.netscaler-cpx-short}} to meet your organization’s requirements. You can select options such as vCPU or bandwidth and on-premises or cloud.
Based on your requirements, you can choose any of the following models:
  • Bandwidth based licensing for {{page.netscaler-cpx-short}} from ADM service
  • vCPU based licensing for {{page.netscaler-cpx-short}} from ADM service
  • Bandwidth based licensing for {{page.netscaler-cpx-short}} from ADM on-premises
  • vCPU based licensing for {{page.netscaler-cpx-short}} from ADM on-premises

Provision bandwidth-based and vCPU-based licensing from Citrix ADM service for

Perform the following steps to provision bandwidth-based license and vCPU-based license for {{page.netscaler-cpx-short}} from Citrix ADM service.
  1. Set up Citrix ADM.
    Ensure that the Citrix ADM service setup is operational with the {{page.adm-ads-agent-short}}. You must have a Citrix ADM service and {{page.adm-ads-agent-short}} account for {{page.netscaler-cpx-short}} licensing to be functional. For information about setting up Citrix ADM service and {{page.adm-ads-agent-short}}, see Citrix ADM service.
    Note: In this procedure, a hypervisor (on-premises) {{page.adm-ads-agent-short}} setup is used. In the following image, 10.106.102.199 is the on-premises agent used for licensing {{page.netscaler-cpx-short}}.
    ADM on-prem agent
  2. Add Citrix ADC instance license pool to Citrix ADM service.
    It is assumed that you have a pool of bandwidth licenses available for ADM service. For information about uploading a license file to Citrix ADM, see Configure pooled capacity. In the following image, CNS_INST_200CC_Retail.lic is used as the bandwidth and instance license pool.
    ADM license files
  3. Deploy {{page.netscaler-cpx-short}} instance in Kubernetes cluster. Ensure that the following environment variables are added to the {{page.netscaler-cpx-short}} YAML file to license the {{page.netscaler-cpx-short}} instance.
    For the bandwidth-based licensing from the Citrix ADM service, specify the following environment variables in the YAML file:
    • name: "LS_IP" value: "10.105.158.166" //ADM agent IP as mentioned in step 1
    • name: "LS_PORT" value: "27000" // port on which ADM license server listens
    • name: "BANDWIDTH" value: "3000" //capacity in Mbps wants to allocate to CPX
    For the vCPU-based licensing from the Citrix ADM service, specify the following environment variables in the YAML file:
    • name: "LS_IP" value: "10.102.216.173" //ADM agent IP as mentioned in step 1
    • name: "LS_PORT" value: "27000" // port on which ADM license server listens to
    • name: "CPX_CORES" value: "4" // number of core you want to allocate
  4. Download the cpx-bandwidth-license-adm-service.yaml file using the following command:
    kubectl create namespace bandwidth
    wget https://raw.githubusercontent.com/citrix/cloud-native-getting-started/master/cpx-licensing/manifest/cpx-bandwidth-license-adm-service.yaml
  5. Deploy the edited YAML in the Kubernetes cluster using the following command:
    kubectl create -f cpx-bandwidth-license-adm-service.yaml -n bandwidth
  6. Log in to {{page.netscaler-cpx-short}} for verifying instancing information by using the following command:
    kubectl exec -it 'cpx-pod-ip-name' bash -n bandwidth
  7. To view the licensing information for the given {{page.netscaler-cpx-short}} instance, run the following commands:
    cli_script.sh “show licenseserver”
    cli_script.sh “show capacity”
    You can track the allocated bandwidth and vCPU capacity in the ADM service portal.

Provision Bandwidth based licensing and vCPU based licensing for {{page.netscaler-cpx-short}} from Citrix ADM on-premises

Perform the following steps to provision bandwidth-based and vCPU-based to {{page.netscaler-cpx-short}} from Citrix ADM on-premises.
  1. Set up Citrix ADM.
    Ensure that the ADM on-premises setup is ready. Make sure that Citrix ADM on-premises with or without ADM agent deployment for {{page.netscaler-cpx-short}} licensing is functioning.
    For information about setting up Citrix ADM on-premises and {{page.adm-ads-agent-short}}, see Citrix ADM service.
    Note: In this example, an in-built ADM agent with ADM on-premises is used. In the following image, you can see that there is no agent deployed.
    ADM agent on-prem
  2. Add Citrix ADC instance license pool to ADM on-premises.
    It is assumed that you have a pool of bandwidth license available for ADM on-premises. To know about uploading a license file to Citrix ADM, see Licensing. In the following image, CNS_INST_200CC_Retail.lic is used as the bandwidth and instance license pool.
    ADM license files
    In the following image, CP1000 is used as the vCPU license pool.
    vCPU license pool
  3. Deploy {{page.netscaler-cpx-short}} instance in Kubernetes cluster. Ensure that the following environment variables are added to the {{page.netscaler-cpx-short}} YAML file to license the {{page.netscaler-cpx-short}} instance.
    For the bandwidth-based licensing from Citrix ADM on-premises, specify the following environment variables in the YAML file:
    • name: "LS_IP" value: "10.105.158.144" // ADM on-prem instance IP, If you have deployed ADM agent, then this is your agent IP address as described in the step 1
    • name: "LS_PORT" value: "27000" // port on which ADM license server listens
    • name: "BANDWIDTH" value: "3000" //capacity in Mbps wants to allocate to CPX
    For the vCPU-based licensing from Citrix ADM on-premises, specify the following environment variables in the YAML file:
    • name: "LS_IP" value: "10.105.158.144" // ADM on-prem instance IP, If you have ADM agent deployment then this will be your agent IP as described in step 1
    • name: "LS_PORT" value: "27000" // port on which ADM license server listens to
    • name: "CPX_CORES" value: "4" // the number of cores that you want to allocate
  4. Download the cpx-bandwidth-license-adm-onprem.yaml file using the following command:
    kubectl create namespace bandwidth
    wget https://raw.githubusercontent.com/citrix/cloud-native-getting-started/master/cpx-licensing/manifest/cpx-bandwidth-license-adm-onprem.yaml
  5. Deploy the edited YAML in the Kubernetes cluster using the following command:
    kubectl create -f cpx-bandwidth-license-adm-onprem.yaml -n bandwidth
  6. Log in to {{page.netscaler-cpx-short}} for verifying instancing information by using the following command:
    kubectl exec -it <cpx-pod-ip-name> bash -n bandwidth
  7. To view the licensing information for the {{page.netscaler-cpx-short}} instance, run the following commands:
    cli_script.sh “show licenseserver”
    cli_script.sh “show capacity”
    You can track the allocated bandwidth and vCPU capacity in the ADM on-premises portal.

Commands for cleaning the deployments

You can use the following commands to clean the various YAML deployments:
kubectl delete -f cpx-bandwidth-license-adm-service.yaml -n bandwidth
kubectl delete -f cpx-core-license-adm-service.yaml -n core
kubectl delete -f cpx-bandwidth-license-adm-onprem.yaml -n bandwidth
kubectl delete -f cpx-core-license-adm-onprem.yaml -n core
kubectl delete namespace bandwidth
kubectl delete namespace core