當您使用 vSphere ClientVMware vCenter主管 中的命名空間移除儲存區原則,則其相符的儲存區類別將保留在 Kubernetes 環境中,但無法提供使用。

問題

如果您執行 kubectl get sc 命令,則輸出會繼續在命名空間中將該儲存區類別列為可供使用。但該儲存區類別無法提供使用。例如,嘗試將該儲存區類別用於新的持續性磁碟區宣告會失敗。

如果該儲存區類別已由某個 Kubernetes 部署使用,則部署的行為可能無法預期。

解決方案

  1. 若要驗證命名空間中存在的儲存區類別,請執行 kubectl describe namespace namespace_name 命令。
    如果其相符的儲存區原則已移除,則此命令的輸出不會列出該儲存區類別。
  2. 如果該儲存區類別已由某個部署使用,請還原該儲存區類別。
    1. 使用 vSphere Client 來建立與您移除的原則具有相同名稱的新儲存區原則。
      例如,如果您刪除了 Gold 原則,請將新原則命名為 Gold。請參閱 安裝和設定 vSphere IaaS 控制平面中的 為 vSphere with Tanzu 建立儲存區原則
    2. 將該原則指派給命名空間。
      請參閱 vSphere IaaS 控制平面服務和工作負載中的 〈變更命名空間的儲存區設定〉
      將該原則指派給命名空間後, vSphere IaaS control plane 會刪除舊的儲存區類別,並建立具有相同名稱的相符儲存區類別。