Compartir a través de


Solución de problemas de BMM mediante az networkcloud baremetalmachine run-read-command

Puede que haya situaciones en las que un usuario necesite investigar y resolver problemas con una máquina sin sistema operativo (BMM) local. Operator Nexus proporciona az networkcloud baremetalmachine run-read-command para que los usuarios puedan ejecutar una lista mantenida de comandos de solo lectura para obtener información de una BMM.

El comando genera un archivo de salida que contiene los resultados de la ejecución del comando run-read. De forma predeterminada, los datos se envían a la cuenta de almacenamiento del Administrador de clústeres. También hay un método de vista previa en el que los usuarios pueden configurar el recurso de clúster con una cuenta de almacenamiento e identidad que tenga acceso a la cuenta de almacenamiento para recibir la salida.

Requisitos previos

  1. Instale la versión más reciente de las extensiones de la CLI adecuadas
  2. Asegúrese de que la BMM de destino tenga poweredState establecido en On y que readyState esté establecido en True
  3. Obtenga el nombre del grupo de recursos administrados (cluster_MRG) que ha creado para el recurso Cluster

Comprobar acceso a la cuenta de almacenamiento del Administrador de clústeres

Nota:

El método de salida de la cuenta de almacenamiento del administrador de clúster quedará en desuso en el futuro una vez completada la incorporación del clúster a servicios de confianza y la opción de almacenamiento administrado por el usuario es totalmente compatible.

Si usa el método de almacenamiento del Administrador de clústeres, compruebe que tiene acceso a la cuenta de almacenamiento del Administrador de clústeres:

  1. En Azure Portal, vaya a la cuenta de almacenamiento del Administrador de clústeres.
  2. En los detalles de la cuenta de almacenamiento, seleccione Explorador de almacenamiento en el menú de navegación del lado izquierdo.
  3. En los detalles del explorador de almacenamiento, seleccione Contenedores de blobs.
  4. Si se encuentra el mensaje 403 This request is not authorized to perform this operation. mientras accede a la cuenta de almacenamiento, la configuración del firewall de la cuenta de almacenamiento debe actualizarse para incluir la dirección IP pública.
  5. Solicite acceso mediante la creación de una incidencia de soporte técnico a través del portal en el recurso Administrador de clústeres. Proporcione la dirección IP pública que requiere acceso.

VERSIÓN PRELIMINAR: envío de la salida del comando a una cuenta de almacenamiento especificada por el usuario

Importante

Tenga en cuenta que este método para especificar una cuenta de almacenamiento de usuario para la salida del comando está en versión preliminar. Este método solo debe usarse con cuentas de almacenamiento de usuario que no tengan el firewall habilitado. Si el entorno requiere que el firewall de la cuenta de almacenamiento esté habilitado, use el método de salida del Administrador de clústeres existente.

Crear y configurar recursos de almacenamiento

  1. Cree una cuenta de almacenamiento o identifique una cuenta de almacenamiento existente que quiera usar. Consulte Crear una cuenta de almacenamiento de Azure.
  2. Cree un contenedor de Blob Storage en la cuenta de almacenamiento. Consulte Crear un contenedor.
  3. Asigne el rol "Colaborador de datos de blobs de almacenamiento" a los usuarios e identidades administradas que necesitan acceso a la salida run-data-extract.
    1. Consulte Asignación de un rol de Azure para acceder a datos de blobs. El rol también debe asignarse a una identidad administrada asignada por el usuario o a la propia identidad administrada asignada por el sistema del clúster.
    2. Para más información sobre las identidades administradas, consulte Identidades administradas para recursos de Azure.
    3. Si usa la identidad asignada por el sistema del clúster, la identidad asignada por el sistema debe agregarse al clúster antes de que se pueda conceder acceso.
    4. Al asignar un rol a la identidad asignada por el sistema del clúster, asegúrese de seleccionar el recurso con el tipo "Cluster (Operator Nexus)".

Configurar el clúster para usar una identidad administrada asignada por el usuario para el acceso al almacenamiento

