az networkcloud baremetalmachine run-read-command
を使用した BMM 問題のトラブルシューティング
ユーザーがオンプレミスのベア メタル マシン (BMM) に関する問題を調査して解決する必要がある状況になる場合があります。 Operator Nexus は、ユーザーが読み取り専用コマンドの精選した一覧を実行して BMM から情報を取得できるように、az networkcloud baremetalmachine run-read-command
を提供します。
このコマンドは、run-read コマンド実行の結果を含む出力ファイルを生成します。 既定では、このデータはクラスター マネージャー ストレージ アカウントに送信されます。 また、ユーザーが、そのストレージ アカウントにアクセスできるストレージ アカウントと ID を使用してクラスター リソースを構成し、その出力を受信できるプレビューの方法もあります。
前提条件
- 適切な CLI 拡張機能の最新バージョンをインストールする
- ターゲット BMM の
poweredState
がOn
に設定され、readyState
がTrue
に設定されていることを確認する -
Cluster
リソース用に作成したマネージド リソース グループ名 (cluster_MRG) を取得します
ユーザー指定のストレージ アカウントにコマンド出力を送信する
「マネージド ID とユーザーが提供するリソースに対する Azure Operator Nexus Cluster のサポート」を参照してください
クラスターの CommandOutputSettings をクリアする
クラスターをユーザー割り当て ID からシステム割り当て ID に変更するには、まず次のセクションの中のコマンドを使用して CommandOutputSettings をクリアしてから、このコマンドを使用して設定する必要があります。
CommandOutputSettings をクリアし、run-data-extract の出力をクラスター マネージャーのストレージに戻すことができます。 ただし、これは安全性が低く、このオプションは今後のリリースで削除されるため、お勧めしません。
しかしながら、ユーザー割り当て ID からシステム割り当て ID に切り替える場合は、CommandOutputSettings をクリアする必要があります。
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}}'
非推奨の方法: クラスター マネージャー ストレージ アカウントへのアクセスを確認する
重要
クラスター マネージャー ストレージ アカウントは、遅くとも 2025 年 4 月に削除される予定です。 コマンド出力に現在この方法を使用している場合は、ユーザーが指定したストレージ アカウントの使用に変換することを検討してください。
クラスター マネージャーのストレージ方法を使用している場合は、クラスター マネージャーのストレージ アカウントにアクセスできることを確認します。
- Azure portal から、クラスター マネージャーのストレージ アカウントに移動します。
- ストレージ アカウントの詳細で、左側のナビゲーション メニューから [ストレージ ブラウザー] を選択します。
- ストレージ ブラウザーの詳細で、[BLOB コンテナー] を選択します。
- ストレージ アカウントへのアクセス中に
403 This request is not authorized to perform this operation.
が表示された場合、ストレージ アカウントのファイアウォール設定を更新して、パブリック IP アドレスが含まれるようにする必要があります。 - クラスター マネージャー リソースでポータルを介してサポート チケットを作成して、アクセスを要求します。 アクセスを必要とするパブリック IP アドレスを指定します。
run-read コマンドを実行する
run-read コマンドを使用すると、何も変更しないコマンドを BMM で実行できます。 コマンドの中には、複数の語が含まれているものや、動作するために引数を必要とするものがあります。 これらのコマンドは、変更を加えることができるコマンドから分離するために、このように作成されています。 たとえば、run-read-command は kubectl get
を使用できますが、kubectl apply
は使用できません。 これらのコマンドを使用する場合、"command" フィールド内にすべての単語を配置する必要があります。 たとえば、{command:'kubectl get',arguments:[nodes]}
は正しく、{command:kubectl,arguments:[get,nodes]}
は間違いです。
また、一部のコマンドは nc-toolbox nc-toolbox-runread
で始まり、次に示すように入力する必要があります。
nc-toolbox-runread
は特殊なコンテナー イメージであり、ベア メタル ホスト上にインストールされていない、より多くのツール (ipmitool
や racadm
など) が含まれています。
一部の実行読み取りコマンドでは、コマンドの読み取り専用機能を適用するために特定の引数を指定する必要があります。
特定の引数を必要とする実行読み取りコマンドの例として、許可される Mellanox コマンド mstconfig
があります。このコマンドでは、読み取り専用を適用するために query
引数を指定する必要があります。
警告
Microsoft では、プレーンテキストのユーザー名やパスワードを指定することが想定される Operator Nexus API 呼び出しを提供またはサポートしていません。 送信されるすべての値がログに記録され、公開されたシークレットであると見なされ、これらにはローテーションおよび取り消しが必要であることに注意してください。 Microsoft が文書化したシークレットを安全に使用する方法は、シークレットを Azure Key Vault に格納することです。 特定のご質問やご不明な点がある場合は、Azure portal 経由でリクエストを送信してください。
この一覧では、使用できるコマンドを示します。
*italics*
のコマンドに arguments
を含めることはできません。残りでは可能です。
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
timedatectl status
hostnamectl status
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
(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
(query
引数が必要) -
nc-toolbox nc-toolbox-runread mstflint
(query
引数が必要) -
nc-toolbox nc-toolbox-runread mstlink
(query
引数が必要) -
nc-toolbox nc-toolbox-runread mstfwmanager
(query
引数が必要) nc-toolbox nc-toolbox-runread mlx_temp
引数のない単一のコマンドのコマンド構文は次のとおりです。例として hostname
を使用します。
az networkcloud baremetalmachine run-read-command --name "<machine-name>"
--limit-time-seconds "<timeout>" \
--commands "[{command:hostname}]" \
--resource-group "<cluster_MRG>" \
--subscription "<subscription>"
-
--commands
パラメーターは、コマンドが 1 つだけの場合でも必ず、コマンドのリストを受け取ります。 - Azure CLI の短縮形表記を使用して、複数のコマンドを json 形式で指定できます。
- 空白文字は単一引用符で囲む必要があります。
- 次の例に示すように、各コマンドの引数もリストとして指定する必要があります。
--commands "[{command:hostname},{command:'nc-toolbox nc-toolbox-runread racadm ifconfig'}]"
--commands "[{command:hostname},{command:'nc-toolbox nc-toolbox-runread racadm getsysinfo',arguments:[-c]}]"
--commands "[{command:ping,arguments:[198.51.102.1,-c,3]}]"
これらのコマンドは実行時間が長い場合があるため、--limit-time-seconds
を少なくとも 600 秒 (10 分) に設定することをおすすめします。 複数のコマンドを実行するには、10 分より長くかかる場合があります。
このコマンドは同期的に実行されます。 コマンド完了の待機をスキップする場合は、--no-wait --debug
オプションを指定します。 詳細については、非同期操作の追跡方法に関する記事を参照してください。
省略可能な引数 --output-directory
を指定すると、出力結果がダウンロードされ、ローカル ディレクトリに抽出されます。
警告
--output-directory
引数を使用すると、作成される新しいファイルと同じ名前を持つローカル ディレクトリ内のすべてのファイルが上書きされます。
この例では、'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>"
この例は、hostname
コマンドと 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>"
この例は、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>"
コマンドの状態を確認し、ユーザー指定のストレージ アカウン内で出力を表示する
サンプル出力を示します。 便宜上、結果の上位 4,000 文字が画面に出力され、コマンドの実行結果を含むストレージ BLOB への短期間のリンクが表示されます。 このリンクを使用して、zip 形式の出力ファイル (tar.gz) をダウンロードできます。 出力にアクセスするには、ストレージ BLOB への適切なアクセス権がユーザーに必要です。 ストレージ アカウントへのロールの割り当てについては、「BLOB データにアクセスするための Azure ロールを割り当てる」を参照してください。
====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
非推奨: クラスター マネージャー ストレージ アカウントで az networkcloud baremetalmachine run-read-command
の出力を表示する方法
このガイドでは、サーバーで az networkcloud baremetalmachine run-read-command
が実行されたときにクラスター マネージャー ストレージ アカウントで作成される出力ファイルにアクセスする手順について説明します。 ファイルの名前は、az rest
の状態の出力で識別されます。
サーバーが格納されているクラスターのクラスター マネージャーの管理対象リソース グループを開き、[ストレージ アカウント] を選択します。
ストレージ アカウントの詳細で、左側のナビゲーション メニューから [ストレージ ブラウザー] を選択します。
ストレージ ブラウザーの詳細で、[BLOB コンテナー] を選択します。
baremetal-run-command-output BLOB コンテナーを選択します。
ストレージ アカウントがロックされ、ネットワークまたはファイアウォールの制限が原因で
403 This request is not authorized to perform this operation.
が発生する可能性があります。 アクセスを確認する手順については、クラスター マネージャー ストレージまたはカスタマー マネージド ストレージのセクションを参照してください。run-read コマンドからの出力ファイルを選択します。 ファイル名は、
az rest --method get
コマンドから識別できます。 さらに、最終変更タイムスタンプは、コマンドの実行時に合わせて調整されます。出力ファイルは、[概要] ポップアップから管理およびダウンロードできます。