Résoudre des problèmes de BMM en utilisant la commande az networkcloud baremetalmachine run-read-command
Il peut y avoir des cas où un utilisateur doit investiguer et résoudre les problèmes liés à une machine nue locale. Azure Operator Nexus fournit la commande az networkcloud baremetalmachine run-read-command
afin que les utilisateurs puissent exécuter une liste organisée de commandes en lecture seule pour obtenir les informations d’une BMM.
La commande produit un fichier de sortie contenant les résultats de l’exécution de la commande run-read. Par défaut, les données sont envoyées au compte de stockage du Gestionnaire de cluster. Il existe également une méthode en préversion où les utilisateurs peuvent configurer la ressource de cluster avec un compte de stockage et une identité ayant accès au compte de stockage pour recevoir la sortie.
Prérequis
- Installer la dernière version des extensions de l’interface CLI appropriées
- Veiller à ce que la BMM cible ait son
poweredState
défini surOn
et sonreadyState
défini surTrue
- Obtenir le nom du groupe de ressources managé (cluster_MRG) que vous avez créé pour la ressource
Cluster
Vérifier l’accès au compte de stockage du Gestionnaire de cluster
Remarque
La méthode de sortie du compte de stockage du Gestionnaire de cluster sera déconseillée à l’avenir, une fois l’intégration du cluster aux services approuvés effectuée, et l’option de stockage géré par l’utilisateur entièrement prise en charge.
Si vous utilisez la méthode de stockage du Gestionnaire de cluster, vérifiez que vous avez accès au compte de stockage du Gestionnaire de cluster :
- Dans le portail Azure, accédez au compte de stockage du Gestionnaire de cluster.
- Dans les détails du compte de stockage, sélectionnez Navigateur de stockage à partir du menu de navigation sur le côté gauche.
- Dans les détails du navigateur de stockage, sélectionnez Conteneurs d’objets blob.
- Si vous rencontrez une erreur
403 This request is not authorized to perform this operation.
lors de l’accès au compte de stockage, c’est que les paramètres de pare-feu du compte de stockage doivent être mis à jour de façon à inclure l’adresse IP publique. - Demandez l’accès en créant un ticket de support via le portail sur la ressource Gestionnaire de cluster. Fournissez l’adresse IP publique qui nécessite un accès.
PRÉVERSION : Envoyer la sortie d’une commande à un compte de stockage spécifié par l’utilisateur
Important
Notez que cette méthode de spécification d’un compte de stockage utilisateur pour la sortie d’une commande est en préversion. Cette méthode doit être utilisée uniquement avec les comptes de stockage utilisateur pour lesquels le pare-feu n’est pas activé. Si votre environnement nécessite l’activation du pare-feu du compte de stockage, utilisez la méthode de sortie existante du Gestionnaire de cluster.
Créer et configurer des ressources de stockage
- Créez un compte de stockage, ou identifiez un compte de stockage existant à utiliser. Consultez Créer un compte Stockage Azure.
- Créez un conteneur de stockage d’objets blob dans le compte de stockage. Consultez Créer un conteneur.
- Attribuez le rôle « Contributeur aux données Blob du stockage » aux utilisateurs et aux identités managées qui ont besoin d’accéder à la sortie de l’extraction de données.
- Consultez Attribuer un rôle Azure pour l’accès aux données d’objet blob. Le rôle doit également être attribué à une identité managée affectée par l’utilisateur, ou à la propre identité managée affectée par le système du cluster.
- Pour plus d’informations sur les identités managées, consultez Identités managées pour les ressources Azure.
- Si vous utilisez l’identité affectée par le système du cluster, l’identité affectée par le système doit être ajoutée au cluster pour que l’accès puisse lui être octroyé.
- Quand vous attribuez un rôle à l’identité affectée par le système du cluster, veillez à sélectionner la ressource avec le type « Cluster (Operator Nexus) ».
Configurer le cluster afin d’utiliser une identité managée affectée par l’utilisateur pour l’accès au stockage
Utilisez cette commande pour créer un cluster avec un compte de stockage géré par l’utilisateur et une identité affectée par l’utilisateur. Notez que cet exemple est une commande abrégée qui met simplement en évidence les champs pertinents pour l’ajout du stockage géré par l’utilisateur. Il ne s’agit pas de la commande complète de création de cluster.
az networkcloud cluster create --name "<cluster-name>" \
--resource-group "<cluster-resource-group>" \
...
--mi-user-assigned "<user-assigned-identity-resource-id>" \
--command-output-settings identity-type="UserAssignedIdentity" \
identity-resource-id="<user-assigned-identity-resource-id>" \
container-url="<container-url>" \
...
--subscription "<subscription>"
Utilisez cette commande afin de configurer un cluster existant pour un compte de stockage fourni par l’utilisateur et une identité affectée par l’utilisateur. La commande de mise à jour peut également être utilisée pour changer l’emplacement et l’identité du compte de stockage si nécessaire.
az networkcloud cluster update --name "<cluster-name>" \
--resource-group "<cluster-resource-group>" \
--mi-user-assigned "<user-assigned-identity-resource-id>" \
--command-output-settings identity-type="UserAssignedIdentity" \
identity-resource-id="<user-assigned-identity-resource-id>" \
container-url="<container-url>" \
--subscription "<subscription>"
Configurer le cluster afin d’utiliser une identité managée affectée par le système pour l’accès au stockage
Utilisez cette commande pour créer un cluster avec un compte de stockage géré par l’utilisateur et une identité affectée par le système. Notez que cet exemple est une commande abrégée qui met simplement en évidence les champs pertinents pour l’ajout du stockage géré par l’utilisateur. Il ne s’agit pas de la commande complète de création de cluster.
az networkcloud cluster create --name "<cluster-name>" \
--resource-group "<cluster-resource-group>" \
...
--mi-system-assigned true \
--command-output-settings identity-type="SystemAssignedIdentity" \
container-url="<container-url>" \
...
--subscription "<subscription>"
Utilisez cette commande afin de configurer un cluster existant pour un compte de stockage fourni par l’utilisateur, et d’utiliser sa propre identité affectée par le système. La commande de mise à jour peut également être utilisée pour changer l’emplacement du compte de stockage.
az networkcloud cluster update --name "<cluster-name>" \
--resource-group "<cluster-resource-group>" \
--mi-system-assigned true \
--command-output-settings identity-type="SystemAssignedIdentity" \
container-url="<container-url>" \
--subscription "<subscription>"
Pour faire passer le cluster d’une identité affectée par l’utilisateur à une identité affectée par le système, vous devez d’abord effacer CommandOutputSettings à l’aide de la commande de la section suivante, puis le définir en utilisant cette commande.
Effacer CommandOutputSettings du cluster
Vous pouvez effacer CommandOutputSettings pour rediriger la sortie de l’extraction de données vers le stockage du Gestionnaire de cluster. Toutefois, cette façon de procéder n’est pas recommandée, car elle est moins sécurisée, et l’option sera supprimée dans une prochaine version.
Toutefois, vous devez effacer CommandOutputSettings si vous passez d’une identité affectée par l’utilisateur à une identité affectée par le système.
Utilisez cette commande pour effacer CommandOutputSettings :
az rest --method patch \
--url "https://management.azure.com/subscriptions/<subscription>/resourceGroups/<cluster-resource-group>/providers/Microsoft.NetworkCloud/clusters/<cluster-name>?api-version=2024-08-01-preview" \
--body '{"properties": {"commandOutputSettings":null}}'
Voir l’ID de principal de l’identité managée
Vous trouverez l’ID de la ressource d’identité en sélectionnant « Vue JSON » sur la ressource d’identité. L’ID se trouve en haut du panneau qui s’affiche. L’URL du conteneur se trouve sous l’onglet Paramètres -> Propriétés de la ressource de conteneur.
L’interface CLI peut également être utilisée pour voir l’identité et les données d’ID de principal associées au sein du cluster.
Exemple :
az networkcloud cluster show --ids /subscriptions/<Subscription ID>/resourceGroups/<Cluster Resource Group Name>/providers/Microsoft.NetworkCloud/clusters/<Cluster Name>
Exemple d’identité affectée par le système :
"identity": {
"principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222",
"tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"type": "SystemAssigned"
},
Exemple d’identité affectée par l’utilisateur :
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"/subscriptions/<subscriptionID>/resourcegroups/<resourceGroupName>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<userAssignedIdentityName>": {
"clientId": "00001111-aaaa-2222-bbbb-3333cccc4444",
"principalId": "bbbbbbbb-cccc-dddd-2222-333333333333"
}
}
},
Exécuter une commande run-read
La commande run-read vous permet d’exécuter une commande qui ne change rien sur le BMM. Certaines commandes ont plus d’un mot ou doivent avoir un argument pour fonctionner. Ces commandes sont créées de cette manière pour les séparer de celles qui peuvent modifier des éléments. Par exemple, la commande run-read-command peut utiliser kubectl get
, mais pas kubectl apply
. Quand vous utilisez ces commandes, vous devez placer tous les mots dans le champ « command ». Par exemple, {"command":"kubectl get","arguments":["nodes"]}
est correct, {"command":"kubectl","arguments":["get","nodes"]}
est incorrect.
Notez également que certaines commandes commencent par nc-toolbox nc-toolbox-runread
et que vous devez les entrer comme indiqué.
nc-toolbox-runread
est une image conteneur spéciale incluant d’autres outils qui ne sont pas installés sur l’hôte nu, comme ipmitool
et racadm
.
Certaines commandes run-read nécessitent que des arguments spécifiques soient fournis pour appliquer des fonctionnalités en lecture seule des commandes.
Un exemple de commandes run-read qui nécessitent des arguments spécifiques est la commande Mellanox autorisée mstconfig
, qui nécessite que l’argument query
soit fourni pour appliquer la lecture seule.
Avertissement
Microsoft ne fournit ni ne prend en charge les appels d’API Operator Nexus qui nécessitent que le nom d’utilisateur et/ou le mot de passe en clair soient fournis. Notez que les valeurs envoyées sont journalisées et considérées comme des secrets exposés, qui doivent donc être permutés et révoqués. La méthode documentée par Microsoft pour utiliser des secrets de façon sécurisée consiste à les stocker dans un coffre Azure Key Vault. Si vous avez des questions ou des préoccupations spécifiques, envoyez une demande via le portail Azure.
La liste montre les commandes que vous pouvez utiliser. Les commandes avec une police *italics*
ne peuvent pas avoir d’arguments
, au contraire des autres commandes.
arp
brctl show
dmidecode
fdisk -l
host
hostname
ifconfig -a
ifconfig -s
ip address show
ip link show
ip maddress show
ip route show
journalctl
kubectl api-resources
kubectl api-versions
kubectl describe
kubectl get
kubectl logs
mount
ping
ss
tcpdump
traceroute
uname
ulimit -a
uptime
nc-toolbox nc-toolbox-runread ipmitool channel authcap
nc-toolbox nc-toolbox-runread ipmitool channel info
nc-toolbox nc-toolbox-runread ipmitool chassis status
nc-toolbox nc-toolbox-runread ipmitool chassis power status
nc-toolbox nc-toolbox-runread ipmitool chassis restart cause
nc-toolbox nc-toolbox-runread ipmitool chassis poh
nc-toolbox nc-toolbox-runread ipmitool dcmi power get_limit
nc-toolbox nc-toolbox-runread ipmitool dcmi sensors
nc-toolbox nc-toolbox-runread ipmitool dcmi asset_tag
nc-toolbox nc-toolbox-runread ipmitool dcmi get_mc_id_string
nc-toolbox nc-toolbox-runread ipmitool dcmi thermalpolicy get
nc-toolbox nc-toolbox-runread ipmitool dcmi get_temp_reading
nc-toolbox nc-toolbox-runread ipmitool dcmi get_conf_param
nc-toolbox nc-toolbox-runread ipmitool delloem lcd info
nc-toolbox nc-toolbox-runread ipmitool delloem lcd status
nc-toolbox nc-toolbox-runread ipmitool delloem mac list
nc-toolbox nc-toolbox-runread ipmitool delloem mac get
nc-toolbox nc-toolbox-runread ipmitool delloem lan get
nc-toolbox nc-toolbox-runread ipmitool delloem powermonitor powerconsumption
nc-toolbox nc-toolbox-runread ipmitool delloem powermonitor powerconsumptionhistory
nc-toolbox nc-toolbox-runread ipmitool delloem powermonitor getpowerbudget
nc-toolbox nc-toolbox-runread ipmitool delloem vflash info card
nc-toolbox nc-toolbox-runread ipmitool echo
nc-toolbox nc-toolbox-runread ipmitool ekanalyzer print
nc-toolbox nc-toolbox-runread ipmitool ekanalyzer summary
nc-toolbox nc-toolbox-runread ipmitool fru print
nc-toolbox nc-toolbox-runread ipmitool fwum info
nc-toolbox nc-toolbox-runread ipmitool fwum status
nc-toolbox nc-toolbox-runread ipmitool fwum tracelog
nc-toolbox nc-toolbox-runread ipmitool gendev list
nc-toolbox nc-toolbox-runread ipmitool hpm rollbackstatus
nc-toolbox nc-toolbox-runread ipmitool hpm selftestresult
nc-toolbox nc-toolbox-runread ipmitool ime help
nc-toolbox nc-toolbox-runread ipmitool ime info
nc-toolbox nc-toolbox-runread ipmitool isol info
nc-toolbox nc-toolbox-runread ipmitool lan print
nc-toolbox nc-toolbox-runread ipmitool lan alert print
nc-toolbox nc-toolbox-runread ipmitool lan stats get
nc-toolbox nc-toolbox-runread ipmitool mc bootparam get
nc-toolbox nc-toolbox-runread ipmitool mc chassis poh
nc-toolbox nc-toolbox-runread ipmitool mc chassis policy list
nc-toolbox nc-toolbox-runread ipmitool mc chassis power status
nc-toolbox nc-toolbox-runread ipmitool mc chassis status
nc-toolbox nc-toolbox-runread ipmitool mc getenables
nc-toolbox nc-toolbox-runread ipmitool mc getsysinfo
nc-toolbox nc-toolbox-runread ipmitool mc guid
nc-toolbox nc-toolbox-runread ipmitool mc info
nc-toolbox nc-toolbox-runread ipmitool mc restart cause
nc-toolbox nc-toolbox-runread ipmitool mc watchdog get
nc-toolbox nc-toolbox-runread ipmitool bmc bootparam get
nc-toolbox nc-toolbox-runread ipmitool bmc chassis poh
nc-toolbox nc-toolbox-runread ipmitool bmc chassis policy list
nc-toolbox nc-toolbox-runread ipmitool bmc chassis power status
nc-toolbox nc-toolbox-runread ipmitool bmc chassis status
nc-toolbox nc-toolbox-runread ipmitool bmc getenables
nc-toolbox nc-toolbox-runread ipmitool bmc getsysinfo
nc-toolbox nc-toolbox-runread ipmitool bmc guid
nc-toolbox nc-toolbox-runread ipmitool bmc info
nc-toolbox nc-toolbox-runread ipmitool bmc restart cause
nc-toolbox nc-toolbox-runread ipmitool bmc watchdog get
nc-toolbox nc-toolbox-runread ipmitool nm alert get
nc-toolbox nc-toolbox-runread ipmitool nm capability
nc-toolbox nc-toolbox-runread ipmitool nm discover
nc-toolbox nc-toolbox-runread ipmitool nm policy get policy_id
nc-toolbox nc-toolbox-runread ipmitool nm policy limiting
nc-toolbox nc-toolbox-runread ipmitool nm statistics
nc-toolbox nc-toolbox-runread ipmitool nm suspend get
nc-toolbox nc-toolbox-runread ipmitool nm threshold get
nc-toolbox nc-toolbox-runread ipmitool pef
nc-toolbox nc-toolbox-runread ipmitool picmg addrinfo
nc-toolbox nc-toolbox-runread ipmitool picmg policy get
nc-toolbox nc-toolbox-runread ipmitool power status
nc-toolbox nc-toolbox-runread ipmitool sdr elist
nc-toolbox nc-toolbox-runread ipmitool sdr get
nc-toolbox nc-toolbox-runread ipmitool sdr info
nc-toolbox nc-toolbox-runread ipmitool sdr list
nc-toolbox nc-toolbox-runread ipmitool sdr type
nc-toolbox nc-toolbox-runread ipmitool sel elist
nc-toolbox nc-toolbox-runread ipmitool sel get
nc-toolbox nc-toolbox-runread ipmitool sel info
nc-toolbox nc-toolbox-runread ipmitool sel list
nc-toolbox nc-toolbox-runread ipmitool sel time get
nc-toolbox nc-toolbox-runread ipmitool sensor get
nc-toolbox nc-toolbox-runread ipmitool sensor list
nc-toolbox nc-toolbox-runread ipmitool session info
nc-toolbox nc-toolbox-runread ipmitool sol info
nc-toolbox nc-toolbox-runread ipmitool sol payload status
nc-toolbox nc-toolbox-runread ipmitool user list
nc-toolbox nc-toolbox-runread ipmitool user summary
nc-toolbox nc-toolbox-runread racadm arp
nc-toolbox nc-toolbox-runread racadm coredump
nc-toolbox nc-toolbox-runread racadm diagnostics
nc-toolbox nc-toolbox-runread racadm eventfilters get
nc-toolbox nc-toolbox-runread racadm fcstatistics
nc-toolbox nc-toolbox-runread racadm get
nc-toolbox nc-toolbox-runread racadm getconfig
nc-toolbox nc-toolbox-runread racadm gethostnetworkinterfaces
nc-toolbox nc-toolbox-runread racadm getled
nc-toolbox nc-toolbox-runread racadm getniccfg
nc-toolbox nc-toolbox-runread racadm getraclog
nc-toolbox nc-toolbox-runread racadm getractime
nc-toolbox nc-toolbox-runread racadm getsel
nc-toolbox nc-toolbox-runread racadm getsensorinfo
nc-toolbox nc-toolbox-runread racadm getssninfo
nc-toolbox nc-toolbox-runread racadm getsvctag
nc-toolbox nc-toolbox-runread racadm getsysinfo
nc-toolbox nc-toolbox-runread racadm gettracelog
nc-toolbox nc-toolbox-runread racadm getversion
nc-toolbox nc-toolbox-runread racadm hwinventory
nc-toolbox nc-toolbox-runread racadm ifconfig
nc-toolbox nc-toolbox-runread racadm inlettemphistory get
nc-toolbox nc-toolbox-runread racadm jobqueue view
nc-toolbox nc-toolbox-runread racadm lclog view
nc-toolbox nc-toolbox-runread racadm lclog viewconfigresult
nc-toolbox nc-toolbox-runread racadm license view
nc-toolbox nc-toolbox-runread racadm netstat
nc-toolbox nc-toolbox-runread racadm nicstatistics
nc-toolbox nc-toolbox-runread racadm ping
nc-toolbox nc-toolbox-runread racadm ping6
nc-toolbox nc-toolbox-runread racadm racdump
nc-toolbox nc-toolbox-runread racadm sslcertview
nc-toolbox nc-toolbox-runread racadm swinventory
nc-toolbox nc-toolbox-runread racadm systemconfig getbackupscheduler
nc-toolbox nc-toolbox-runread racadm systemperfstatistics
(l’argument PeakReset n’est PAS autorisé)nc-toolbox nc-toolbox-runread racadm techsupreport getupdatetime
nc-toolbox nc-toolbox-runread racadm traceroute
nc-toolbox nc-toolbox-runread racadm traceroute6
nc-toolbox nc-toolbox-runread racadm usercertview
nc-toolbox nc-toolbox-runread racadm vflashsd status
nc-toolbox nc-toolbox-runread racadm vflashpartition list
nc-toolbox nc-toolbox-runread racadm vflashpartition status -a
nc-toolbox nc-toolbox-runread mstregdump
nc-toolbox nc-toolbox-runread mstconfig
(nécessite l’argumentquery
)nc-toolbox nc-toolbox-runread mstflint
(nécessite l’argumentquery
)nc-toolbox nc-toolbox-runread mstlink
(nécessite l’argumentquery
)nc-toolbox nc-toolbox-runread mstfwmanager
(nécessite l’argumentquery
)nc-toolbox nc-toolbox-runread mlx_temp
Syntaxe de la commande :
az networkcloud baremetalmachine run-read-command --name "<machine-name>"
--limit-time-seconds "<timeout>" \
--commands '[{"command":"<command1>"},{"command":"<command2>","arguments":["<arg1>","<arg2>"]}]' \
--resource-group "<cluster_MRG>" \
--subscription "<subscription>"
De nombreuses commandes peuvent être fournies au format JSON dans l’option --commands
.
Pour une commande avec plusieurs arguments, fournissez-les sous forme de liste au paramètre arguments
. Consultez Syntaxe raccourcie de l’interface Azure CLI pour obtenir des instructions sur la construction de la structure --commands
.
L’exécution de ces commandes peut être longue, c’est pourquoi la recommandation est de définir --limit-time-seconds
sur au moins 600 secondes (10 minutes). L’exécution de plusieurs commandes peut prendre plus de 10 minutes.
Cette commande s’exécute de manière synchrone. Si vous souhaitez ignorer l’attente relative à l’achèvement de la commande, spécifiez les options --no-wait --debug
. Pour obtenir plus d’informations, consultez comment effectuer le suivi des opérations asynchrones.
Quand un argument facultatif --output-directory
est fourni, le résultat de sortie est téléchargé et extrait dans le répertoire.
Avertissement
L’utilisation de l’argument --output-directory
remplace tous les fichiers du répertoire local qui portent le même nom que les fichiers créés.
Cet exemple exécute un « kubectl get pods »
az networkcloud baremetalmachine run-read-command --name "<bareMetalMachineName>" \
--limit-time-seconds 60 \
--commands "[{command:'kubectl get',arguments:[pods,-n,nc-system]}]" \
--resource-group "<cluster_MRG>" \
--subscription "<subscription>"
Cet exemple exécute la commande hostname
et une commande ping
az networkcloud baremetalmachine run-read-command --name "<bareMetalMachineName>" \
--limit-time-seconds 60 \
--commands '[{"command":"hostname"},{"command":"ping","arguments":["198.51.102.1","-c","3"]}]' \
--resource-group "<cluster_MRG>" \
--subscription "<subscription>"
Cet exemple exécute la commande racadm getsysinfo -c
az networkcloud baremetalmachine run-read-command --name "<bareMetalMachineName>" \
--limit-time-seconds 60 \
--commands '[{"command":"nc-toolbox nc-toolbox-runread racadm getsysinfo","arguments":["-c"]}]' \
--resource-group "<cluster_MRG>" \
--subscription "<subscription>"
Comment afficher la sortie d’une commande az networkcloud baremetalmachine run-read-command
dans le compte de stockage du gestionnaire de cluster
Ce guide vous accompagne pour accéder au fichier de sortie créé dans le compte de stockage du gestionnaire de cluster quand une commande az networkcloud baremetalmachine run-read-command
est exécutée sur un serveur. Le nom du fichier est identifié dans la sortie d’état az rest
.
Ouvrez le groupe de ressources managées du gestionnaire de cluster pour le cluster dans lequel le serveur est hébergé, puis sélectionnez le compte de stockage.
Dans les détails du compte de stockage, sélectionnez Navigateur de stockage à partir du menu de navigation sur le côté gauche.
Dans les détails du navigateur de stockage, sélectionnez Conteneurs d’objets blob.
Sélectionnez le conteneur d’objets blob baremetal-run-command-output.
Le compte de stockage peut être verrouillé et entraîner une erreur
403 This request is not authorized to perform this operation.
en raison de restrictions du réseau ou du pare-feu. Reportez-vous aux sections Stockage du gestionnaire de cluster ou Stockage géré par le client pour découvrir les procédures permettant de vérifier l’accès.Sélectionnez le fichier de sortie à partir de la commande run-read. Vous pouvez identifier le nom de fichier à partir de la commande
az rest --method get
. En outre, le timestamp Dernière modification s’aligne sur le moment d’exécution de la commande.Vous pouvez gérer et télécharger le fichier de sortie à partir de l’affichage Vue d’ensemble.
PRÉVERSION : vérifier l’état de la commande et visualiser la sortie dans un compte de stockage spécifié par l’utilisateur
Un exemple de sortie est montré. Elle imprime les 4 000 premiers caractères du résultat à l’écran pour des raisons de commodité et fournit un lien de courte durée vers l’objet blob de stockage contenant le résultat d’exécution de la commande. Vous pouvez utiliser le lien pour télécharger le fichier de sortie compressé (tar.gz).
====Action Command Output====
+ hostname
rack1compute01
+ ping 198.51.102.1 -c 3
PING 198.51.102.1 (198.51.102.1) 56(84) bytes of data.
--- 198.51.102.1 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2049ms
================================
Script execution result can be found in storage account:
https://<storage_account_name>.blob.core.windows.net/bmm-run-command-output/a8e0a5fe-3279-46a8-b995-51f2f98a18dd-action-bmmrunreadcmd.tar.gz?se=2023-04-14T06%3A37%3A00Z&sig=XXX&sp=r&spr=https&sr=b&st=2023-04-14T02%3A37%3A00Z&sv=2019-12-12