Agregador de licencias de NetScaler CPX

Actualmente, los NetScaler CPX obtienen licencias del servidor NetScaler ADM. En un entorno de Kubernetes, los NetScaler CPX pueden iniciarse o detenerse dinámicamente. Si un NetScaler CPX se detiene inesperadamente, el servidor NetScaler ADM tarda unos minutos en recuperar la licencia. El servidor NetScaler ADM debe poder recuperar dichas licencias inmediatamente cuando los NetScaler CPX se detengan para que la misma licencia pueda asignarse a otro NetScaler CPX que se inicie. Además, si el servidor NetScaler ADM no es accesible por cualquier motivo, no podrá licenciar nuevos NetScaler CPX en el clúster.

El agregador de licencias de NetScaler CPX es un servicio de Kubernetes proporcionado por NetScaler. Este servicio actúa como un proveedor local para la concesión de licencias de NetScaler CPX dentro de un clúster de Kubernetes. El servicio de agregador de licencias de NetScaler CPX implementado en un clúster de Kubernetes puede actuar como intermediario entre los NetScaler CPX y el servidor de licencias de ADM, y realizar un seguimiento de los NetScaler CPX y las licencias asignadas. Con el servicio de agregador de licencias de NetScaler CPX, el servidor NetScaler ADM puede recuperar licencias inmediatamente cuando los NetScaler CPX se detienen.

En un clúster de Kubernetes, el servicio de agregador de licencias de NetScaler CPX admite implementaciones de NetScaler CPX tanto como sidecar como independientes.

Nota:

La concesión de licencias mediante el agregador de licencias de NetScaler CPX requiere NetScaler CPX 13.1-30.x o posterior. El agregador de licencias de NetScaler CPX no admite la concesión de licencias a versiones anteriores de NetScaler CPX.

Ventajas clave del agregador de licencias de NetScaler CPX

Las siguientes son las ventajas clave de usar el agregador de licencias de NetScaler CPX:

  • Escalabilidad: Un servidor de licencias de NetScaler ADM solo puede admitir hasta 10000 implementaciones de NetScaler CPX. Con la introducción del servicio de agregador de licencias de NetScaler CPX, cada clúster de Kubernetes puede actuar como un único cliente para el servidor de licencias de NetScaler ADM. Por lo tanto, puede escalar muchos NetScaler CPX con un único servidor de licencias de NetScaler ADM.

  • Optimización de recursos: El servicio de agregador de licencias de NetScaler CPX también admite la capacidad de licencias en todo el clúster y también puede obtener licencias del servidor NetScaler ADM según sea necesario. El agregador de licencias de NetScaler CPX puede devolver licencias al servidor NetScaler ADM. El agregador de licencias de NetScaler CPX puede manejar la terminación no controlada de los NetScaler CPX y recuperar licencias de dichos NetScaler CPX después del período de espera configurado.

Topología de implementación

El siguiente diagrama muestra una implementación del agregador de licencias de NetScaler CPX dentro de un clúster de Kubernetes.

Implementación del agregador de licencias de NetScaler CPX

En este diagrama:

  • CPX significa NetScaler CPX
  • CPX License Aggregator significa NetScaler CPX License Aggregator

En esta implementación de ejemplo, se implementa un servicio NetScaler CPX License Aggregator dentro del clúster de Kubernetes junto con los NetScaler CPX y el agente NetScaler ADM. El servicio NetScaler CPX License Aggregator actúa como intermediario entre los NetScaler CPX y el agente NetScaler ADM, y supervisa todos los NetScaler CPX dentro del clúster y les administra las licencias.

Implementar NetScaler CPX License Aggregator mediante gráficos de Helm

Requisitos previos

Se aplican los siguientes requisitos previos:

  • Necesita Kubernetes la versión 1.16 y posteriores.

  • Necesita la versión 3.x de Helm o posterior.

  • Debe obtener la dirección IP del servidor de licencias que tiene la licencia para NetScaler CPX.

  • Debe proporcionar una contraseña para la base de datos de Redis en NetScaler CPX License Aggregator. Puede proporcionar la contraseña de la base de datos mediante el secreto de Kubernetes y el siguiente comando se puede usar para crear el secreto:

     kubectl create secret generic dbsecret --from-literal=password=<custom-password>
    

