Memecahkan masalah BMM menggunakan az networkcloud baremetalmachine run-read-command
Mungkin ada situasi di mana pengguna perlu menyelidiki dan menyelesaikan masalah dengan mesin bare metal lokal (BMM). Operator Nexus menyediakan az networkcloud baremetalmachine run-read-command
sehingga pengguna dapat menjalankan daftar perintah baca saja yang dikumpulkan untuk mendapatkan informasi dari BMM.
Perintah menghasilkan file output yang berisi hasil eksekusi perintah run-read. Secara default, data dikirim ke akun penyimpanan Cluster Manager. Ada juga metode pratinjau di mana pengguna dapat mengonfigurasi sumber daya Kluster dengan akun penyimpanan dan identitas yang memiliki akses ke akun penyimpanan untuk menerima output.
Prasyarat
- Menginstal versi terbaru ekstensi CLI yang sesuai
- Pastikan bahwa target BMM harus diatur
poweredState
keOn
dan telahreadyState
diatur keTrue
- Dapatkan nama grup Sumber Daya Terkelola (cluster_MRG) yang Anda buat untuk
Cluster
sumber daya
Mengirim output perintah ke akun penyimpanan yang ditentukan pengguna
Menghapus CommandOutputSettings kluster
Untuk mengubah kluster dari identitas yang ditetapkan pengguna ke identitas yang ditetapkan sistem, CommandOutputSettings harus terlebih dahulu dibersihkan menggunakan perintah di bagian berikutnya, lalu mengatur menggunakan perintah ini.
CommandOutputSettings dapat dibersihkan, mengarahkan output run-data-extract kembali ke penyimpanan manajer kluster. Namun, tidak disarankan karena kurang aman, dan opsi akan dihapus dalam rilis mendatang.
Namun, CommandOutputSettings perlu dihapus jika beralih dari identitas yang ditetapkan pengguna ke identitas yang ditetapkan sistem.
Gunakan perintah ini untuk menghapus 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}}'
METODE YANG TIDAK DIGUNAKAN LAGI: Memverifikasi akses ke akun penyimpanan Cluster Manager
Penting
Akun penyimpanan Cluster Manager ditargetkan untuk dihapus pada bulan April 2025 paling lambat. Jika Anda menggunakan metode ini hari ini untuk output perintah, pertimbangkan untuk mengonversi ke menggunakan akun penyimpanan yang disediakan pengguna.
Jika menggunakan metode penyimpanan Cluster Manager, verifikasi bahwa Anda memiliki akses ke akun penyimpanan Cluster Manager:
- Dari portal Azure, navigasikan ke akun Penyimpanan Manajer Kluster.
- Di detail Akun penyimpanan, pilih Browser penyimpanan dari menu navigasi di sisi kiri.
- Di detail browser Penyimpanan, pilih kontainer Blob.
- Jika Anda mengalami beberapa
403 This request is not authorized to perform this operation.
saat mengakses akun penyimpanan, pengaturan firewall akun penyimpanan perlu diperbarui untuk menyertakan alamat IP publik. - Minta akses dengan membuat tiket dukungan melalui Portal pada sumber daya Cluster Manager. Berikan alamat IP publik yang memerlukan akses.
Menjalankan perintah run-read
Perintah run-read memungkinkan Anda menjalankan perintah pada BMM yang tidak mengubah apa pun. Beberapa perintah memiliki lebih dari satu kata, atau memerlukan argumen untuk bekerja. Perintah ini dibuat seperti ini untuk memisahkannya dari perintah yang dapat mengubah keadaan. Misalnya, run-read-command dapat menggunakan kubectl get
tetapi tidak kubectl apply
. Saat Anda menggunakan perintah ini, Anda harus meletakkan semua kata di bidang "perintah". Misalnya, {command:'kubectl get',arguments:[nodes]}
benar; {command:kubectl,arguments:[get,nodes]}
salah.
Perhatikan juga bahwa beberapa perintah dimulai dengan nc-toolbox nc-toolbox-runread
dan harus dimasukkan seperti yang ditunjukkan.
nc-toolbox-runread
adalah gambar kontainer khusus yang mencakup lebih banyak alat yang tidak diinstal pada host bare metal, seperti ipmitool
dan racadm
.
Beberapa perintah run-read memerlukan argumen tertentu yang disediakan untuk memberlakukan kemampuan baca-saja dari perintah.
Contoh perintah run-read yang memerlukan argumen tertentu adalah perintah mstconfig
Mellanox yang diizinkan , yang mengharuskan query
argumen disediakan untuk memberlakukan baca-saja.
Peringatan
Microsoft tidak menyediakan atau mendukung panggilan API Nexus Operator apa pun yang mengharapkan nama pengguna dan/atau kata sandi teks biasa disediakan. Perhatikan nilai apa pun yang dikirim dicatat dan dianggap sebagai rahasia yang diekspos, yang harus diputar dan dicabut. Metode yang didokumenkan Microsoft untuk menggunakan rahasia dengan aman adalah menyimpannya di Azure Key Vault. Jika Anda memiliki pertanyaan atau masalah tertentu, kirimkan permintaan melalui portal Azure.
Daftar ini memperlihatkan perintah yang bisa Anda gunakan. Perintah di *italics*
tidak dapat memiliki arguments
; sisanya bisa.
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
(Argumen PeakReset TIDAK diizinkan) 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
(membutuhkanquery
arg) -
nc-toolbox nc-toolbox-runread mstflint
(membutuhkanquery
arg) -
nc-toolbox nc-toolbox-runread mstlink
(membutuhkanquery
arg) -
nc-toolbox nc-toolbox-runread mstfwmanager
(membutuhkanquery
arg) nc-toolbox nc-toolbox-runread mlx_temp
Sintaks perintah untuk satu perintah tanpa argumen adalah sebagai berikut, menggunakan hostname
sebagai contoh:
az networkcloud baremetalmachine run-read-command --name "<machine-name>"
--limit-time-seconds "<timeout>" \
--commands "[{command:hostname}]" \
--resource-group "<cluster_MRG>" \
--subscription "<subscription>"
- Parameter
--commands
selalu mengambil daftar perintah, bahkan jika hanya ada satu perintah. - Beberapa perintah dapat disediakan dalam format json menggunakan notasi Azure CLI Shorthand .
- Spasi kosong apa pun harus diapit dalam tanda kutip tunggal.
- Argumen apa pun untuk setiap perintah juga harus disediakan sebagai daftar, seperti yang ditunjukkan dalam contoh berikut.
--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]}]"
Perintah ini dapat berjalan lama sehingga rekomendasinya adalah mengatur --limit-time-seconds
ke setidaknya 600 detik (10 menit). Menjalankan beberapa perintah mungkin memakan waktu lebih dari 10 menit.
Perintah ini berjalan secara sinkron. Jika Anda ingin melewati menunggu perintah selesai, tentukan opsinya --no-wait --debug
. Untuk informasi selengkapnya, lihat cara melacak operasi asinkron.
Ketika argumen --output-directory
opsional disediakan, hasil output diunduh dan diekstrak ke direktori lokal.
Peringatan
--output-directory
Menggunakan argumen menimpa file apa pun di direktori lokal yang memiliki nama yang sama dengan file baru yang sedang dibuat.
Contoh ini menjalankan '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>"
Contoh ini menjalankan hostname
perintah dan ping
perintah
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>"
Contoh ini menjalankan racadm getsysinfo -c
perintah
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>"
Periksa status perintah dan lihat output di akun penyimpanan yang ditentukan pengguna
Sampel output ditampilkan. Ini mencetak 4.000 karakter teratas dari hasil ke layar untuk kenyamanan dan menyediakan tautan berumur pendek ke blob penyimpanan yang berisi hasil eksekusi perintah. Anda dapat menggunakan tautan untuk mengunduh file output zip (tar.gz). Untuk mengakses output, pengguna memerlukan akses yang sesuai ke blob penyimpanan. Untuk informasi tentang menetapkan peran ke akun penyimpanan, lihat Menetapkan peran Azure untuk akses ke data blob.
====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
TIDAK DIGUNAKAN LAGI: Cara melihat output az networkcloud baremetalmachine run-read-command
di akun Penyimpanan Manajer Kluster
Panduan ini memandu Anda mengakses file output yang dibuat di akun Penyimpanan Manajer Kluster saat az networkcloud baremetalmachine run-read-command
dijalankan di server. Nama file diidentifikasi dalam az rest
output status.
Buka Grup Sumber Daya Terkelola Manajer Kluster untuk Kluster tempat server ditempatkan lalu pilih akun Penyimpanan.
Di detail Akun penyimpanan, pilih Browser penyimpanan dari menu navigasi di sisi kiri.
Di detail browser Penyimpanan, pilih kontainer Blob.
Pilih kontainer blob baremetal-run-command-output.
Akun Penyimpanan dapat dikunci
403 This request is not authorized to perform this operation.
karena pembatasan jaringan atau firewall. Lihat penyimpanan manajer kluster atau bagian penyimpanan yang dikelola pelanggan untuk prosedur memverifikasi akses.Pilih file output dari perintah run-read. Nama file dapat diidentifikasi dari
az rest --method get
perintah . Selain itu, tanda waktu terakhir yang dimodifikasi selaras dengan saat perintah dijalankan.Anda dapat mengelola & mengunduh file output dari pop-out Gambaran Umum .