本文說明如何在裸機機器 (BMM) 上執行生命週期管理作業。 這些步驟應該用於疑難排解目的,以從失敗中復原,或在採取維護動作時復原。
首先,請先閱讀 裸機作業最佳做法 一文中的建議,再繼續進行作業。
以下粗體字的操作被視為具有干擾性(關閉電源、重新啟動、重新載入系統映像、更換)。
沒有 參數的 evacuate
Cordon 動作不會被視為干擾性,而 Cordon 搭配 evacuate
參數則被視為干擾性。
- 關閉裸機電腦電源
- 啟動裸機電腦
- 重新啟動裸機電腦
- 使裸機電腦無法排程 (不使用撤除的隔離,不清空節點)
- 使裸機電腦無法排程 (使用撤除的隔離、清空節點)
- 使裸機電腦可排程 (取消隔離)
- 重新製作裸機電腦映像
- 取代裸機電腦
警告
若未先與Microsoft支援人員諮詢,請勿對控制或管理平面伺服器執行任何動作,這樣做可能會影響作員 Nexus 叢集的完整性。
重要
針對 Kubernetes 控制平面 (KCP) 節點的多個干擾性命令要求會遭到拒絕。 進行這項檢查是為了維護連接點叢集執行個體的完整性,並避免多個 KCP 節點因為同時干擾性動作而立即變成無法運作。 被拒絕的干擾性動作命令可能是因為已針對另一個 KCP 節點執行,或者整個 KCP 無法使用。 如果多個節點變成無法運作,它會中斷 Kubernetes 控制平面的狀況良好仲裁閾值。
列出的動作被視為干擾裸機 (BMM):
- 關閉 BMM 電源
- 重新啟動 BMM
- 使 BMM 無法排程 (使用撤除的隔離,清空節點)
- 重新製作 BMM 映像
- 取代 BMM
只保留不引起干擾的行動:
- 啟動 BMM
- 使 BMM 無法排程 (不使用撤除的隔離,不清空節點)
- 使 BMM 可排程 (取消隔離)
必要條件
- 安裝最新版本的適當 CLI 延伸模組。
- 要求存取權以執行 Azure 運算子連接點網路網狀架構 (NF) 和網路雲端 CLI 延伸模組命令。
- 登入 Azure CLI,然後選取部署叢集的訂用帳戶。
- 收集下列資訊:
- 訂用帳戶識別碼 (
SUBSCRIPTION
) - 叢集名稱 (
CLUSTER
) - 資源群組 (
CLUSTER_RG
) - 受控資源群組 (
CLUSTER_MRG
) - 裸機 (BMM) 資源存在於受控資源群組中 - 需要生命週期管理作業的裸機電腦名稱 (
BMM_NAME
)
- 訂用帳戶識別碼 (
關閉裸機電腦電源
重要
在 BMM 關機或重新啟動之後,執行 Nexus VM 無法重新啟動的情況很少。 若要避免這些情況,請在關閉或重新啟動 BMM 之前,先關閉 BMM 上的任何虛擬機。 請參閱 cordon
命令以獲取有關尋找在 BMM 上運行的工作負載的指示。
這個命令將 power-off
指定的 bareMetalMachineName
。
az networkcloud baremetalmachine power-off \
--name <BareMetalMachineName> \
--resource-group <resourceGroup> \
--subscription <subscriptionID>
啟動裸機電腦
這個命令將 start
指定的 bareMetalMachineName
。
az networkcloud baremetalmachine start \
--name <BareMetalMachineName> \
--resource-group <resourceGroup> \
--subscription <subscriptionID>
重新啟動裸機電腦
重要
在 BMM 關機或重新啟動之後,執行 Nexus VM 無法重新啟動的情況很少。 若要避免這些情況,請在關閉或重新啟動 BMM 之前,先關閉 BMM 上的任何虛擬機。 請參閱 cordon
命令以獲取有關尋找在 BMM 上運行的工作負載的指示。
這個命令將 restart
指定的 bareMetalMachineName
。
az networkcloud baremetalmachine restart \
--name <BareMetalMachineName> \
--resource-group <resourceGroup> \
--subscription <subscriptionID>
使裸機電腦無法排程 (隔離)
您可以藉由執行 cordon
命令,使裸機電腦無法排程。
在 cordon
命令執行時,運算子連接點工作負載在 cordon
設定時,未在裸機電腦上排程。
在 cordoned
裸機電腦上建立工作負載的任何嘗試,都會導致工作負載設定為 pending
狀態。
除非工作負載已清空,否則現有的工作負載會繼續在裸機電腦上執行。
清空裸機電腦工作負載
cordon 命令支持 evacuate
參數,其預設值 False
表示 cordon
命令會防止排程新的工作負載。
若要使用 cordon
命令清空工作負載, evacuate
參數必須設定為 True
。
在裸機電腦上執行的工作負載為 stopped
,而裸機電腦會設定為 pending
狀態。
備註
即使伺服器受到封鎖並疏散,Nexus 管理工作負載仍會在裸機機器上繼續執行。
在嘗試對裸金屬伺服器進行任何維護操作時,最佳做法是將evacuate
值設定為True
。
如需要遵循的更多最佳做法,請閱讀 裸機機器作業的最佳做法。
az networkcloud baremetalmachine cordon \
--evacuate "True" \
--name <BareMetalMachineName> \
--resource-group <resourceGroup> \
--subscription <subscriptionID>
若要識別任何工作負載目前是否在裸機電腦上執行,請執行下列命令:
對於虛擬機器:
az networkcloud baremetalmachine show -n <nodeName> /
--resource-group <resourceGroup> /
--subscription <subscriptionID> | jq '.virtualMachinesAssociatedIds'
針對 Nexus Kubernetes 叢集節點:(需登入 Nexus Kubernetes 叢集)
kubectl get nodes <resourceName> -ojson |jq '.metadata.labels."topology.kubernetes.io/baremetalmachine"'
使裸機電腦可排程 (取消隔離)
您可以藉由執行 uncordon
命令,讓裸機電腦「可排程」(伺服器可以裝載工作負載)。
當裸機電腦為 pending
時,裸機電腦上處於 restarted
狀態的所有工作負載都是 uncordoned
。
az networkcloud baremetalmachine uncordon \
--name <BareMetalMachineName> \
--resource-group <resourceGroup> \
--subscription <subscriptionID>
重新製作裸機電腦映像
您可以執行 reimage
命令,在裸機機器上還原運行時間版本。
reimage
動作不會影響裸機電腦上的租用戶工作負載檔案。
此流程會在目標裸機電腦上重新部署執行階段映像,並執行步驟以使用相同的識別碼重新加入叢集。
最佳做法是,在執行 cordon
命令之前,請確定裸機電腦的工作負載已使用 evacuate
命令清空,並將 True
設定為 reimage
。
如需要遵循的更多最佳做法,請閱讀 裸機機器作業的最佳做法。
重要
請避免透過裸機電腦存取在節點上執行的寫入或編輯動作。
還原 Microsoft 支援服務時,需要採取 reimage
動作,而將節點還原至其預期狀態時,對裸機電腦所做的任何變更都將遺失。
警告
請勿針對相同的 BareMetal Machine (BMM) 資源同時執行多個 baremetalmachine replace
或 reimage
命令。
同時執行 replace
和 reimage
,會讓伺服器處於無法運作的狀態。
確定 BMM 上的任何 replace
/reimage
項目都完整完成,再開始另一個。
此外,除非正在執行指定的維護作業,否則請避免在剛完成reimage
動作的 BMM 上執行循序replace
動作。
az networkcloud baremetalmachine reimage \
--name <BareMetalMachineName> \
--resource-group <resourceGroup> \
--subscription <subscriptionID>
取代裸機電腦
當伺服器遇到需要完整或部分硬體更換的硬體問題時,請使用 replace
命令。
更換主機板或網路適配器(NIC)等元件之後,裸機計算機的 MAC 位址將會變更:不過,iDRAC IP 位址和主機名會維持不變。
replace
必須在每個硬體維護作業之後執行,請閱讀裸機電腦取代的最佳做法以取得詳細資料。
從 2506.2 版開始,iDRAC 的密碼值可以當做 Key Vault 統一資源識別碼 (URI) 或密碼值來提供。 請參閱 Key Vault 認證參考。 使用 URI 而非純文字密碼可提供額外的安全性。
警告
請勿針對相同的 BareMetal Machine (BMM) 資源同時執行多個 baremetalmachine replace
或 reimage
命令。
同時執行 replace
和 reimage
,會讓伺服器處於無法運作的狀態。
確定 BMM 上的任何 replace
/reimage
項目都完整完成,再開始另一個。
此外,除非正在執行指定的維護作業,否則請避免在剛完成reimage
動作的 BMM 上執行循序replace
動作。
az networkcloud baremetalmachine replace \
--name <BareMetalMachineName> \
--resource-group <resourceGroup> \
--bmc-credentials password=<PASSWORD_URI or IDRAC_PASSWORD> username=<IDRAC_USER> \
--bmc-mac-address <IDRAC_MAC> \
--boot-mac-address <PXE_MAC> \
--machine-name <OS_HOSTNAME> \
--serial-number <SERIAL_NUMBER> \
--subscription <subscriptionID>
replace
如果動作因硬體驗證失敗而失敗,回應中replace
會顯示特定的錯誤或測試失敗,如下列範例所示。
您也可以在裸金屬機器的活動記錄中找到此資訊(Operator Nexus)。
錯誤碼和錯誤訊息會包含對應 BareMetalMachines_Replace
作業的 JSON 屬性。
範例 1:因 Key Vault URI 無效,導致基礎板管理控制器(BMC)認證的硬體驗證失敗
$ az networkcloud baremetalmachine replace --name rack1compute02 --resource-group hostedRG --bmc-credentials password=$KEY_VAULT_URI username=root --bmc-mac-address 00-00-5E-00-01-00 --boot-mac-address 00-00-5E-00-02-00 --machine-name RACK1COMPUTE02 --serial-number SN123435
(failed to retrieve password from key vault) failed to get secret value from key vault: failed to get cluster key vault secret
Code: failed to retrieve password from key vault
Message: failed to retrieve password from key vault
Response: 400 Bad Request
範例 2:硬體驗證失敗,因為提供的基礎板管理控制器 (BMC) 認證無效
$ az networkcloud baremetalmachine replace --name rack1compute02 --resource-group hostedRG --bmc-credentials password=REDACTED username=root --bmc-mac-address 00-00-5E-00-01-00 --boot-mac-address 00-00-5E-00-02-00 --machine-name RACK1COMPUTE02 --serial-number SN123435
(None) BMC login unsuccessful: Fail - Unauthorized; System health test(s) failed: [Additional logs: Server power down at end of test failed with: Unauthorized]
Code: None
Message: BMC login unsuccessful: Fail - Unauthorized; System health test(s) failed: [Additional logs: Server power down at end of test failed with: Unauthorized]
範例 3:硬體驗證因網路失敗而失敗
$ az networkcloud baremetalmachine replace --name rack1compute02 --resource-group hostedRG --bmc-credentials password=REDACTED username=root --bmc-mac-address 00-00-5E-00-01-00 --boot-mac-address 00-00-5E-00-02-00 --machine-name RACK1COMPUTE02 --serial-number SN123435
(None) Networking test(s) failed: [NIC.Slot.6-1-1_LinkStatus] expected: up; observed: Down; [Additional logs: Link failure detected on NIC.Slot.6-1-1; Unable to perform cabling check on PCI Slot 6]
Code: None
Message: Networking test(s) failed: [NIC.Slot.6-1-1_LinkStatus] expected: up; observed: Down; [Additional logs: Link failure detected on NIC.Slot.6-1-1; Unable to perform cabling check on PCI Slot 6]
如需疑難排解硬體驗證失敗的詳細資訊,請參閱疑難排解硬體驗證失敗。