Use este comando para crear un clúster con una cuenta de almacenamiento administrada por el usuario y una identidad asignada por el usuario. Tenga en cuenta que este ejemplo es un comando abreviado que simplemente resalta los campos pertinentes para agregar el almacenamiento administrado por el usuario. No es el comando de creación de clúster completo.

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>"

Use este comando para configurar un clúster existente para una cuenta de almacenamiento proporcionada por el usuario y una identidad asignada por el usuario. El comando update también se puede usar para cambiar la ubicación y la identidad de la cuenta de almacenamiento si es necesario.

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>"

Configuración del clúster para usar una identidad administrada asignada por el sistema para el acceso al almacenamiento

Use este comando para crear un clúster con una cuenta de almacenamiento administrada por el usuario y una identidad asignada por el sistema. Tenga en cuenta que este ejemplo es un comando abreviado que simplemente resalta los campos pertinentes para agregar el almacenamiento administrado por el usuario. No es el comando de creación de clúster completo.

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>"

Use este comando para configurar un clúster existente para una cuenta de almacenamiento proporcionada por el usuario y para usar su propia identidad asignada por el sistema. El comando update también se puede usar para cambiar la ubicación de la cuenta de almacenamiento.

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>"

Para cambiar el clúster de una identidad asignada por el usuario a una identidad asignada por el sistema, la CommandOutputSettings primero debe borrarse mediante el comando de la sección siguiente y, a continuación, establecer con este comando.

Borrar la CommandOutputSettings del clúster

La CommandOutputSettings se puede borrar y volver a dirigir la salida run-data-extract al almacenamiento del administrador del clúster. Sin embargo, no se recomienda, ya que es menos seguro y la opción se quitará en una versión futura.

Sin embargo, la CommandOutputSettings debe borrarse si se cambia de una identidad asignada por el usuario a una identidad asignada por el sistema.

Use este comando para borrar 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}}'

Ver el id. de entidad de seguridad de la identidad administrada

Para encontrar el id. de recurso de identidad, seleccione "Vista JSON" en el recurso de identidad; el id. está en la parte superior del panel que aparece. La dirección URL del contenedor se puede encontrar en la pestaña Configuración: Propiedades de > del recurso de contenedor.

La CLI también se puede usar para ver la identidad y los datos del identificador de entidad de seguridad asociados dentro del clúster.

Ejemplo:

az networkcloud cluster show --ids /subscriptions/<Subscription ID>/resourceGroups/<Cluster Resource Group Name>/providers/Microsoft.NetworkCloud/clusters/<Cluster Name>

Ejemplo de identidad asignada por el sistema:

    "identity": {
        "principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222",
        "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
        "type": "SystemAssigned"
    },

Ejemplo de identidad asignada por el usuario:

    "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"
            }
        }
    },

Ejecución de un comando run-read

El comando run-read le permite ejecutar un comando en la BMM que no cambia nada. Algunos comandos tienen más de una palabra o necesitan un argumento para funcionar. Estos comandos se realizan de esta manera para separarlos de los que pueden cambiar cosas. Por ejemplo, run-read-command puede usar kubectl get pero no kubectl apply. Al usar estos comandos, debe colocar todas las palabras en el campo "comando". Por ejemplo, {"command":"kubectl get","arguments":["nodes"]} es correcto; {"command":"kubectl","arguments":["get","nodes"]} es incorrecto.

Tenga en cuenta también que algunos comandos comienzan por nc-toolbox nc-toolbox-runread y deben escribirse como se muestra. nc-toolbox-runread es una imagen de contenedor especial que incluye más herramientas que no están instaladas en el host del equipo sin sistema operativo, como ipmitool y racadm.

Algunos de los comandos run-read requieren que se proporcionen argumentos específicos para aplicar funcionalidades de solo lectura de los comandos. Un ejemplo de comandos run-read que requieren argumentos específicos es el comando Mellanox permitido mstconfig, que requiere que se proporcione el argumento query para aplicar solo lectura.

Advertencia

