NetScaler CPX 许可证聚合器
目前,NetScaler CPX 从 NetScaler ADM 服务器获取许可证。在 Kubernetes 环境中,NetScaler CPX 可以动态启动或关闭。如果 NetScaler CPX 意外关闭,NetScaler ADM 服务器需要几分钟才能回收许可证。NetScaler ADM 服务器必须能够在 NetScaler CPX 关闭时立即回收此类许可证,以便可以将相同的许可证分配给另一个即将启动的 NetScaler CPX。此外,如果 NetScaler ADM 服务器因任何原因无法访问,则无法为集群中的新 NetScaler CPX 授予许可证。
NetScaler CPX 许可证聚合器是 NetScaler 提供的一项 Kubernetes 服务。此服务在 Kubernetes 集群中充当 NetScaler CPX 许可的本地提供商。部署在 Kubernetes 集群中的 NetScaler CPX 许可证聚合器服务可以充当 NetScaler CPX 与 ADM 许可服务器之间的中介,并跟踪 NetScaler CPX 和已分配的许可证。借助 NetScaler CPX 许可证聚合器服务,NetScaler ADM 服务器可以在 NetScaler CPX 关闭时立即回收许可证。
在 Kubernetes 集群中,NetScaler CPX 许可证聚合器服务支持 NetScaler CPX 作为 Sidecar 和独立部署。
注意:
使用 NetScaler CPX 许可证聚合器进行许可需要 NetScaler CPX 13.1-30.x 或更高版本。NetScaler CPX 许可证聚合器不支持为旧版本的 NetScaler CPX 授予许可证。
NetScaler CPX 许可证聚合器的主要优势
以下是使用 NetScaler CPX 许可证聚合器的主要优势:
-
可扩展性: 一个 NetScaler ADM 许可服务器最多只能支持 10000 个 NetScaler CPX 部署。引入 NetScaler CPX 许可证聚合器服务后,每个 Kubernetes 集群都可以作为 NetScaler ADM 许可服务器的单个客户端。因此,您可以使用单个 NetScaler ADM 许可服务器扩展多个 NetScaler CPX。
-
资源优化: NetScaler CPX 许可证聚合器服务还支持集群范围的许可功能,并且可以根据需要从 NetScaler ADM 服务器签出许可证。NetScaler CPX 许可证聚合器可以将许可证返回给 NetScaler ADM 服务器。 NetScaler CPX 许可证聚合器可以处理 NetScaler CPX 的非正常终止,并在配置的等待期后从这些 NetScaler CPX 回收许可证。
部署拓扑
下图显示了 Kubernetes 集群中的 NetScaler CPX 许可证聚合器部署。

