Agrégateur de licences NetScaler CPX

Actuellement, les CPX de NetScaler obtiennent des licences auprès du serveur Citrix ADM. Dans un environnement Kubernetes, les CPX de NetScaler peuvent augmenter ou diminuer de manière dynamique. Si un NetScaler CPX tombe en panne de manière inattendue, le serveur Citrix ADM met quelques minutes à récupérer la licence. Le serveur Citrix ADM doit être en mesure de récupérer ces licences immédiatement au fur et à mesure que les CPX de NetScaler tombent en panne afin que la même licence puisse être allouée à un autre NetScaler CPX à venir. De plus, si le serveur Citrix ADM n’est pas accessible pour quelque raison que ce soit, vous ne pouvez pas attribuer de licence aux nouveaux CPX NetScaler dans le cluster.

NetScaler CPX License Aggregator est un service Kubernetes fourni par NetScaler. Ce service agit en tant que fournisseur local pour les licences NetScaler CPX au sein d’un cluster Kubernetes. Le service NetScaler CPX License Aggregator déployé dans un cluster Kubernetes peut servir d’intermédiaire entre NetScaler CPX et le serveur de licences ADM et assurer le suivi des CPX NetScaler et des licences attribuées. Grâce au service NetScaler CPX License Aggregator, le serveur Citrix ADM peut récupérer des licences immédiatement lorsque NetScaler CPXS tombe en panne.

Dans un cluster Kubernetes, le service NetScaler CPX License Aggregator prend en charge à la fois NetScaler CPX en tant que sidecar et les déploiements autonomes.

Remarque :

L’octroi de licences à l’aide de NetScaler CPX License Aggregator nécessite NetScaler CPX 13.1-30.x ou version ultérieure. L’agrégateur de licences NetScaler CPX ne prend pas en charge les licences pour les anciennes versions de NetScaler CPX.

Principaux avantages de l’agrégateur de licences NetScaler CPX

Les principaux avantages de l’utilisation de NetScaler CPX License Aggregator sont les suivants :

  • Évolutivité : un serveur de licences Citrix ADM ne peut prendre en charge que jusqu’à 10 000 déploiements NetScaler CPX. Avec l’introduction du service NetScaler CPX License Aggregator, chaque cluster Kubernetes peut agir comme un client unique pour le serveur de licences Citrix ADM. Vous pouvez donc faire évoluer de nombreux CPX NetScaler avec un seul serveur de licences Citrix ADM.

  • Optimisation des ressources : le service NetScaler CPX License Aggregator prend également en charge la gestion des licences à l’échelle du cluster et peut également récupérer les licences du serveur Citrix ADM en fonction des besoins. L’agrégateur de licences NetScaler CPX peut renvoyer des licences au serveur Citrix ADM. L’agrégateur de licences NetScaler CPX peut gérer la résiliation abusive de NetScaler CPX et récupérer les licences de ces CPX NetScaler après la période d’attente configurée.

Topologie de déploiement

Le schéma suivant montre un déploiement de NetScaler CPX License Aggregator au sein d’un cluster Kubernetes.

Déploiement de l'agrégateur de licences NetScaler CPX

Dans ce schéma :

  • CPX signifie NetScaler CPX
  • CPX License Aggregator signifie NetScaler CPX License Aggregator

Dans cet exemple de déploiement, un service d’agrégation de licences NetScaler CPX est déployé au sein du cluster Kubernetes avec NetScaler CPX et l’agent Citrix ADM. Le service NetScaler CPX License Aggregator fait office d’intermédiaire entre NetScaler CPX et l’agent Citrix ADM. Il surveille tous les CPX NetScaler du cluster et gère les licences qui leur sont associées.

Déployez l’agrégateur de licences NetScaler CPX à l’aide de Helm charts

Conditions préalables

Les conditions préalables suivantes s’appliquent :

  • Vous avez besoin de Kubernetes version 1.16 et ultérieure.

  • Vous avez besoin de la version 3.x ou ultérieure de Helm.

  • Vous devez obtenir l’adresse IP du serveur de licences qui possède la licence pour NetScaler CPX.

  • Vous devez fournir un mot de passe pour la base de données Redis dans NetScaler CPX License Aggregator. Vous pouvez fournir le mot de passe de la base de données à l’aide du secret Kubernetes et la commande suivante peut être utilisée pour créer le secret :

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

