除錯 IBM Cloud File Storage for Classic 失敗
檢閱選項以除錯 File Storage for Classic,並找出任何故障的根本原因。
檢查掛載您的儲存實例的 Pod 是否已成功部署
請遵循步驟來檢閱與 Pod 部署相關的任何錯誤訊息。
-
列出叢集裡的 Pod。 如果 Pod 顯示的狀態為 Running,則 Pod 已順利部署。
oc get pods -
請查看您的 Pod 詳細資訊,並檢視 CLI 輸出中「事件」區段所顯示的任何錯誤訊息。
oc describe pod <pod_name> -
擷取 Pod 的日誌,並檢閱任何錯誤訊息。
oc logs <pod_name>
重新啟動應用程式 Pod
透過重新啟動並重新部署 Pod,可以解決部分問題。 遵循步驟以重新部署特定 Pod。
-
如果您的 Pod 是部署的一部分,請刪除 Pod 並讓部署重建它。 如果 Pod 不是部署的一部分,請刪除 Pod 並重新套用 Pod 配置檔。
- 刪除 Pod。
oc delete pod <pod_name> ``` 輸出範例 ```sh {: screen} pod "nginx" deleted ``` 2. 重新套用配置檔以重新部署 Pod。 ```sh {: pre} oc apply -f <app.yaml> ``` 輸出範例 ```sh {: pre} pod/nginx created ``` -
如果重新啟動 Pod 無法解決問題,請 重新載入工作者節點。
-
驗證是否使用的是最新的 IBM Cloud 和 IBM Cloud Kubernetes Service 外掛程式版本。
ibmcloud updateibmcloud plugin repo-pluginsibmcloud plugin update
確認儲存驅動程式和外掛程式 Pod 的狀態顯示為「執行中」
遵循步驟來檢查儲存體驅動程式及外掛程式 Pod 的狀態,並檢閱任何錯誤訊息。
-
列出
kube-system項目中的 Pod。oc get pods -n kube-system -
如果儲存體驅動程式及外掛程式 Pod 未顯示 執行中 狀態,請取得 Pod 的更多詳細資料,以尋找主要原因。 視 Pod 的狀態而定,下列指令可能會失敗。
- 取得在驅動程式 Pod 中執行的容器名稱。
kubectl describe pod POD_NAME -n kube-system ``` 2. 將日誌從驅動程式 Pod 匯出至本端機器上的 `logs.txt` 檔案。 ```sh {: pre} oc logs <pod_name> -n kube-system > logs.txt ``` 3. 請檢閱日誌檔。 ```sh {: pre} cat logs.txt ``` -
請檢查最新日誌,以取得任何錯誤訊息。 請檢閱 File Storage for Classic 疑難排解說明文件,以取得解決一般錯誤的步驟。
正在檢查您的 PVC 是否已成功配置。
請遵循步驟來檢查 PVC 的狀態,並檢閱任何錯誤訊息。
-
請檢查您的 PVC 狀態。 如果 PVC 顯示的狀態為 Bound,說明 PVC 已順利佈建。
oc get pvc-
如果 PVC 顯示狀態 Bound,則表示 PVC 已順利佈建。
輸出範例
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE silver-pvc Bound pvc-4b881a6b-ada8-4a44-b568-fe909107d756 24Gi RWX ibmc-file-silver 7m29s -
如果 PVC 的狀態顯示 Pending,請說明 PVC,並檢閱輸出的 Events 區段,以找出任何警告或錯誤訊息。 請注意,在磁區連結模式設為
WaitForFirstConsumer的情況下,參照儲存空間類別的 PVC 會保持 擱置,直到部署使用 PVC 的應用程式 Pod 為止。oc describe pvc <pvc_name>輸出範例
Name: local-pvc Namespace: default StorageClass: sat-local-file-gold Status: Pending Volume: Labels: <none> Annotations: <none> Finalizers: [kubernetes.io/pvc-protection] Capacity: Access Modes: VolumeMode: Filesystem Mounted By: <none> Events: Type Reason Age From Message ---- ------ ---- ---- ------- Warning ProvisioningFailed 60s (x42 over 11m) persistentvolume-controller storageclass.storage.k8s.io "sat-local-file-gold" not found
-
-
請檢閱 File Storage for Classic 疑難排解文件,以取得解決一般 File Storage for Classic PVC 錯誤 的步驟。
檢查並更新 oc CLI 版本
若您使用的 oc CLI 版本未達到與您的叢集所使用的 major.minor 版本相同或更高,可能會導致出現預期之外的結果。 舉例 來說,Kubernetes 不支援與伺服器版本相差 2 個或更多版本(n ± 2)的 oc 客戶端版本。
-
請確認您在本地端電腦上執行的
ocCLI 版本,與安裝在叢集中的 Kubernetes 版本相符。 顯示您叢集及本地端電腦上已安裝的ocCLI 版本。oc version輸出範例:
Client Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.35", GitCommit:"641856db18352033a0d96dbc99153fa3b27298e5", GitTreeState:"clean", BuildDate:"2019-03-25T15:53:57Z", GoVersion:"go1.12.1", Compiler:"gc", Platform:"darwin/amd64"} Server Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.35+IKS", GitCommit:"e15454c2216a73b59e9a059fd2def4e6712a7cf0", GitTreeState:"clean", BuildDate:"2019-04-01T10:08:07Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"linux/amd64"}如果在
GitVersion中看到用戶端和伺服器的版本相同,表示 CLI 版本相符。 可以忽略伺服器版本中的+IKS部分。 -
如果您的本地電腦與叢集上的
ocCLI 版本不一致,請更新叢集,或在 本地電腦上安裝不同版本的 CLI。