【问题标题】:attachdetach-controller AttachVolume.NewAttacher failed for volume "pv" :Failed to get AWS Cloud Provider. GetCloudProvider returned <nil>attachdetach-controller AttachVolume.NewAttacher 卷“pv”失败:无法获取 AWS 云提供商。 GetCloudProvider 返回 <nil>
【发布时间】:2024-05-21 22:25:02
【问题描述】:
Warning FailedMount 23m (x55 over 3h) kubelet, ip-172-31-3-191.us-east-2.compute.internal Unable to attach or mount volumes: unmounted volumes=[mysql-persistent-storage], unattached volumes=[mysql-persistent-storage default-token-6vkr2]: timed out waiting for the condition
Warning FailedMount 4m (x105 over 3h7m) kubelet, ip-172-31-3-191.us-east-2.compute.internal (combined from similar events): MountVolume.SetUp failed for volume "pv" : mount failed: exit status 32
Mounting command: systemd-run
Mounting arguments: --description=Kubernetes transient mount for /var/lib/kubelet/pods/408ffa6b-1f64-4f1a-adfd-01b77ad7b886/volumes/kubernetes.ioaws-ebs/pv --scope -- mount -o bind /var/lib/kubelet/plugins/kubernetes.io/aws-ebs/mounts/aws/us-east-2a/vol-011d7bb42da888b82 /var/lib/kubelet/pods/408ffa6b-1f64-4f1a-adfd-01b77ad7b886/volumes/kubernetes.ioaws-ebs/pv
Output: Running scope as unit run-9240.scope.
mount: /var/lib/kubelet/pods/408ffa6b-1f64-4f1a-adfd-01b77ad7b886/volumes/kubernetes.io~aws-ebs/pv: special device /var/lib/kubelet/plugins/kubernetes.io/aws-ebs/mounts/aws/us-east-2a/vol-011d7bb42da888b82 does not exist.
Warning FailedAttachVolume 2m38s (x92 over 3h7m) attachdetach-controller AttachVolume.NewAttacher failed for volume "pv" : Failed to get AWS Cloud Provider. GetCloudProvider returned instead

我在AWS EC2 机器上运行kubernetes 集群。

当我尝试附加 EBS 卷时,出现上述错误。

【问题讨论】:

  • 您需要提供更多信息。你用的是哪个 Kubernetes 版本?当您收到此错误时,您究竟做了什么?请附上您的 yaml 文件。
  • 请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。

标签: amazon-web-services docker kubernetes amazon-ec2 amazon-ebs


【解决方案1】:

至少有三种可能的解决方案:

  • 检查您的k8s 版本;也许你会想要更新它;
  • 在您的基础架构上安装NFS
  • 修复inbound CIDR 规则

k8s版本

有一个已知问题: MountVolume.SetUp failed for volume pvc mount failed: exit status 32 · Issue #77916 · kubernetes/kubernetes

并且在#77663中修复了

所以,请检查您的 k8s 版本

kubectl version
kubeadm version

在您的基础架构上安装 NFS

安装NFS 对您的情况有帮助,有以下三个答案:

A: 49571145 A: 52457325 A: 55922445

修复入站 CIDR 规则

其中一种解决方案是将集群的 CIDR 添加到

A: 61868673

我遇到了这个问题,因为 Kubernetes 集群节点 CIDR 范围不存在于我的 AWS EC2 实例(我的 NFS 服务器正在运行的地方)的安全组的入站规则中

解决方案:将我的 Kubernetes 集群节点 CIDR 范围添加到安全组的入站规则中。

【讨论】: