【问题标题】:Kubernetes cannot attach AWS EBS as volume. Probably due to cloud provider issueKubernetes 无法将 AWS EBS 作为卷附加。可能是由于云提供商问题
【发布时间】:2017-04-14 17:46:09
【问题描述】:

我有一个在 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设置了Kubernetes集群,并没有设置云提供商,因此AWS设备“不退出”。不知道我的疑问是否正确,如果是的话,在集群已经启动运行后如何设置云提供商。

【问题讨论】:

标签: kubernetes


【解决方案1】:

您需要设置云提供商以正确挂载 EBS 卷。为此,请在以下服务中设置 --cloud-provider=aws

  • 控制器管理器
  • apiserver
  • kubelet

重新启动一切并再次尝试安装。

显式挂载 EBS 卷的示例 pod 可能如下所示:

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

【讨论】:

    【解决方案2】:

    Kubernetes 版本是这里的一个重要因素。 EBS 挂载在 1.2.x 中是实验性的,我当时尝试过,但没有成功。在上一个版本中,我再也没有尝试过,但请务必检查您在 k8s 虚拟机上的 IAM 角色,以确保他们有权配置 EBS 磁盘。

    【讨论】:

      猜你喜欢
      • 2021-11-04
      • 2021-11-06
      • 2016-03-31
      • 2021-12-08
      • 2020-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多