管理裸機電腦的生命週期
本文描述如何在裸機電腦 (BMM) 上執行生命週期管理作業。 這些步驟應該用於疑難排解目的,以從失敗中復原,或在採取維護動作時復原。 管理 BMM 生命週期的命令包括:
警告
若未先諮詢 Microsoft 支援服務人員,請勿對管理伺服器執行任何動作。 這樣做可能會影響運算子連接點叢集的完整性。
- 關閉 BMM 電源
- 啟動 BMM
- 重新啟動 BMM
- 製作 BMM 不安排 (沒有疏散的警戒線)
- 製作 BMM 不安排 (帶撤離的警戒線)
- 使 BMM 可排程 (取消隔離)
- 重新映像 BMM
- 取代 BMM
重要
如果已針對另一個 KCP 節點執行另一個干擾性動作命令,或如果無法使用完整 KCP,則會拒絕針對 Kubernetes 控制平面 (KCP) 節點的干擾性命令要求。 進行這項檢查是為了維護連接點執行個體的完整性,並確保多個 KCP 節點不會因為同時干擾性動作而立即變成無法運作。 如果多個節點變成無法運作,其會中斷 Kubernetes 控制平面的良好仲裁閾值。
上述清單中的粗體動作會被視為干擾性 (關閉電源、重新啟動、重新安裝映像、取代)。 不使用撤除的隔離並不被視為干擾性。 使用撤除的隔離被認為是干擾性。
如警告聲明中所述,只應在諮詢過 Microsoft 支援服務人員後,才能針對管理伺服器 (特別是 KCP 節點) 執行動作。
必要條件
- 安裝最新版本的適當 CLI 延伸模組。
- 取得 BMM 的資源群組名稱 - 叢集受控資源群組名稱 (cluster_MRG)。
- 取得需要生命週期管理作業的裸機電腦名稱。
- 確定目標裸機電腦
poweredState
設定為On
,且readyState
設定為True
。- 此必要條件不適用於
start
命令。
- 此必要條件不適用於
關閉 BMM 電源
這個命令將 power-off
指定的 bareMetalMachineName
。
az networkcloud baremetalmachine power-off \
--name <BareMetalMachineName> \
--resource-group <resourceGroup> \
--subscription <subscriptionID>
啟動 BMM
這個命令將 start
指定的 bareMetalMachineName
。
az networkcloud baremetalmachine start \
--name <BareMetalMachineName> \
--resource-group <resourceGroup> \
--subscription <subscriptionID>
重新啟動 BMM
這個命令將 restart
指定的 bareMetalMachineName
。
az networkcloud baremetalmachine restart \
--name <BareMetalMachineName> \
--resource-group <resourceGroup> \
--subscription <subscriptionID>
使 BMM 無法排程 (隔離)
若要識別 BMM 上是否有任何工作負載目前正在執行,請執行下列命令:
針對 虛擬機器:
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"'
您可以透過執行 cordon
命令,使 BMM 無法排程。
在執行 cordon
命令時,若設定隔離,則不會在 BMM 上排程運算子連接點工作負載;任何在 cordoned
BMM 上建立工作負載的嘗試,都會導致工作負載設定為 pending
狀態。 現有的工作負載會繼續執行。
cordon 命令支援 evacuate
參數搭配預設 False
值。
最佳做法是將此設定為 True
。 在執行 cordon
命令時,若 evacuate
參數的值為 True
,BMM 上執行的工作負載為 stopped
,且 BMM 設定為 pending
狀態。
az networkcloud baremetalmachine cordon \
--evacuate "True" \
--name <BareMetalMachineName> \
--resource-group <resourceGroup> \
--subscription <subscriptionID>
evacuate "True"
會從該節點中移除工作負載,而 evacuate "False"
只會防止排程新的工作負載。
使 BMM 可排程 (取消隔離)
您可以透過執行 uncordon
命令,使 BMM「可排程」(可使用)。 當 BMM uncordoned
時,BMM 上處於 pending
狀態的所有工作負載都會 restarted
。
az networkcloud baremetalmachine uncordon \
--name <BareMetalMachineName> \
--resource-group <resourceGroup> \
--subscription <subscriptionID>
重新安裝 BMM 映像
您可以透過執行 reimage
命令,在 BMM 上還原執行階段版本。 此流程會在目標 BMM 上重新部署執行階段映像,並執行步驟以使用相同的識別碼重新加入叢集。 此動作不會影響此 BMM 上的租用戶工作負載檔案。 如果透過 BMM 存取在節點上執行寫入或編輯動作,則必須執行此「重新映像」動作,才能還原 Microsoft 支援服務,且變更將會遺失,並將節點還原為預期狀態。
最佳做法是,在執行 reimage
命令之前,確定使用 cordon
命令搭配 evacuate "True"
清空 BMM 的工作負載。
警告
同時執行多個 baremetalmachine replace
或 reimage
命令,或同時執行 replace
做為 reimage
,將會讓伺服器處於非工作狀態。 確定一個 replace
/reimage
已徹底完成後,再啟動另一個取代/重新安裝映像。
az networkcloud baremetalmachine reimage \
--name <BareMetalMachineName> \
--resource-group <resourceGroup> \
--subscription <subscriptionID>
取代 BMM
當伺服器遇到需要完整或部分硬體更換的硬體問題時,請使用 replace
命令。 在更換主機板或網路介面卡 (NIC) 等元件之後,BMM 的 MAC 位址將會變更,不過 iDRAC IP 位址和主機名稱會保持不變。
警告
同時執行多個 baremetalmachine replace
或 reimage
命令,或同時執行 replace
做為 reimage
,將會讓伺服器處於非工作狀態。 確定一個 replace
/reimage
已徹底完成後,再啟動另一個取代/重新安裝映像。
az networkcloud baremetalmachine replace \
--name <BareMetalMachineName> \
--resource-group <resourceGroup> \
--bmc-credentials password=<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>