為您的叢集取得協助與支援
查找支援選項、疑難排解資源,以及針對您的叢集尋求協助的方法。
在開立支援案例之前,請先收集叢集環境的相關資訊。
正在尋找診斷與除錯工具? 該附加元件已不再受支援。 IBM Cloud Monitoring 建議用於監控和診斷群集中的問題。 其他可能相關的疑難排解連結包括:Troubleshooting worker nodes in Critical or NotReady state 和 Troubleshooting apps in IBM Cloud Kubernetes Service。
取得您的群集詳細資料
-
取得叢集詳細資料。
ibmcloud oc cluster get -c CLUSTER_NAME_OR_ID -
如果您的問題涉及工作者節點,請取得工作者節點詳細資料。
- 列出叢集裡的所有工作者節點,並記下任何具有不健全 狀態 或 狀態之工作者節點的 ID。
ibmcloud oc worker ls -c CLUSTER_NAME_OR_ID ``` 2. 取得不健全工作者節點的詳細資料。 ```sh {: pre} ibmcloud oc worker get -w WORKER_ID -c CLUSTER_NAME_OR_ID ``` -
對於叢集內資源 (例如 Pod 或服務) 的問題,請登入叢集,並使用 Kubernetes API 來取得它們的相關資訊。
收集錯誤記錄和其他資訊
執行 must-gather 指令
oc adm must-gather CLI 指令會從您的群集收集資訊,用於除錯問題。 必須收集的工具可收集資源定義、服務日誌等資料。 請注意,為了減少檔案大小,稽核記錄不會作為預設資訊集的一部分來收集。
當您執行 oc adm must-gather 時,會在群集上的新專案中建立一個具有隨機名稱的新 pod。 資料會在該 pod 上收集,並儲存在以 must-gather.local 開頭的新目錄中。
請檢視以下範例指令。
oc adm must-gather
範例指令若要收集與一個或多個特定特徵相關的資料,請使用 --image 參數搭配特定影像。
oc adm must-gather \
--image=registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel9:v4.17.5
收集稽核記錄的範例指令。
oc adm must-gather -- /usr/bin/gather_audit_logs
在特定命名空間執行 must-gather 的範例指令。
oc adm must-gather --run-namespace NAMESPACE \
--image=registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel9:v4.17.5
收集指定時間內的日誌的範例指令。
oc adm must-gather --since=24h
oc adm must-gather --since-time=$(date -d '-24 hours' +%Y-%m-%dT%T.%9N%:z )
收集網路日誌的範例指令。
oc adm must-gather -- gather_network_logs
如需更多範例和參數,請執行下列指令
oc adm must-gather -h
從必須收集目錄建立壓縮檔案的範例指令。
tar cvaf must-gather.tar.gz must-gather.local.5421342344627712289/
將壓縮檔附加到您的支援個案。
收集 SOS 報告
sosreport 是一個從 (RHEL) 和 (RHCOS) 系統收集組態詳細資訊、系統資訊和診斷資料的工具。Red Hat Enterprise Linux Red Hat Enterprise Linux CoreOS 它提供了收集節點相關診斷資訊的標準化方式,可提供給支援人員進行問題診斷。
在某些支援互動中,支援人員可能會要求您收集特定 OpenShift Container Platform 節點的 sosreport 存檔。 例如,可能需要檢閱 oc adm must-gather 輸出中未包含的系統日誌或其他特定節點資料。
收集 sosreport 的方法會因工作節點的作業系統而異。 RHCOS 節點使用 toolbox 指令。 RHEL 8 和 RHEL 9 節點不支援 toolbox``;請改用 Red Hat 這個 sosreport 指令檔。
為 OpenShift Container Platform 叢集節點產生 sosreport 的建議方式是透過 debug pod。
-
請列出您的工作節點,以便識別目標節點及其作業系統。
oc get nodes -o wide請記下您要從其收集
sosreport的工作節點名稱。 「OS-IMAGE」欄位用以標示該節點是執行 RHCOS 還是 RHEL。 -
在目標節點上啟動除錯會話。
oc debug node/node_name若要在沾有
NoExecute效應的目標節點上進入除錯會話,請在臨時命名空間中加入容忍度,並在臨時命名空間中啟動除錯 pod。oc new-project temp oc patch namespace temp --type=merge -p '{"metadata": {"annotations": { "scheduler.alpha.kubernetes.io/defaultTolerations": "[{\"operator\": \"Exists\"}]"}}}'oc debug node/my-cluster-node -
設定
/host為 debug shell 內的根目錄。 除錯 Pod 會將主機的根檔案系統掛載至 Pod 內的/host目錄中。 將根目錄變更為/host後,您即可執行主機可執行路徑中所包含的二進位檔。chroot /hostOpenShift Container Platform 運行 Red Hat 容器操作系統( Red Hat Enterprise LinuxCoreOS,簡稱 RHCOS)的叢集節點具有不可變性,需透過操作員(Operators)來執行叢集變更。 不建議使用 SSH 存取群集節點。 然而,若目標節點上無法使用
OpenShift Container PlatformAPI,或 kubelet 運作異常,則可能影響oc operations的執行。 在這種情況下,可以改用ssh core@NODE.CLUSTER_NAME.BASE_DOMAIN來存取節點。 -
請根據工作節點的作業系統,採用相應的方法來擷取
sosreport。-
RHCOS 節點:請使用
toolbox指令。-
啟動工具箱容器,其中包含執行
sosreport所需的二進位檔和外掛程式。toolbox指令僅在 RHCOS 節點上受支援。toolbox如果現有的 toolbox pod 已經在執行,toolbox 指令會輸出
'toolbox-' already exists. Trying to start….移除正在執行的工具箱容器,podman rm toolbox-,並啟動一個新的工具箱容器。 -
執行
sos report指令,並依照提示收集故障排除資料。sos report -k crio.all=on -k crio.logs=on -k podman.all=on -k podman.logs=on在報告中包含節點的 OVN- Kubernetes 網路組態資訊的範例指令。
sos report --all-logssosreport的輸出內容會提供存檔的位置與校驗和。 以下範例輸出引用支援案例 ID 01234567。 該檔案路徑位於chroot環境之外,這是因為工具箱容器將主機的根目錄掛載至/host。Your sosreport has been generated and saved in: /host/var/tmp/sosreport-my-cluster-node-01234567-2020-05-28-eyjknxt.tar.xz The checksum is: 382ffc167510fd71b4f12a4f40b97a4e
-
-
RHEL 8 和 RHEL 9 節點 :RHEL 節點不支援
toolbox指令。 請改為使用 Red Hat 中的 sosreport 彙整腳本。-
請依照 Red Hat 知識庫文章中的指示,下載並執行 Red Hat 中的 sosreport 指令檔。
-
請依照腳本中的提示,收集疑難排解資料。 請根據腳本的輸出結果,記下生成的壓縮檔所在位置。
-
-
-
輸出
sosreport到檔案。除錯容器將主機的根目錄掛載至
/host。 在指定要串接的目標檔案時,請以除錯容器的根目錄為起點,包含/host在內,來指定絕對路徑。oc debug node/my-cluster-node -- bash -c 'cat /host/var/tmp/sosreport-my-cluster-node-01234567-2020-05-28-eyjknxt.tar.xz' > /tmp/sosreport-my-cluster-node-01234567-2020-05-28-eyjknxt.tar.xzOpenShift Container Platform 運行 Red Hat 容器操作系統( Red Hat Enterprise LinuxCoreOS,簡稱 RHCOS)的叢集節點具有不可變性,需透過操作員(Operators)來執行叢集變更。 不建議使用
scp從叢集節點傳輸sosreport存檔。 然而,若目標節點上無法使用OpenShift Container PlatformAPI,或 kubelet 運作異常oc,作業流程可能受到影響。 在這種情況下,可以透過執行scp core@<node>.<cluster_name>.<base_domain>:<file_path> <local_path>從節點複製sosreport存檔。 -
將檔案上傳至您的支援個案。
開啟支援案例
-
開立案例,以聯絡 IBM 支援中心。
-
針對 問題類型,搜尋或選取 Red Hat OpenShift on IBM Cloud。
-
對於 案例詳細資料,提供敘述性標題,並包含您先前收集的詳細資料。 從 資源中,您也可以選取與問題相關的叢集。
-
請儘可能具體說明,並包括您認為可以協助 IBM 支援中心對問題進行疑難排解的架構圖或補充資料。