File Storage 區域傳輸中加密功能的疑難排解

虛擬私有雲

請參閱以下疑難排解主題,以解決區域性 File Storage (RFS)傳輸中加密(EIT)相關的問題。

RFS EIT 目前作為 Beta 功能提供,建議僅用於實驗性用途。 請勿在生產環境的工作負載中使用此功能。

為什麼我的 PVC 會因「'rfs' profile is not accessible」而卡在「待處理」狀態?

您的 PVC 在建立後仍處於「Pending」狀態,且您會在 PVC 事件中看到類似以下的錯誤訊息。

'rfs' profile is not accessible

您的帳戶可能未被列入「rfs」設定檔的白名單,或者您的叢集可能缺乏執行 VPC 檔案共用操作所需的 IAM 權限。

若要解決此問題,請執行下列動作:

  1. 請檢查 PVC 事件以確認錯誤。

    oc describe pvc <pvc-name>
    

    請在「Events」專區中尋找《 'rfs' profile is not accessible 》。 若出現此錯誤,您的帳戶需被加入「rfs」設定檔的白名單中。

  2. 若錯誤訊息為「'rfs' profile is not accessible」,請提交 VPC 支援單以申請存取權限。 您的帳戶被加入白名單後,請重新啟動 CSI 驅動程式節點 Pod。

    oc rollout restart daemonset ibm-vpc-file-csi-node -n kube-system
    
  3. 如果 PVC 顯示的是與權限相關的錯誤,請確認您的叢集是否具備所需的 VPC 檔案共用操作的 IAM 權限

為什麼我的 pod 無法透過 stunnel manager is not initialized`` 掛載?

您的 Pod 顯示了一項 FailedMount 事件,其中出現類似以下內容的錯誤。

stunnel manager is not initialized, this indicates a configuration error.
Restart the file csi node server pod from kube-system namespace where the
application is running and check if the issue is resolved.

受影響工作節點上 CSI 節點伺服器 Pod 中的 stunnel 管理程式尚未初始化,這表示該節點存在配置錯誤。

若要解決此問題,請執行下列動作:

  1. 找出與您的應用程式 Pod 運行在同一節點上的 CSI 節點伺服器 Pod。 請記下您的 Pod 被排程到的節點名稱。

    oc get pod <app-pod-name> -o wide
    
  2. 讓 CSI 節點伺服器 Pod 在該節點上運行。

    oc get pods -n kube-system -l app=ibm-vpc-file-csi-node \
      --field-selector spec.nodeName=<node-name>
    
  3. 刪除 CSI 節點伺服器 Pod,使其自動重新啟動。

    oc delete pod -n kube-system <csi-node-pod>
    
  4. 請等待該 Pod 重新啟動並進入「Running」狀態,然後重新嘗試啟動您的應用程式 Pod。

    oc get pods -n kube-system -l app=ibm-vpc-file-csi-node
    

    若在 Pod 重啟後問題仍未解決,請透過 提交支援單 與 IBM Cloud 聯絡 Container Storage 團隊。

為什麼我的應用程式在執行 hostNetwork: true 時無法綁定埠號?

一個使用 hostNetwork: true 的應用程式 Pod 在啟動時發生失敗,並顯示以下錯誤。

Address already in use

RFS EIT 會在 127.0.0.1 上,針對每個 PVC 安裝,於 11300–11599 範圍內綁定一個埠。 一個使用 hostNetwork: true 並嘗試綁定至此範圍內某個埠的應用程式 Pod,會與同一節點上現有的 RFS EIT PVC 掛載產生衝突。

若要解決此問題,請選擇以下其中一個選項:

  • 將所有使用 RFS EIT 檔案共用功能的應用程式先縮減規模,然後再逐步恢復其規模。 進行擴展後,應用程式 Pod 會從分配範圍中選取不同的埠號,從而解決了埠號衝突。
  • 請透過 Kubernetes Service 資源存取應用程式,而非仰賴 hostNetwork: true 中的主機埠。 這樣便能完全避免埠號衝突。