将新卷添加到配置后,尝试使用 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 运行。
我能够通过获取 gitlab-runner 正在创建的 pod 的 YAML 描述来解决这个问题。有两个卷安装在同一驱动器盘符上。事实证明,如果你设置了
builds_dir: E:\\
,gitlab-runner 将会在 E:
挂载一个空目录,除非它找到某个卷的 mount_path
与 builds_dir
完全匹配。我的安装路径是E:
,末尾没有斜杠。 :/
这里的要点是,我看到的错误是由于尝试安装具有相同驱动器号的两个卷而引起的。有趣的是,重复的并不是
release-area-volume
或 sdk-volume
。看来驱动器盘符误用导致整个驱动程序严重错误,以至于在 Kubernetes 看来它不再存在,从而破坏了具有相同驱动程序的所有其他安装。