首页 文章

Kubernetes无法将AWS EBS作为卷附加 . 可能是由于 Cloud 提供商问题

提问于
浏览
0

我在AWS上运行了一个kubernetes集群 . 现在,当我尝试将AWS EBS作为卷附加到pod时,我得到了“特殊设备不存在”的问题 .

输出:mount:特殊设备/var/lib/kubelet/plugins/kubernetes.io/aws-ebs/mounts/vol-xxxxxxx不存在

我做了一些研究,发现正确的AWS EBS设备路径应该是这样的格式:

/var/lib/kubelet/plugins/kubernetes.io/aws-ebs/mounts/aws/us-west-2a/vol-xxxxxxxx

我怀疑是因为我根据tutorial Build 了Kubernetes集群,并没有设置 Cloud 提供商,因此没有设置AWS设备"does not exit" . 我想知道我的怀疑是否正确,如果是,那么在集群运行之后如何设置 Cloud 提供商 .

2 回答

  • 0

    您需要将 Cloud 提供程序设置为正确安装EBS卷 . 要在以下服务中设置 --cloud-provider=aws 之后执行此操作:

    • 控制器管理器

    • apiserver

    • kubelet

    重新启动所有内容并尝试重新安

    明确安装EBS卷的示例窗格可能如下所示:

    apiVersion: v1
    kind: Pod
    metadata:
      name: test-ebs
    spec:
      containers:
      - image: gcr.io/google_containers/test-webserver
        name: test-container
        volumeMounts:
        - mountPath: /test-ebs
          name: test-volume
      volumes:
      - name: test-volume
        # This AWS EBS volume must already exist.
        awsElasticBlockStore:
          volumeID: <volume-id>
          fsType: ext4
    
  • 1

    Kubernetes版本是一个重要的因素 . EBS坐骑在1.2.x中是实验性的,我当时试了但是没有成功 . 在上一个版本中,我从未尝试过,但请务必检查k8s vm上的IAM角色,以确保他们有权配置EBS磁盘 .

相关问题