Microsoft no proporciona ni admite ninguna llamada a la API de Operator Nexus que espere que se proporcione el nombre de usuario o la contraseña de texto no cifrado. Tenga en cuenta que los valores enviados se registrarán y se considerarán secretos expuestos, que se deben rotar y revocar. El método documentado de Microsoft para usar secretos de forma segura es almacenarlos en una instancia de Azure Key Vault. Si tiene alguna pregunta o duda en concreto, envíe una solicitud a través de Azure Portal.

En esta lista se muestran los comandos que puede usar. Los comandos de *italics* no pueden tener arguments; el resto puede.

  • 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 (NO se permite el argumento PeakReset)
  • 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 (requiere query arg)
  • nc-toolbox nc-toolbox-runread mstflint (requiere query arg)
  • nc-toolbox nc-toolbox-runread mstlink (requiere query arg)
  • nc-toolbox nc-toolbox-runread mstfwmanager (requiere query arg)
  • nc-toolbox nc-toolbox-runread mlx_temp

La sintaxis del comando es la siguiente:

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>"

Se pueden proporcionar varios comandos en formato JSON a la opción --commands.

En el caso de un comando con varios argumentos, proporciónelos como una lista al parámetro arguments. Consulte la sintaxis abreviada de la CLI de Azure para obtener instrucciones sobre cómo crear la estructura --commands.

Estos comandos pueden ser de larga duración, por lo que se recomienda establecer --limit-time-seconds en al menos 600 segundos (10 minutos). La ejecución de varios comandos puede tardar más de 10 minutos.

Este comando se ejecuta sincrónicamente. Si desea omitir la espera hasta que se complete el comando, especifique las opciones --no-wait --debug. Para obtener más información, consulte cómo realizar un seguimiento de las operaciones asincrónicas.

Cuando se proporciona un argumento --output-directory opcional, el resultado de salida se descarga y se extrae en el directorio local.

Advertencia

El uso del argumento --output-directory sobrescribirá los archivos del directorio local que tengan el mismo nombre que los nuevos archivos que se crean.

En este ejemplo se ejecuta 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>"

En este ejemplo se ejecuta el comando hostname y un comando 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>"

En este ejemplo se ejecuta el comando 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>"

Visualización de la salida de az networkcloud baremetalmachine run-read-command en la cuenta de almacenamiento del Administrador de clústeres

Esta guía le guía a través del acceso al archivo de salida que se crea en la cuenta de almacenamiento del Administrador de clústeres cuando se ejecuta az networkcloud baremetalmachine run-read-command en un servidor. El nombre del archivo se identifica en la salida de estado az rest.

  1. Abra el grupo de recursos administrados del Administrador de clústeres para el clúster donde se hospeda el servidor y, a continuación, seleccione la Cuenta de almacenamiento.

  2. En los detalles de la cuenta de almacenamiento, seleccione Explorador de almacenamiento en el menú de navegación del lado izquierdo.

  3. En los detalles del explorador de almacenamiento, seleccione Contenedores de blobs.

  4. Seleccione el contenedor de blobs baremetal-run-command-output.

  5. La cuenta de almacenamiento podría bloquearse y, como consecuencia de ello, mostrarse el mensaje 403 This request is not authorized to perform this operation. debido a restricciones de red o firewall. Consulte las secciones almacenamiento del administrador de clúster o almacenamiento administrado por el cliente para ver los procedimientos para comprobar el acceso.

  6. Seleccione el archivo de salida en el comando run-read. El nombre de archivo se puede identificar desde el comando az rest --method get. Además, la marca de tiempo Última modificación se alinea con el momento en que se ejecutó el comando.

  7. Puede administrar y descargar el archivo de salida desde el elemento emergente Información general.

VERSIÓN PRELIMINAR: compruebe el estado del comando y visualice la salida en una cuenta de almacenamiento especificada por el usuario

Se muestra una salida de ejemplo. Imprime los 4000 caracteres principales del resultado en la pantalla para mayor comodidad y proporciona un vínculo de corta duración al blob de almacenamiento que contiene el resultado de la ejecución del comando. Puede usar el vínculo para descargar el archivo de salida comprimido (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