Déploiement à l’aide de graphiques Helm

Procédez comme suit pour déployer l’agrégateur de licences NetScaler CPX à l’aide de diagrammes Helm en fonction du type de licence NetScaler CPX. Pour plus d’informations sur les différents types de licences NetScaler CPX, consultez la section Licences NetScalerCPX.

Installation du graphique Helm

Ajoutez le référentiel graphique NetScaler CPX License Aggregator Helm à l’aide de la commande suivante :

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

Installation de l’agrégateur de licences NetScaler CPX pour gérer les licences groupées de bande passante

Utilisez l’une des commandes suivantes en fonction du type de licence groupée NetScaler CPX dont vous disposez. Dans ces commandes, my-release est utilisé comme nom de version.

Remarque :

Par défaut, le graphique Helm installe les rôles et les liaisons de rôles RBAC recommandés.

Pour une licence de bande passante platine :

    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>

Pour l’édition Enterprise Bandwidth :

    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>

Pour l’édition à bande passante 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>

Ces commandes déploient l’agrégateur de licences NetScaler CPX sur le cluster Kubernetes avec la configuration par défaut. Vous pouvez configurer les paramètres au moment de l’installation. Pour plus d’informations, consultez la section de configuration de NetScaler CPX License Aggregator dans le référentiel GitHub Helm Chart qui répertorie les paramètres obligatoires et facultatifs que vous pouvez configurer lors de l’installation.

Installation de l’agrégateur de licences NetScaler CPX pour gérer les licences vCPU

Utilisez l’une des commandes suivantes en fonction du type de licence NetScaler CPX vCPU dont vous disposez. Dans ces commandes, my-release est utilisé comme nom de version.

Remarque : Par défaut, le graphique Helm installe les rôles RBAC et les liaisons de rôles recommandés.

Pour l’édition Platinum 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>

Pour l’édition Enterprise 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>

Pour l’édition 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>

Installation de NetScaler CPX License Aggregator pour gérer plusieurs licences

Si vous avez besoin de l’agrégateur de licences NetScaler CPX pour gérer plusieurs types de licences, les arguments pertinents de ces licences doivent être spécifiés dans la commande Helm.

Par exemple :

Pour déployer NetScaler CPX License Aggregator pour et des licences pooled platinum bandwidth edition et vCPU platinum edition, procédez comme suit :

      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>

Configuration de NetScaler CPX pour obtenir une licence auprès de NetScaler CPX License Aggregator

Lorsque vous utilisez NetScaler CPX License Aggregator pour obtenir une licence NetScaler CPX, la variable CLA d’environnement doit être fournie dans le YAML du déploiement de NetScaler CPX.

Le ipaddress ou domainname à l’aide duquel NetScaler CPX License Aggregator est accessible doit être fourni dans cette variable d’environnement comme suit :

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

Ou

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

Vous devez également fournir les variables d’environnement suivantes dans le NetScaler CPX YAML.

  • POD_NAME: spécifie le nom du pod. Le nom du pod est exposé à NetScaler CPX en tant que variable d’environnement.
  • POD_NAMESPACE: spécifie l’espace de noms du pod. L’espace de noms du pod est exposé à NetScaler CPX en tant que variable d’environnement.
  • Bandwidth: Spécifie la bande passante en Mbit/s à allouer à NetScaler CPX.
  • Edition: spécifie l’édition de licence. Les valeurs prises en charge incluent Standard, Platinum et Enterprise.
  • CPX_CORES : Spécifie le nombre de cœurs que vous souhaitez exécuter pour NetScaler CPX.

Pour plus d’informations sur les différentes options de licence NetScaler CPX, consultez la section Licences NetScalerCPX.

La figure suivante montre un exemple de configuration avec ces variables d’environnement :

      - 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

Vous devez également ajouter l’étiquette suivante au NetScaler CPX YAML :

     labels:
       adc: citrix

Pour un exemple de déploiement de NetScaler CPX License Aggregator, voir NetScaler CPX License Aggregator : Exemple de déploiement.

Agrégateur de licences NetScaler CPX