本頁說明如何關閉及重新啟動 Google Distributed Cloud (GDC) 離線裝置的任一刀鋒伺服器,例如移動裝置以維護刀鋒伺服器。
事前準備
請務必先停止所有工作負載,再繼續操作。如果工作負載在關機期間處於啟用狀態,Google 無法保證會發生什麼情況。
如要關閉所有刀片,請按照「關閉裝置」一節的說明操作。按照這些指示操作時,請只關閉一個刀鋒伺服器,並讓 Google Distributed Cloud (GDC) 實體隔離裝置保持運作,且有兩個刀鋒伺服器處於啟用狀態。
必要條件
- 您可以在連線至 Google Distributed Cloud (GDC) 氣隙裝置網路的筆電或工作站上執行這本 Runbook。或者,你也可以按照「連線裝置」一節的說明,將筆電或工作站連線至交換器。
- 請確認您有根管理員叢集的 Kubeconfig 存取權。
- 執行
export KUBECONFIG=<path to kubeconfig>
,設定正確的 KUBECONFIG 環境變數。
關閉刀片
執行
kubectl get nodes -A
即可取得節點資訊。判斷要關閉的刀片NODE_NAME
。執行下列指令,暫停 BareMetalHost 同步,以便關閉刀鋒伺服器:
kubectl annotate bmhost -n gpc-system NODE_NAME "baremetalhost.metal3.io/paused=true" --overwrite
這個指令的範例輸出內容如下:
baremetalhost.metal3.io/**-**-bm** annotated
限制目標節點:
kubectl cordon NODE_NAME
輸出範例如下:
node/**-**-bm** cordoned
排空目標節點:
kubectl drain NODE_NAME --delete-emptydir-data --grace-period 900 --ignore-daemonsets --disable-eviction
輸出內容範例:
node/**-**-bm** already cordoned WARNING: ignoring DaemonSet-managed Pods: kube-system/anetd-krj2z, kube-system/etcd-defrag-xh469, kube-system/ipam-controller-manager-2f4dz, kube-system/istio-cni-node-cgqv4, kube-system/kube-proxy-5mwf2, kube-system/localpv-mn2jh, kube-system/metallb-speaker-6l7sv, mon-system/mon-node-exporter-backend-nd8mp, netapp-trident/netapp-trident-node-linux-rrlmd, obs-system/anthos-audit-logs-forwarder-tpfqv, obs-system/anthos-log-forwarder-npjh4, obs-system/kube-control-plane-metrics-proxy-wp8nh, obs-system/log-failure-detector-crbnv, obs-system/oplogs-forwarder-sqwvj, vm-system/macvtap-v9pgp, vm-system/virt-handler-86khx pod/grafana-0 deleted pod/capi-kubeadm-bootstrap-controller-manager-1.30.400-gke.136lvgtf deleted pod/grafana-0 deleted pod/grafana-proxy-server-86d8fc4758-mkc4f deleted . . .
按適當流程關閉目標節點:
使用 iLO 關閉
NODE_NAME
:擷取存取 iLO 的憑證:
取得使用者名稱:
kubectl get secret bmc-credentials-NODE_NAME -n gpc-system -o jsonpath="{.data.username}" | base64 --decode
取得密碼:
kubectl get secret bmc-credentials-NODE_NAME -n gpc-system -o jsonpath="{.data.password}" | base64 --decode
從
BMC-IP
欄中的值擷取NODE_NAME
的BMC-IP
位址:kubectl get servers -A
前往上一個步驟取得的
BMC-IP
位址,然後輸入取得的使用者名稱和密碼登入。將游標懸停在第一列的第一個按鈕上。應該會顯示
Power: ON
。按一下該圖示。系統會顯示下拉式選單,請點選標示為Momentary Press
的第一個項目。按鈕顏色會從綠色變為橘色,表示節點正在關機。等待按鈕變為黃色,表示裝置已關機。這需要幾分鐘的時間。
等待 30 分鐘,讓系統完成對帳。
重新啟動刀鋒伺服器
本節說明如何啟動先前關閉的刀鋒伺服器。
必要條件
您可以在連線至 Google Distributed Cloud (GDC) 氣隙裝置網路的筆電或工作站上執行這本 Runbook。或者,你也可以按照「連線裝置」一節的說明,將筆電或工作站連線至交換器。請確認您有根管理員叢集的 Kubeconfig 存取權。然後執行 export KUBECONFIG=<path to kubeconfig>
,設定正確的 KUBECONFIG 環境變數。
行動計畫
按下刀片上的電源按鈕。刀鋒伺服器啟動後,請等待幾分鐘,讓控制層連線。
kubectl
應能在 30 分鐘內連線至控制層。執行
kubectl get nodes -A
,判斷目標節點的名稱。取消目標節點的封鎖,以啟用排程:
kubectl uncordon `NODE_NAME`
繼續同步處理目標節點的 BareMetalHost:
kubectl annotate bmhost -n gpc-system NODE_NAME "baremetalhost.metal3.io/paused=false" --overwrite
等待 30 分鐘,讓系統完成對帳。