Kubernetes 如何在注册的节点上找不到 file.csi.azure.com 驱动程序?

问题描述 投票:0回答:1

将新卷添加到配置后,尝试使用 Azure Kubernetes 服务 (AKS) 中的容器时,我看到以下一组警告和错误:

19m         Warning   FailedMount              pod/runner-xxxx-project-821-concurrent-0-5cwua3fq   MountVolume.SetUp failed for volume "release-area-volume" : kubernetes.io/csi: mounter.SetUpAt failed to get CSI client: driver name file.csi.azure.com not found in the list of registered CSI drivers
19m         Warning   FailedMount              pod/runner-xxxx-project-821-concurrent-0-5cwua3fq   MountVolume.SetUp failed for volume "sdk-volume" : kubernetes.io/csi: mounter.SetUpAt failed to get CSI client: driver name file.csi.azure.com not found in the list of registered CSI drivers
20m         Normal    TaintManagerEviction     pod/runner-xxxx-project-821-concurrent-0-5cwua3fq   Cancelling deletion of Pod glr-exp/runner-xxxx-project-821-concurrent-0-5cwua3fq
19m         Normal    SuccessfulAttachVolume   pod/runner-xxxx-project-821-concurrent-0-5cwua3fq   AttachVolume.Attach succeeded for volume "pvc-5ef372c5-ddb2-4675-b7e9-d39bd6d3e89d"
19m         Normal    Pulling                  pod/runner-xxxx-project-821-concurrent-0-5cwua3fq   Pulling image "registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-8ec04662-servercore21H2"
18m         Normal    Pulled                   pod/runner-xxxx-project-821-concurrent-0-5cwua3fq   Successfully pulled image "registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-8ec04662-servercore21H2" in 1.3427122s (1.343252s including waiting)
18m         Normal    Created                  pod/runner-xxxx-project-821-concurrent-0-5cwua3fq   Created container init-permissions
18m         Warning   Failed                   pod/runner-xxxx-project-821-concurrent-0-5cwua3fq   Error: failed to create containerd task: failed to create shim task: hcs::CreateComputeSystem init-permissions: The parameter is incorrect.: unknown

当我

kubectl describe
节点时,CSI 驱动程序 Pod 看起来已启动并正在运行:

Non-terminated Pods:          (3 in total)
  Namespace                   Name                                CPU Requests  CPU Limits  Memory Requests  Memory Limits  Age
  ---------                   ----                                ------------  ----------  ---------------  -------------  ---
  kube-system                 cloud-node-manager-windows-c2ks6    50m (2%)      0 (0%)      50Mi (1%)        512Mi (11%)    27h
  kube-system                 csi-azuredisk-node-win-mn7nz        60m (3%)      0 (0%)      120Mi (2%)       600Mi (13%)    27h
  kube-system                 csi-azurefile-node-win-nl4wk        60m (3%)      0 (0%)      120Mi (2%)       700Mi (16%)    27h

当驱动程序确实存在时,怎么可能出现“驱动程序名称 x 未找到”错误?

对于上下文,这是一个 CI 作业,通过 Kubernetes 执行器从 gitlab-runner 运行。

azure kubernetes azure-aks gitlab-ci-runner
1个回答
0
投票

我能够通过获取 gitlab-runner 正在创建的 pod 的 YAML 描述来解决这个问题。有两个卷安装在同一驱动器盘符上。事实证明,如果你设置了

builds_dir: E:\\
,gitlab-runner 将会在
E:
挂载一个空目录,除非它找到某个卷的
mount_path
builds_dir
完全匹配。我的安装路径是
E:
,末尾没有斜杠。 :/

这里的要点是,我看到的错误是由于尝试安装具有相同驱动器号的两个卷而引起的。有趣的是,重复的并不是

release-area-volume
sdk-volume
。看来驱动器盘符误用导致整个驱动程序严重错误,以至于在 Kubernetes 看来它不再存在,从而破坏了具有相同驱动程序的所有其他安装。

© www.soinside.com 2019 - 2024. All rights reserved.