尝试安装 File Storage for VPC时,为何应用程序 pod 卡在 Container creating 中?

排查 VPC 集群中文件容器创建问题。

当您尝试部署使用 File Storage for VPC 的应用程序时,会看到以下一个或多个错误信息。

用于获取 ibm-vpc-file-csi 驱动程序日志的示例命令。

kubectl logs ibm-vpc-file-csi-node-xxx -n kube-system -c iks-vpc-file-node-driver

带有错误消息的示例输出。

ibmcsidriver/node.go:94","msg":"CSINodeServer-NodePublishVolume..."
ibmcsidriver/node.go:160","msg":"CSINodeServer-NodeUnpublishVolume..."

示例 describe pod 命令。

kubectl describe pod ibm-vpc-file-csi-node-xxx -n kube-system -c iks-vpc-file-node-driver

带有错误消息的示例输出。

Warning FailedMount 68s kubelet MountVolume.SetUp failed for volume "pvc-c37fe511-ec6d-44c1-8c55-1b5e2c21ec5b" : rpc error: code = DeadlineExceeded desc = context deadline exceeded
Warning FailedMount 65s kubelet Unable to attach or mount volumes: unmounted volumes=[test-persistent-storage], unattached volumes=[], failed to process volumes=[]: timed out waiting for the condition

用于获取 pipelineruns 日志的示例命令。

kubectl logs cat -n pipelineruns

带有错误消息的示例输出。

Error from server (BadRequest): container "cat" in pod "cat" is waiting to start: ContainerCreating

临时网络中断可能导致文件共享不可访问且不可安装。

完成以下步骤以解决该问题。

4.11 及更高版本中引入了新的安全组规则。 这些规则更改意味着您必须在使用 File Storage for VPC 之前同步您的安全组。 如果群集的初始创建版本为 4.11 或更早,请运行以下命令同步安全组设置。

  • 如果群集的初始创建版本为 4.11 或更早:

    1. 获取您的集群 ID。
        ibmcloud oc cluster ls
        ```
    1. 获取 `kube-<clusterID>` 安全组的 ID。
    ```sh {: pre}
        ibmcloud is sg kube-<cluster-id>  | grep ID
        ```
    1. 使用上一步中获取的 ID 同步 `kube-<clusterID>` 安全组。
    ```sh {: pre}
        ibmcloud ks security-group sync -c <cluster ID> --security-group <ID>
        ```
    
  • 如果创建群集的版本为 4.11 及更高版本,请验证部署 pod 的 Worker 节点是否被列入 VNI 安全组的允许列表。

  1. 如果问题仍然存在,请联系支持团队。 打开 支持案例。 在案例详细信息中,请确保包含任何相关日志文件,错误消息或命令输出。