Avant de commencer
Les exemples CLI etcurl de cette page s’authentifient tous deux à l’aide d’un jeton d’accès à l’API CoreWeave. Générez-en un depuis la page Tokens de la Cloud Console, puis copiez la valeur Token Secret. Pour en savoir plus sur les jetons, consultez Gérer les jetons d’accès à l’API.
CLI : installez la CoreWeave Intelligent CLI (cwic), puis exécutez cwic auth login et collez le jeton lorsque vous y êtes invité. Le jeton est enregistré dans votre configuration cwic locale, et les commandes suivantes le lisent automatiquement. Il n’est pas nécessaire de définir une variable d’environnement.
curl : exportez le jeton dans votre shell pour que les exemples de cette page puissent l’utiliser. Remplacez [API-ACCESS-TOKEN] par votre jeton d’accès à l’API CoreWeave :
Commandes des exécuteurs
Le groupecwic sandbox runner permet de gérer les exécuteurs. Le tableau suivant indique, pour chaque tâche du cycle de vie, la commande correspondante. Les sections suivantes présentent ces commandes en contexte.
Toutes les entrées acceptent le format YAML ou JSON.
Déployer un exécuteur
Au sein de votre organisation, chaque cluster CKS héberge au plus un exécuteur géré. Pour en déployer un, fournissez les éléments suivants :- Identifiant de l’exécuteur : un identifiant lisible attribué par le client, unique au sein de votre organisation.
- Zone : la zone géographique à laquelle appartient le cluster.
- Identifiant du cluster (ou nom du cluster) : le cluster CKS sur lequel l’exécuteur s’exécute. Vous trouverez ces deux informations sur la page Clusters de la Cloud Console.
- Politique : les règles que l’exécuteur applique aux bacs à sable de son cluster. Une politique est requise pour exécuter des bacs à sable. Si vous l’omettez, CoreWeave en fournit une par défaut lorsque l’exécuteur se connecte. La politique peut définir une durée de vie par défaut des bacs à sable ; la plateforme impose une limite maximale de 30 jours. Voir Configurer une politique de sandbox.
- CLI
- curl
L’assistant vous demande de manière interactive le cluster, le canal de publication et les fenêtres de maintenance, puis ouvre votre éditeur avec une spécification préremplie avant de la soumettre :Le mode fichier accepte le YAML ou le JSON : c’est donc la méthode à privilégier pour des configurations reproductibles, et elle convient particulièrement aux agents comme Claude Code ou Codex qui génèrent des spécifications d’exécuteur à votre place. La CLI peut également lire depuis stdin avec Soumettez la spécification :
-f -. Remplacez [CLUSTER-NAME] par le nom du cluster CKS sur lequel déployer l’exécuteur :runner.yaml
maintenance_policy.windowsest facultatif. S’il est défini, les mises à jour automatiques ne s’appliquent que pendant les fenêtres cron spécifiées.runner_group_idest facultatif. Utilisez-le pour définir une affinité d’ordonnancement lorsque vous disposez de plusieurs exécuteurs dans la même zone.
Erreurs de validation courantes
Vérifier le statut de l’exécuteur
Après la création, vérifiez le statut de l’exécuteur pour confirmer qu’il a bien été déployé ou, le cas échéant, pour diagnostiquer les problèmes.- CLI
- curl
get :prod-us-east-1) ou l’UUID attribué par le serveur.installStatus: progression du déploiement de l’exécuteur dans votre cluster (PENDING,PROVISIONING,READYouFAILED).connectionStatus: état de la connectivité en temps réel (CONNECTEDouDISCONNECTED). Cette valeur est mise à jour par le signal de pulsation (heartbeat) de l’exécuteur. Prévoyez un délai pouvant atteindre 30 secondes.
installStatus == FAILED, la réponse inclut un objet installError structuré :
remediationHints indique les actions à entreprendre. diagnosticDetail contient également des journaux internes qu’il est utile de joindre si vous ouvrez un ticket d’assistance.
Mettre à jour un exécuteur
La commande de modification de l’exécuteur prend en charge un assistant interactif ainsi qu’un patch basé sur un fichier. En interne, les mises à jour s’appuient sur un masque de champs : seuls les champs que vous modifiez sont appliqués. Tout le reste est en lecture seule, notammentinstallStatus, connectionStatus, les horodatages et la spécification de déploiement résolue.
Les chemins suivants sont modifiables :
identity.zoneidentity.runner_group_idspec(objet entier)spec.release_channelspec.maintenance_policyspec.overridesspec.enforce_resource_limitspolicy(document entier)
PATCH est l’exécuteur géré lui-même, sans encapsuleur de requête, et le masque de champs est transmis dans le paramètre de requête updateMask. En l’absence de masque, ou avec updateMask=*, l’intégralité de la ressource modifiable est remplacée.
Deux chemins ne sont acceptés que sur l’ancienne interface v1beta2 et sont rejetés lors des écritures d’exécuteur géré en v1 : profile_bindings (configurez plutôt policy) et spec.allow_privileged_profile_annotations.
Mises à jour courantes d’un exécuteur
Les exemples suivants présentent les modifications les plus fréquemment apportées à un exécuteur : changer de canal de publication, remplacer la politique qui lui est associée, ajuster le placement du pod de l’exécuteur dans votre cluster et autoriser les anciens modèles de profil à comporter une posture privilégiée.Exemple : changer de canal de publication
- CLI
- curl
Appliquez un patch d’une ligne depuis stdin :Vous pouvez aussi écrire le patch dans un fichier, puis le soumettre :
patch.yaml
Exemple : remplacer la politique
La politique est remplacée en tant que document complet. Lisez la politique actuelle, modifiez ce dont vous avez besoin, puis renvoyez-la. Il n’existe aucun masque au niveau des champs danspolicy : un corps partiel efface donc les groupes que vous omettez.
Une mise à jour de politique inclut également un etag, le jeton de révision opaque que l’exécuteur renvoie lorsque vous lisez la politique. Envoyez la valeur issue de la lecture sur laquelle repose votre modification, et non une valeur plus récente. Un jeton obsolète provoque un échec avec FAILED_PRECONDITION et ne modifie rien : une modification concurrente est ainsi signalée au lieu d’être écrasée silencieusement.
- CLI
- curl
policy.json, puis soumettez-le en l’associant à l’etag issu de cette même lecture :policy get exporte la politique sans son etag, et policy edit -f sans --etag lit la révision actuelle de l’exécuteur au moment de la soumission : aucune de ces commandes ne vous lie donc à la révision dont provient votre fichier. Lire le jeton séparément, par exemple avec policy describe après l’export, présente la même faille : un jeton plus récent que votre document passe la vérification et écrase la modification effectuée entre-temps. Le modèle de cwic sandbox runner edit évite cette étape supplémentaire : --print-template exporte ensemble les paramètres modifiables, la politique et son etag, et -f utilise la valeur présente dans le fichier.Exemple : fixer le placement sur des nœuds via les remplacements de déploiement
Le champspec.overrides configure le pod de l’exécuteur lui-même, et non les pods des bacs à sable. Utilisez-le lorsque le pod de l’exécuteur a besoin de tolérances, de sélecteurs de nœuds ou de classes de runtime spécifiques pour être placé sur les bons nœuds.
Un cas courant consiste à acheminer le pod de l’exécuteur via le SUNK Pod Scheduler afin qu’il puisse s’exécuter dans votre cluster SUNK aux côtés des tâches Slurm. Définissez le nom de l’ordonnanceur et les annotations SUNK dans les remplacements de l’exécuteur. Consultez Intégration du SUNK Pod Scheduler pour connaître les annotations disponibles et la configuration requise.
- CLI
- curl
overrides.yaml
Exemple : autoriser une posture de profil privilégiée
allow_privileged_profile_annotations détermine si les modèles de profil hérités liés à un exécuteur peuvent comporter une posture privilégiée. Ce paramètre s’applique aux exécuteurs qui utilisent encore des liaisons de profil plutôt qu’une politique ; la requête est donc envoyée à la surface v1beta2. Sa valeur par défaut est false, et tout modèle comportant une telle posture est rejeté sur un exécuteur où l’option n’est pas définie.
Malgré son nom, cette option régit deux types de contenu :
- Les annotations de pod privilégiées, c’est-à-dire les préfixes du runtime et de l’ordonnanceur.
- Les champs structurés privilégiés de la spécification de pod, tels que
serviceAccountName, les namespace de l’hôte, les volumeshostPath, ainsi que les conteneurs privilégiés ou avec élévation de privilèges.
permission_denied et indique les champs en cause. Par exemple, un modèle qui définit securityContext.appArmorProfile et securityContext.seccompProfile échoue avec l’erreur suivante :
Example output
- CLI
- curl
Déclencher à la demande une mise à jour de l’exécuteur
LorsqueupdateAvailable vaut true sur l’exécuteur, vous pouvez appliquer la mise à jour immédiatement plutôt que d’attendre la prochaine fenêtre de maintenance :
- CLI
- curl
target_revision. Le contrôleur exécuté dans le cluster en assure ensuite le déploiement.
Lister les exécuteurs
Pour afficher tous les exécuteurs de votre organisation, ou pour restreindre la vue à une zone, un cluster ou un état de connexion donné, utilisez les commandes de liste suivantes.- CLI
- curl
Supprimer un exécuteur
Supprimez un exécuteur lorsque vous n’avez plus besoin de capacité de sandbox sur son cluster, ou avant de redéployer un nouvel exécuteur sur le même cluster.- CLI
- curl
--yes pour ignorer cette confirmation :Voir aussi
- Configurer les budgets d’allocation des Nœuds : limitez les demandes de CPU et de mémoire des sandbox par Node Pool ou par groupe de Nœuds.
- Architecture des bacs à sable : le modèle de ressources, la distinction entre plan de contrôle et plan de données, et la topologie multicluster.
- Aperçu des politiques : comment une sandbox est résolue par rapport à une politique.
- Configurer une politique de sandbox : chaque groupe de contraintes, avec des exemples détaillés.
- Aperçu de l’API du plan de contrôle : l’authentification, les masques de champs, ainsi que la structure des requêtes et des réponses de chaque point de terminaison.
- Référence des politiques : tous les champs que vous pouvez définir dans une politique.