Rapport de capacité de licence
Comprendre la mesure horaire de capacité Scrydon, le rapport quotidien en ligne, les contrôles de confidentialité et la configuration des accélérateurs.
Les licences Scrydon sont mesurées par rapport à la capacité déployée pour Scrydon : CPU, RAM, nœuds workers et VRAM des accélérateurs. Les installations en ligne mesurent cette capacité localement chaque heure et incluent le maximum observé dans la requête de validation de licence existante toutes les 24 heures.
Cluster dédié obligatoire. Déployez Scrydon sur un cluster Kubernetes dédié. La mesure couvre chaque nœud worker éligible du cluster ; elle ne peut pas distinguer la capacité réservée à des charges de travail non liées.
Fréquence et comportement réseau
| Événement | Fréquence | Requête sortante ? |
|---|---|---|
| Échantillon de capacité Kubernetes | Au démarrage et chaque heure | Non |
| Échantillon avant un rapport ou une revérification manuelle | À la demande | Non |
| Validation de licence en ligne et rapport de capacité | Toutes les 24 heures | Oui |
Un échantillon horaire appelle uniquement l'API Kubernetes interne au cluster. Il ne contacte pas Scrydon. Si la requête quotidienne échoue, la fenêtre de maximums accumulée reste dans la base de données du client et est renvoyée lors de la validation suivante.
En mode offline, y compris pour une installation totalement isolée, Scrydon n'émet aucune requête de licence sortante. La capacité est traitée par le processus d'attestation manuelle convenu dans votre contrat de licence.
Éléments mesurés
Le collecteur lit status.allocatable sur les nœuds workers planifiables. Il exclut les nœuds qui :
- ont
spec.unschedulable: true; - portent le label
node-role.kubernetes.io/control-plane; ou - portent l'ancien label
node-role.kubernetes.io/master.
Pour chaque échantillon horaire, Scrydon additionne (en arrondissant vers le haut les fractions de millicœurs et de Mio afin de ne jamais sous-estimer la capacité) :
- le CPU en millicœurs entiers ;
- la RAM en Mio entiers ;
- les unités d'accélérateur et leur VRAM configurée en Mio entiers ; et
- le nombre de nœuds workers éligibles.
Le rapport quotidien contient la valeur la plus élevée observée pour chaque dimension pendant la fenêtre. Chaque dimension possède son propre maximum. Le CPU provient de allocatable.cpu et la RAM de allocatable.memory. Une unité GB de RAM ou VRAM sous licence est comparée à 1 024 Mio, et un cœur CPU à 1 000 millicœurs.
La première version est uniquement destinée à l'audit. Un dépassement est enregistré pour examen, mais ne bloque pas les charges de travail et ne modifie pas la réponse d'une licence par ailleurs valide.
Configuration des accélérateurs et GPU
Les ressources d'accélérateur Kubernetes exposent généralement un nombre d'unités, pas la VRAM. Configurez la quantité de VRAM représentée par une unité allouable. Le mapping est indépendant du fournisseur et prend en charge NVIDIA, AMD, Intel, les device plugins personnalisés et les ressources partitionnées telles que les profils MIG.
license:
capacity:
acceleratorResources:
- resourceName: nvidia.com/gpu
vramMiBPerUnit: 24576
- resourceName: amd.com/gpu
matchLabels:
accelerator.scrydon.com/model: mi300x
vramMiBPerUnit: 196608
- resourceName: gpu.intel.com/i915
vramMiBPerUnit: 16384
- resourceName: nvidia.com/mig-1g.10gb
vramMiBPerUnit: 10240Utilisez matchLabels lorsque le même nom de ressource étendue représente des appareils ayant des tailles de VRAM différentes. Les labels servent uniquement à sélectionner le mapping ; leurs clés et valeurs ne sont jamais envoyées dans la requête de licence. Ne configurez pas deux mappings pouvant correspondre à la même ressource sur le même nœud.
Si la licence inclut de la VRAM mais qu'une ressource d'accélérateur déployée ne possède pas de mapping non ambigu, le rapport est marqué incomplet au lieu d'estimer la capacité.
Données envoyées à Scrydon
Les données contractuelles sont séparées des diagnostics facultatifs.
| Catégorie | Champs | Désactivable ? |
|---|---|---|
| Validation de licence | JWT de licence signé et identifiant stable de l'installation | Non en mode online |
| Capacité contractuelle | Horodatages et identifiant de fenêtre ; millicœurs CPU ; RAM en Mio ; VRAM en Mio ; nombre de nœuds workers ; nombre d'accélérateurs ; état de complétude et codes de raison bornés | Non en mode online |
| Diagnostics | Version installée du chart/de l'application Scrydon | Oui |
La requête ne contient pas les noms de nœuds, adresses IP, labels Kubernetes, noms de ressources, numéros de série GPU, noms de pods ou de charges de travail, namespaces, données utilisateur, prompts, documents ni contenu client. Les rapports de licence bruts sont conservés par le service de licences Scrydon pendant trois mois.
Désactivez les diagnostics facultatifs sans désactiver le rapport de capacité contractuelle :
license:
diagnostics:
enabled: falseAccès Kubernetes
En mode online, le chart Helm associe un ClusterRole à portée réduite au compte de service api-platform. Il accorde uniquement :
apiGroups: [""]
resources: ["nodes"]
verbs: ["get", "list"]Le rapport de capacité n'ajoute aucune autorisation de créer, modifier, patcher ou supprimer des ressources, ni de lire les Secrets Kubernetes.
Si vous activez les NetworkPolicies « default-deny » du chart, autorisez également l'adresse IP du Service de l'API Kubernetes. Utilisez le CIDR le plus étroit permis par votre CNI :
kubectl get service kubernetes -o jsonpath='{.spec.clusterIP}{"/32\\n"}'networkPolicies:
kubernetesApiEgress:
enabled: true
cidr: 10.96.0.1/32 # remplacer par le résultat de la commande
port: 443Dépannage des rapports incomplets
Un rapport incomplet conserve les données mesurées et ajoute une ou plusieurs raisons bornées :
- API Kubernetes indisponible ;
- aucun nœud worker éligible ;
- quantité Kubernetes invalide ;
- mapping d'accélérateur manquant ; ou
- mapping d'accélérateur ambigu.
Consultez les logs d'api-platform, confirmez que son compte de service peut lister les nœuds et vérifiez license.capacity.acceleratorResources. Une défaillance temporaire n'efface pas la fenêtre de maximums en cours.