在此图中:
-
CPX表示 NetScaler CPX -
CPX License Aggregator表示 NetScaler CPX 许可证聚合器
在此示例部署中,一个 NetScaler CPX License Aggregator 服务与 NetScaler CPX 和 NetScaler ADM 代理一起部署在 Kubernetes 集群中。NetScaler CPX License Aggregator 服务充当 NetScaler CPX 和 NetScaler ADM 代理之间的中间人,监控集群中的所有 NetScaler CPX 并为其管理许可证。
使用 Helm 图表部署 NetScaler CPX 许可证聚合器
先决条件
适用以下先决条件:
-
您需要 Kubernetes 1.16 版及更高版本。
-
您需要 Helm 3.x 版或更高版本。
-
您必须获取拥有 NetScaler CPX 许可证的许可证服务器的 IP 地址。
-
您必须为 NetScaler CPX License Aggregator 中的 Redis 数据库提供密码。您可以使用 Kubernetes secret 提供数据库密码,并且可以使用以下命令创建 secret:
kubectl create secret generic dbsecret --from-literal=password=<custom-password>
使用 Helm chart 部署
执行以下步骤,根据 NetScaler CPX 许可证的类型使用 Helm chart 部署 NetScaler CPX License Aggregator。有关不同类型的 NetScaler CPX 许可证的更多信息,请参阅 NetScaler CPX 许可。
安装 Helm chart
使用以下命令添加 NetScaler CPX License Aggregator Helm chart 存储库:
helm repo add Citrix https://citrix.github.io/citrix-helm-charts/
安装 NetScaler CPX License Aggregator 以管理带宽池许可证
使用以下命令之一,具体取决于您拥有的 NetScaler CPX 池许可证类型。在这些命令中,my-release 用作发布名称。
注意:
默认情况下,Helm chart 会安装推荐的 RBAC 角色和角色绑定。
对于白金带宽许可证:
helm install my-release citrix/cpx-license-aggregator --set licenseServer.address=<License-Server-IP-or-FQDN>,redis.secretName=<Kubernetes-Secret-for-DB-password>,licenseAggregator.username=<unique-ID-for-CLA>,licenseInfo.instanceQuantum=<QUANTUM>,licenseInfo.instanceLowWatermark=<LOW WATERMARK>,licenseInfo.bandwidthPlatinumQuantum=<QUANTUM-in-Mbps>,licenseInfo.bandwidthPlatinumLowWatermark=<LOW WATERMARK-in-Mbps>
对于企业带宽版本:
helm install my-release citrix/cpx-license-aggregator --set licenseServer.address=<License-Server-IP-or-FQDN>,redis.secretName=<Kubernetes-Secret-for-DB-password>,licenseAggregator.username=<unique-ID-for-CLA>,licenseInfo.instanceQuantum=<QUANTUM>,licenseInfo.instanceLowWatermark=<LOW WATERMARK>,licenseInfo.bandwidthEnterpriseQuantum=<QUANTUM-in-Mbps>,licenseInfo.bandwidthEnterpriseLowWatermark=<LOW WATERMARK-in-Mbps>
对于标准带宽版本:
helm install my-release citrix/cpx-license-aggregator --set licenseServer.address=<License-Server-IP-or-FQDN>,redis.secretName=<Kubernetes-Secret-for-DB-password>,licenseAggregator.username=<unique-ID-for-CLA>,licenseInfo.instanceQuantum=<QUANTUM>,licenseInfo.instanceLowWatermark=<LOW WATERMARK>,licenseInfo.bandwidthStandardQuantum=<QUANTUM-in-Mbps>,licenseInfo.bandwidthStandardLowWatermark=<LOW WATERMARK-in-Mbps>
这些命令使用默认配置在 Kubernetes 集群上部署 NetScaler CPX 许可证聚合器。您可以在安装时配置参数。有关更多信息,请参阅 Helm chart GitHub 存储库 中的“NetScaler CPX 许可证聚合器配置”部分,其中列出了您可以在安装期间配置的强制和可选参数。
安装 NetScaler CPX 许可证聚合器以管理 vCPU 许可证
根据您拥有的 NetScaler CPX vCPU 许可证类型,使用以下命令之一。在这些命令中,my-release 用作发布名称。
注意: 默认情况下,Helm chart 会安装推荐的 RBAC 角色和角色绑定。
对于白金 vCPU 版本:
helm install my-release citrix/cpx-license-aggregator --set licenseServer.address=<License-Server-IP-or-FQDN>,redis.secretName=<Kubernetes-Secret-for-DB-password>,licenseAggregator.username=<unique-ID-for-CLA>,licenseInfo.vcpuPlatinumQuantum=<QUANTUM>,licenseInfo.vcpuPlatinumLowWatermark=<LOW WATERMARK>
对于企业 vCPU 版本:
helm install my-release citrix/cpx-license-aggregator --set licenseServer.address=<License-Server-IP-or-FQDN>,redis.secretName=<Kubernetes-Secret-for-DB-password>,licenseAggregator.username=<unique-ID-for-CLA>,licenseInfo.vcpuEnterpriseQuantum=<QUANTUM>,licenseInfo.vcpuEnterpriseLowWatermark=<LOW WATERMARK>
对于标准 vCPU 版本:
helm install my-release citrix/cpx-license-aggregator --set licenseServer.address=<License-Server-IP-or-FQDN>,redis.secretName=<Kubernetes-Secret-for-DB-password>,licenseAggregator.username=<unique-ID-for-CLA>,licenseInfo.vcpuStandardQuantum=<QUANTUM>,licenseInfo.vcpuStandardLowWatermark=<LOW WATERMARK>
安装 NetScaler CPX 许可证聚合器以管理多个许可证
如果您需要 NetScaler CPX 许可证聚合器来管理多种类型的许可证,则必须在 Helm 命令中指定这些许可证的相关参数。
例如:
要部署 NetScaler CPX 许可证聚合器以获取 pooled platinum bandwidth edition 和 vCPU platinum edition 许可证,请执行以下操作:
helm install demo citrix/cpx-license-aggregator --set licenseServer.address=<License-Server-IP-or-FQDN>,redis.secretName=<Kubernetes-Secret-for-DB-password>,licenseAggregator.username=<unique-ID-for-CLA>,licenseInfo.instanceQuantum=<QUANTUM>,licenseInfo.instanceLowWatermark=<LOW WATERMARK>,licenseInfo.bandwidthPlatinumQuantum=<QUANTUM-in-Mbps>,licenseInfo.bandwidthPlatinumLowWatermark=<LOW WATERMARK-in-Mbps>,licenseInfo.vcpuPlatinumQuantum=<QUANTUM>,licenseInfo.vcpuPlatinumLowWatermark=LOW WATERMARK>
配置 NetScaler CPX 以从 NetScaler CPX 许可证聚合器获取许可证
当您使用 NetScaler CPX 许可证聚合器为 NetScaler CPX 授权时,需要在 NetScaler CPX 部署 YAML 中提供环境变量 CLA。
必须在此环境变量中提供可用于访问 NetScaler CPX 许可证聚合器的 ipaddress 或 domainname,如下所示:
env:
- name: "CLA"
value: "192.0.2.2"
或
env:
- name: "CLA"
value: "local-cla.org"
您还必须在 NetScaler CPX YAML 中提供以下环境变量。
-
POD_NAME:指定 Pod 的名称。Pod 的名称作为环境变量公开给 NetScaler CPX。 -
POD_NAMESPACE:指定 Pod 的命名空间。Pod 的命名空间作为环境变量公开给 NetScaler CPX。 -
Bandwidth:指定分配给 NetScaler CPX 的带宽(Mbps)。 -
Edition:指定许可证版本。支持的值包括 Standard、Platinum 和 Enterprise。 -
CPX_CORES:指定要为 NetScaler CPX 运行的核心数。
有关不同的 NetScaler CPX 许可选项的更多信息,请参阅 NetScaler CPX 许可。
以下显示了包含这些环境变量的示例配置:
- name: POD_NAME
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.name
- name: POD_NAMESPACE
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.namespace
- name: “BANDWIDTH”
value: 1000
- name: “CPX_CORES”
value: 1
- name: “EDITION”
value: PLATINUM
您还需要将以下标签添加到 NetScaler CPX YAML 中:
labels:
adc: citrix®
有关 NetScaler CPX 许可证聚合器的示例部署,请参阅 NetScaler CPX 许可证聚合器:示例部署。