为什么 PVC 或 pod 创建会因为找不到 Kubernetes 秘密而失败?

虚拟私有云 传统基础设施

由于 IBM Cloud Object Storage 的 Kubernetes secret 未找到或引用错误,PVC 或 pod 创建失败。

在创建 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)

部署 YAML 文件中未正确引用您创建的 Kubernetes secret,或未将其设置为 ibm/ibmc-s3fs 类型。

解决问题

此任务需要所有项目的 撰写人管理员 IBM Cloud IAM 服务访问角色

  1. 列出集群中的私钥并查看私钥类型。 私钥必须将 ibm/ibmc-s3fs 显示为 Type

    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