首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >装载失败:在Kubernetes中使用EBS卷时退出状态32

装载失败:在Kubernetes中使用EBS卷时退出状态32
EN

Stack Overflow用户
提问于 2021-02-08 00:28:18
回答 1查看 455关注 0票数 0

我对亚马逊网络服务的k8s设置集群有点困惑。我正在尝试使用EBS卷作为永久存储,但找不到足够的信息(我遗漏了什么,或者这是亚马逊网络服务提供商https://kubernetes.github.io/cloud-provider-aws/的所有文档

当我尝试将部署配置应用到我的集群时,kubectl describe pods的输出是:

代码语言:javascript
复制
  Type     Reason                  Age              From                     Message
  ----     ------                  ----             ----                     -------
  Normal   Scheduled               7s               default-scheduler        Successfully assigned default/mssql-deploy-67885c9f84-9xx7c to ip-172-31-0-215.sa-east-1.compute.internal
  Normal   SuccessfulAttachVolume  4s               attachdetach-controller  AttachVolume.Attach succeeded for volume "mssql-volume"Normal   SuccessfulAttachVolume  4s               attachdetach-controller  AttachVolume.Attach succeeded for volume "mssql-volume"
  Warning  FailedMount             3s (x4 over 6s)  kubelet                  MountVolume.SetUp failed for volume "mssql-volume" : mount failed: exit status 32
Mounting command: mount
Mounting arguments:  -o bind /var/lib/kubelet/plugins/kubernetes.io/aws-ebs/mounts/vol-02efbeface5569c51 /var/lib/kubelet/pods/01537252-4323-4e7c-9f05-a2a730498ecd/volumes/kubernetes.io~aws-ebs/mssql-volume
Output: mount: /var/lib/kubelet/pods/01537252-4323-4e7c-9f05-a2a730498ecd/volumes/kubernetes.io~aws-ebs/mssql-volume: special device /var/lib/kubelet/plugins/kubernetes.io/aws-ebs/mounts/vol-02efbeface5569c51 does not exist.

我设置了主节点,我认为这是使用aws provider的必要条件,比如:将主机名设置为priv dns,在ClusterConfig上设置extraArgs云提供商aws,在EC2实例中设置角色,如cloud-provider-aws (控制平面为主,节点到节点)。

然后,我使用以下文件(通过kubeadm join --config node.yaml)将节点加入集群:

代码语言:javascript
复制
apiVersion: kubeadm.k8s.io/v1beta1
kind: JoinConfiguration
discovery:
  bootstrapToken:
    token: "TOKEN-FROM-MASTER"
    apiServerEndpoint: "IP-PORT-FROM-MASTER"
    caCertHashes:
      - "SHA-FROM-MASTER"
nodeRegistration:
  name: $(hostname)
  kubeletExtraArgs:
    cloud-provider: aws

由于群集能够连接卷(这是真的,因为我在AWS控制台验证),我认为问题出在节点上的kubelet上。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-08 07:43:12

尽管aws提供商的文档非常薄弱,但解决方案很简单。事实上,我的搜索是错误的,错误的重要部分是最终结果,我们看到的是“特殊设备...不存在”。

有了这个,我在stackoverflow https://stackoverflow.com/a/60325491/1169158中找到了这个答案。

最后,我们需要做的就是在所有节点+主机的/var/lib/kubelet/kubeadm-flags.env中添加标志--cloud-provider=aws

希望这能对你有所帮助。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66090226

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档