Implementación mediante gráficos de Helm

Siga los pasos siguientes para implementar NetScaler CPX License Aggregator mediante gráficos de Helm en función del tipo de licencia de NetScaler CPX. Para obtener más información sobre los diferentes tipos de licencias de NetScaler CPX, consulte Licencias de NetScaler CPX.

Instalación del gráfico de Helm

Agregue el repositorio de gráficos de Helm de NetScaler CPX License Aggregator mediante el siguiente comando:

    helm repo add Citrix https://citrix.github.io/citrix-helm-charts/

Instalación de NetScaler CPX License Aggregator para administrar licencias agrupadas de ancho de banda

Utilice uno de los siguientes comandos en función del tipo de licencia agrupada de NetScaler CPX que tenga. En estos comandos, my-release se utiliza como nombre de la versión.

Nota:

De forma predeterminada, el gráfico de Helm instala los roles y las vinculaciones de roles RBAC recomendados.

Para la licencia de ancho de banda Platinum:

    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>

Para la edición de ancho de banda Enterprise:

    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>

Para la edición de ancho de banda Standard:

    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>

Estos comandos implementan NetScaler CPX License Aggregator en el clúster de Kubernetes con la configuración predeterminada. Puede configurar los parámetros en el momento de la instalación. Para obtener más información, consulte la sección Configuración de NetScaler CPX License Aggregator en el repositorio de GitHub del gráfico de Helm que enumera los parámetros obligatorios y opcionales que puede configurar durante la instalación.

Instalación de NetScaler CPX License Aggregator para administrar licencias de vCPU

Utilice uno de los siguientes comandos según el tipo de licencia vCPU de NetScaler CPX que tenga. En estos comandos, my-release se utiliza como nombre de la versión.

Nota: De forma predeterminada, el gráfico de Helm instala los roles y las vinculaciones de roles RBAC recomendados.

Para la edición vCPU Platinum:

    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>

Para la edición vCPU Enterprise:

    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>

Para la edición vCPU Standard:

    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>

Instalación de NetScaler CPX License Aggregator para administrar varias licencias

Si necesita que NetScaler CPX License Aggregator administre varios tipos de licencias, los argumentos relevantes de esas licencias deben especificarse en el comando de Helm.

Por ejemplo:

Para implementar NetScaler CPX License Aggregator para licencias pooled platinum bandwidth edition y 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>

Configuración de NetScaler CPX para obtener la licencia de NetScaler CPX License Aggregator

Cuando utiliza NetScaler CPX License Aggregator para licenciar NetScaler CPX, la variable de entorno CLA debe proporcionarse en el YAML de implementación de NetScaler CPX.

El ipaddress o domainname mediante el cual se puede acceder a NetScaler CPX License Aggregator debe proporcionarse en esta variable de entorno de la siguiente manera:

      env:
      - name: "CLA"
        value: "192.0.2.2"

O

      env:
      - name: "CLA"
        value: "local-cla.org"

También debe proporcionar las siguientes variables de entorno en el YAML de NetScaler CPX.

  • POD_NAME: Especifica el nombre del pod. El nombre del pod se expone a NetScaler CPX como una variable de entorno.
  • POD_NAMESPACE: Especifica el espacio de nombres del pod. El espacio de nombres del pod se expone a NetScaler CPX como una variable de entorno.
  • Bandwidth: Especifica el ancho de banda en Mbps para asignar a NetScaler CPX.
  • Edition: Especifica la edición de la licencia. Los valores admitidos incluyen Standard, Platinum y Enterprise.
  • CPX_CORES: Especifica el número de núcleos que desea ejecutar para NetScaler CPX.

Para obtener más información sobre las diferentes opciones de licencias de NetScaler CPX, consulte Licencias de NetScaler CPX.

A continuación se muestra una configuración de ejemplo con estas variables de entorno:

      - 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

También debe agregar la siguiente etiqueta al YAML de NetScaler CPX:

     labels:
       adc: citrix®

Para ver un ejemplo de implementación de NetScaler CPX License Aggregator, consulte NetScaler CPX License Aggregator: Implementación de ejemplo.

Agregador de licencias de NetScaler CPX