為什麼 PVC 或 pod 的建立會因為找不到 Kubernetes secret 而失敗?

虛擬私有雲 經典基礎架構

PVC 或 pod 建立失敗,原因是 Kubernetes secret for IBM Cloud Object Storage 未找到或引用不正確。

當您建立 PVC 或部署可裝載 PVC 的 Pod 時,建立或部署會失敗。

PVC 建立失敗的錯誤訊息範例:

can't get credentials: can't get secret tsecret-key: secrets "secret-key" not found

Pod 建立失敗的錯誤訊息範例:

persistentvolumeclaim "pvc-3" not found (repeated 3 times)

您建立的 Kubernetes secret 未在部署 YAML 檔中正確引用,或未設定為 ibm/ibmc-s3fs 類型。

解決問題

這項任務需要所有專案的 WriterManager IBM Cloud IAM 服務存取角色

  1. 列出叢集裡的密碼,並檢閱密碼類型。 密碼必須將 ibm/ibmc-s3fs 顯示為類型

    oc get secrets --all-namespaces
    
  2. 如果密鑰未將 ibm/ibmc-s3fs 顯示為 類型,請 重建密鑰

  3. 檢查 PVC 和 pod 的 YAML 設定檔,確認您使用了正確的秘密名稱。

  4. 確認秘訣與您的 PVC 或 pod 存在於相同的命名空間。

    oc get secret <secret_name> -n <namespace>
    
  5. 更正秘密參照後,重新部署 PVC 或 pod 並驗證其掛載成功。

    oc get pvc
    oc get pods