NetScaler CPX licensing
NetScaler CPX 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. NetScaler CPX supports pool licensing. Citrix ADM can act as your license server to license your NetScaler CPX 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 NetScaler CPX licensing
NetScaler CPX supports bandwidth and virtual CPU (core) pool licensing for on-prem and cloud based deployments.
Bandwidth pool: NetScaler CPX 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. Currently, NetScaler CPX supports only premium bandwidth pool licensing. 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 NetScaler CPX instance is entitled to. So, the NetScaler CPX can check out licenses for only the number of virtual CPUs from the license server. NetScaler CPX 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 NetScaler CPX instances
Product | Maximum bandwidth | Minimum bandwidth | Minimum instances | Maximum instances | Minimum bandwidth unit |
---|---|---|---|---|---|
NetScaler CPX | 40000 Note: It depends on CPU frequency, generation, and so on. | 20 Mbps | 1 | 16 | 10 Mbps |
Note: Citrix is currently working on a NetScaler CPX 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 NetScaler CPX licensing work?
NetScaler CPX pooled capacity: A common license pool from which your NetScaler CPX 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.
NetScaler CPX check-in and check-out licensing: Citrix ADM allocates licenses NetScaler CPX instances on demand. A NetScaler CPX instance can check out the license from the Citrix ADM when a NetScaler CPX instance is provisioned and check back in its license to Citrix ADM when an instance is destroyed.
NetScaler CPX behavior: A single NetScaler CPX instance checking-out up to 1 Gbps throughput, checks-out only from the instance pool and not from the bandwidth license pool. NetScaler CPX 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 NetScaler CPX 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.
NetScaler CPX Express
NetScaler CPX Express is a software edition that is free-of-cost for on-premises and cloud deployments. When you download NetScaler CPX 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 NetScaler CPX instance to upgrade for better performance and production deployments.
NetScaler CPX licensing models
Citrix offers a range of product licensing models for NetScaler CPX 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 NetScaler CPX from ADM service
- vCPU based licensing for NetScaler CPX from ADM service
- Bandwidth based licensing for NetScaler CPX from ADM on-premises
- vCPU based licensing for NetScaler CPX from ADM on-premises
Provision bandwidth-based and vCPU-based licensing from Citrix ADM service for NetScaler CPX
Perform the following steps to provision bandwidth-based license and vCPU-based license for NetScaler CPX from Citrix ADM service.
-
Set up Citrix ADM.
Ensure that the Citrix ADM service setup is operational with the NetScaler ADM agent. You must have a Citrix ADM service and NetScaler ADM agent account for NetScaler CPX licensing to be functional. For information about setting up Citrix ADM service and NetScaler ADM agent, see Citrix ADM service.
Note: In this procedure, a hypervisor (on-premises) NetScaler ADM agent setup is used. In the following image,
10.106.102.199
is the on-premises agent used for licensing NetScaler CPX. -
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. -
Deploy NetScaler CPX instance in Kubernetes cluster. Ensure that the following environment variables are added to the NetScaler CPX YAML file to license the NetScaler CPX 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
- name: “EDITION” value: “Standard” or “Enterprise” //to choose a particular license edition that includes Standard, Platinum, and Enterprise. By default, Platinum is selected.
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
- name: “PLATFORM” value: “CP1000” // number of cores. Check-out count is equal to the number of cores.
-
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
-
Deploy the edited YAML in the Kubernetes cluster using the following command:
kubectl create -f cpx-bandwidth-license-adm-service.yaml -n bandwidth
-
Log in to NetScaler CPX for verifying instancing information by using the following command:
kubectl exec -it 'cpx-pod-ip-name' bash -n bandwidth
-
To view the licensing information for the given NetScaler CPX 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 NetScaler CPX from Citrix ADM on-premises
Perform the following steps to provision bandwidth-based and vCPU-based to NetScaler CPX from Citrix ADM on-premises.
-
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 NetScaler CPX licensing is functioning.
For information about setting up Citrix ADM on-premises and NetScaler ADM agent, 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.
-
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.In the following image, CP1000 is used as the vCPU license pool.
-
Deploy NetScaler CPX instance in Kubernetes cluster. Ensure that the following environment variables are added to the NetScaler CPX YAML file to license the NetScaler CPX 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
- name: “PLATFORM” value: “CP1000” // number of cores. Check-out count is equal to the number of cores.
-
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
-
Deploy the edited YAML in the Kubernetes cluster using the following command:
kubectl create -f cpx-bandwidth-license-adm-onprem.yaml -n bandwidth
-
Log in to NetScaler CPX for verifying instancing information by using the following command:
kubectl exec -it <cpx-pod-ip-name> bash -n bandwidth
-
To view the licensing information for the NetScaler CPX 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