Bagikan melalui


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

  1. Menginstal versi terbaru ekstensi CLI yang sesuai
  2. Pastikan bahwa target BMM harus diatur poweredState ke On dan telah readyState diatur ke True
  3. Dapatkan nama grup Sumber Daya Terkelola (cluster_MRG) yang Anda buat untuk Cluster sumber daya

Mengirim output perintah ke akun penyimpanan yang ditentukan pengguna

Lihat Dukungan Kluster Nexus Operator Azure untuk identitas terkelola dan sumber daya yang disediakan 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:

  1. Dari portal Azure, navigasikan ke akun Penyimpanan Manajer Kluster.
  2. Di detail Akun penyimpanan, pilih Browser penyimpanan dari menu navigasi di sisi kiri.
  3. Di detail browser Penyimpanan, pilih kontainer Blob.
  4. 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.
  5. 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 mstconfigMellanox 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 (membutuhkan query arg)
  • nc-toolbox nc-toolbox-runread mstflint (membutuhkan query arg)
  • nc-toolbox nc-toolbox-runread mstlink (membutuhkan query arg)
  • nc-toolbox nc-toolbox-runread mstfwmanager (membutuhkan query 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.

  1. Buka Grup Sumber Daya Terkelola Manajer Kluster untuk Kluster tempat server ditempatkan lalu pilih akun Penyimpanan.

  2. Di detail Akun penyimpanan, pilih Browser penyimpanan dari menu navigasi di sisi kiri.

  3. Di detail browser Penyimpanan, pilih kontainer Blob.

  4. Pilih kontainer blob baremetal-run-command-output.

  5. 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.

  6. 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.

  7. Anda dapat mengelola & mengunduh file output dari pop-out Gambaran Umum .