Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Vous avez besoin de Jetpack sur chaque nœud d’un cluster. Azure CycleCloud installe automatiquement Jetpack sur chaque machine virtuelle que vous approvisionnez pour devenir un nœud dans un cluster. Jetpack fournit trois fonctions principales :
- Configuration du nœud - CycleCloud utilise des scripts et Chef pour automatiser la configuration d’une machine virtuelle provisionnée dans un nœud de cluster opérationnel. Un client Chef et les ressources nécessaires à la configuration de la machine virtuelle sont incorporées dans Jetpack.
- Synchronisation distribuée : Jetpack gère la communication entre le nœud et le serveur d’applications CycleCloud. Cette gestion permet à CycleCloud de surveiller l’état des machines virtuelles d’approvisionnement et de synchroniser l’orchestration de plusieurs nœuds dans le cluster.
- HealthCheck : Jetpack utilise HealthCheck pour déterminer l’intégrité des machines virtuelles afin qu’elles puissent arrêter des machines virtuelles non saines.
Installation de Jetpack
Le programme d’installation Jetpack est mis en cache dans votre compte de stockage Azure lorsque vous démarrez un cluster à l’aide de CycleCloud. À mesure que les machines virtuelles de cluster sont approvisionnées, une extension de script personnalisé est exécutée dans le cadre du processus de démarrage. Cette extension télécharge le programme d’installation Jetpack à partir de votre cache stockage Azure, puis l’installe sur la machine virtuelle.
Programme d’installation de Jetpack :
- Décompresse les fichiers Jetpack dans une arborescence de répertoires unique :
- Windows : C :\cycle\jetpack
- Linux : /opt/cycle/Jetpack
- Crée des scripts de démarrage init système qui configurent une machine virtuelle en tant que nœud de cluster
- Installe le service HealthCheck
- Installe l’outil en ligne de commande Jetpack sur :
- Windows : C:\cycle\jetpack\bin\jetpack
- Linux : /opt/cycle/jetpack/bin/jetpack
- Crée des règles udev sur Linux
- Définit la variable d’environnement
CYCLECLOUD_HOME
Remarque
Si Jetpack est préinstallé sur l’image, l’extension de script personnalisé ne réinstalle pas Jetpack. Au lieu de cela, il exécute une étape d'initialisation qui valide la connexion du nœud à CycleCloud et démarre les services healthcheck et jetpackd avant de continuer à configurer le nœud.
Répertoires secondaires Jetpack
| Répertoire | Descriptif |
|---|---|
bin |
Fichiers binaires et scripts utiles. |
config |
Fichiers et scripts de configuration définis par l’utilisateur et définis par le cluster. |
logs |
Journaux générés en joignant un cluster et en convergeant le nœud. Ce qui est d’un intérêt particulier est jetpack.log, qui contient les résultats du processus de convergence. |
run |
Fichiers runtime générés par le système. Nous vous déconseillons d’accéder directement à ces fichiers. |
system |
Fichiers internes. Nous vous déconseillons d’utiliser directement des fichiers dans ce répertoire, car ils peuvent changer considérablement d'une version à l'autre. |
Vérification de santé
Le service HealthCheck exécute des scripts définis par l’utilisateur pour déterminer la viabilité actuelle d’une machine virtuelle en tant que nœud de cluster. Pour plus d’informations, consultez la documentation HealthCheck .
Outil en ligne de commande Jetpack
L’outil en ligne de commande Jetpack fournit un ensemble utile de sous-commandes pour manipuler la machine virtuelle actuelle et interagir avec Azure CycleCloud.
| Commande | Descriptif |
|---|---|
jetpack autoscale |
Mettre à l’échelle automatiquement le cluster auquel appartient ce nœud. |
jetpack config |
Récupérez une valeur de configuration. |
jetpack converge |
Exécutez une « convergence » pour mettre à jour la configuration du nœud. |
jetpack download |
Téléchargez un objet blob à partir d’un projet dans le Stockage Azure. |
jetpack keepalive |
Retarder l’arrêt du système par le service HealthCheck. |
jetpack log |
Journaliser un message dans l’interface utilisateur du cluster CycleCloud. |
jetpack run_on_shutdown |
Ajoutez un script qu'il convient d'exécuter avant l’arrêt du nœud. |
jetpack send |
Envoyez un message AMQP arbitraire au serveur CycleCloud. |
jetpack shutdown |
Demandez l’arrêt de la machine virtuelle par CycleCloud. |
jetpack test |
Exécutez des tests associés aux projets affectés à la machine virtuelle. |
jetpack users |
Répertorier les utilisateurs que CycleCloud gère sur cette machine virtuelle. |
jetpack report_issue |
Archiver les fichiers journaux d’une machine virtuelle vers le stockage Azure |
mise à l’échelle automatique jetpack
Permet jetpack autoscale de définir les cibles de mise à l’échelle automatique pour le cluster auquel appartient le nœud. Vous pouvez mettre à l’échelle des clusters par cœurs, nombre d’instances ou définitions personnalisées.
Pour effectuer une mise à l’échelle à 100 cœurs :
jetpack autoscale --corecount=100
Pour mettre à l’échelle le réseau de nœuds « gpu » sur cinq nœuds :
jetpack autoscale --instancecount 5 --name=gpu
Pour personnaliser la mise à l’échelle automatique, écrivez un fichier JSON sur le disque qui contient la définition nodearray que vous souhaitez mettre à l’échelle. Pour effectuer une mise à l’échelle de 100 cœurs :
[
{
"Name": "execute",
"TargetCoreCount": 100
}
]
jetpack autoscale --file=custom-autoscale.json
configuration de jetpack
Permet jetpack config d’extraire des informations que CycleCloud transmet à une machine virtuelle. Il expose :
- toutes les propriétés système rendues disponibles via Ohai
- un sous-ensemble des métadonnées Azure de la machine virtuelle
- informations sur le cluster CycleCloud parent.
converger jetpack
jetpack converge commande télécharge tous les projets CycleCloud associés au nœud et démarre un processus converge qui exécute les scripts cluster-init pour le nœud.
téléchargement jetpack
La commande jetpack download télécharge un objet blob que vous avez chargé avec un projet sur le nœud. Vous devez spécifier le projet auquel appartient l’objet blob.
Pour télécharger l'objet blob big-file.zip que vous avez chargé dans le cadre du projet example-project dans le répertoire actuel :
jetpack download --project example-project big-file.zip .
jetpack keepalive
jetpack keepalive la commande interagit avec le service HealthCheck pour retarder l’arrêt de la machine virtuelle en raison d’un contrôle d’intégrité défaillant. Vous pouvez définir le délai sur une période fixe ou indéfiniment. Par défaut, la commande retarde l’arrêt pendant une heure.
Pour retarder l’arrêt du système d’une heure :
jetpack keepalive
Pour retarder l’arrêt du système d’une durée de six heures :
jetpack keepalive 6h
Pour désactiver entièrement le service HealthCheck, autrement dit, pour retarder l’arrêt indéfiniment :
jetpack keepalive forever
Remarque
Seule l’option forever est disponible pour HealthCheck sur les machines virtuelles Windows.
journal jetpack
jetpack log renvoie un message de journal à CycleCloud. Le message s’affiche dans le journal du serveur d’applications (généralement /opt/cycle_server/cycle_server.log), le journal des événements principal et la page de l’interface utilisateur du cluster.
Chaque message a deux propriétés : level et priority.
La level propriété indique le type de message. Les niveaux valides sont info, warnet error. Le niveau n’indique pas l’importance d’un message donné. Par exemple, certaines erreurs sont triviales et certains messages d’information critiques.
La priorité indique l’importance du message. Les valeurs de priorité valides sont « low », « medium » et « high ». Seuls les messages dont la priorité est moyenne ou supérieure sont affichés sur la page de l’interface utilisateur du cluster pour éviter d’inonder la page avec des messages de faible priorité.
Pour envoyer un message de journal d’informations qui s’affiche sur la page de l’interface utilisateur du cluster :
jetpack log 'system is now ready'
Pour envoyer un message de journal de faible priorité que vous ne souhaitez pas afficher sur la page de l’interface utilisateur du cluster :
jetpack log 'system is now ready' --priority low
Par défaut, les messages avec un niveau d’erreur ont une priorité élevée. Pour envoyer un message d’erreur :
jetpack log 'the machine cannot process jobs' --level error
Pour envoyer un message d’erreur trivial :
jetpack log 'the machine cannot process jobs' --level error --priority low
jetpack run_on_shutdown
La jetpack run_on_shutdown commande inscrit un script bash à appeler avant l’arrêt du nœud.
La commande prend le chemin absolu du script en tant qu’argument.
Quand Azure termine le nœud et les notifications d’arrêt sont activées, Jetpack reçoit la notification de l’arrêt. Il tente d’exécuter le script avant l’arrêt du nœud.
Les nœuds doivent activer les notifications d’arrêt pour activer run_on_shutdown.
jetpack run_on_shutdown /tmp/example.sh
Cette commande n’est pas prise en charge pour les nœuds Windows.
envoyer jetpack
jetpack send envoie un message AMQP à CycleCloud. Il s’agit d’une commande avancée que nous ne recommandons pas, sauf si vous développez des plug-ins pour CycleCloud.
Vous pouvez envoyer des chaînes ou des fichiers arbitraires avec des clés de routage AMQP spécifiées.
arrêt jetpack
Utilisez jetpack shutdown pour demander à CycleCloud de terminer le nœud. Vous pouvez passer des paramètres à la commande pour spécifier la raison de la demande d’arrêt (inactif ou non sain) et comment arrêter le nœud (terminer ou désallouer).
Pour arrêter un nœud non sain, utilisez la commande suivante :
jetpack shutdown --unhealthy
Pour libérer le nœud :
jetpack shutdown --deallocate
essai de jetpack
Permet jetpack test d’exécuter tous les tests inclus dans les projets affectés au nœud. La commande imprime les résultats dans stdout.
les utilisateurs de Jetpack
jetpack users répertorie les utilisateurs que CycleCloud gère sur le nœud. Cette liste peut changer au fil du temps à mesure que les utilisateurs sont affectés et supprimés du cluster.
Pour obtenir une impression conviviale des utilisateurs affectés au nœud :
$ jetpack users
Username: test-user
Full Name: Test User
UID: 10201
Is Admin: True
Is Owner: True
Pour obtenir une sortie JSON conviviale pour les scripts :
$ jetpack users --json
[
{
"fullName": "Test User",
"isAdmin": true,
"isOwner": true,
"name": "test-user",
"publicKeys": [
"ssh-rsa public-key-goes-here\n"
],
"uid": 10201
}
]
jetpack signaler_un_problème
jetpack report_issue archive des répertoires de logs à partir de la machine virtuelle, avec la possibilité de les charger dans Azure Storage et de créer une URL signée pour l'accès externe. La commande charge les journaux d’activité dans le compte stockage Azure référencé par le Locker du nœud. Lorsque vous connectez une archive dans Stockage Azure, le jeton SAP résultant a un accès en lecture seule pendant 30 jours.
Utilisation :
$ jetpack report_issue [LOG_PATH] [--upload/--no-upload] [--sign/--no-sign]
Pour archiver, charger et signer les journaux Jetpack par défaut ($JETPACK_HOME/logs) :
$ jetpack report_issue
Logs can be found at: https://testaccount.blob.core.windows.net/cyclecloud/issues/TestCluster-execute-1-77777964-8b74-420d-ad44-094edf7695f2.zip?sv=2017-11-09&rsct=binary&sig=jBJUlYo10lRq0eW94I%2B6syzYVmgo1qcTFUc35D/q0Tg%3D&se=2020-12-04T15%3A15%3A00Z&spr=https&rscd=disposition%3Dfile%3B%20attachment&sp=r&sr=b
Signed URL will expire on: 2020-12-04T15:15:00Z
Pour archiver, télécharger, mais ne pas signer un répertoire des journaux autre que celui par défaut :
$ jetpack report_issue /var/log/azure --no-sign
Logs can be found at: https://testaccount.blob.core.windows.net/cyclecloud/issues/TestCluster-execute-1-d67fe991-1dac-4644-9af7-50c835726f5e.zip
Pour archiver les journaux sur la machine virtuelle locale :
$ jetpack report_issue --no-upload
Logs can be found at: /tmp/tmp4nscw705/TestCluster-execute-1-4249e973-3d87-4b14-94ed-6856a5267972.zip