繁体   English   中英

Kubernetes AWS EBS超时等待卷状态

[英]Kubernetes AWS EBS Timeout waiting for volume state

如果我创建此pod:

apiVersion: v1
kind: Pod
metadata:
name: dsm-manager
spec:
containers:
- name: dsm-manager
image: ******
imagePullPolicy: Always
command:
- /sbin/init
volumeMounts:
- mountPath: /srv/project/DSMManager/snapshots
name: dsm-snapshot-storage
volumes:
- name: dsm-snapshot-storage
awsElasticBlockStore:
volumeID: aws://us-west-2b/vol-43e44482
fsType: ext4
imagePullSecrets:
- name: dockerregistrykey

它总是有效,但是如果我删除它并重新创建它就会陷入状态'CreatingContainer'。 查看事件产量:
- 无法为pod“dsm-manager_default”装入卷:超时等待卷状态
- 错误同步窗格,跳过:超时等待卷状态

如果我删除pod并重新创建它,无论我做什么都会发生同样的事情。 但是,如果我将卷附加到某个实例,然后通过aws cli将其分离,则创建它可以找到的pod。 我想知道音量是否没有正确分离。 现在我只是将这个奇怪的工作流程附加到一个随机实例,然后在更新容器图像时将其分离

这可能是由Kubernetes EBS管理代码中的错误引起的,应该由PR# 14493修复。 总而言之,未验证设备块缓存是否导致kubelet认为磁盘在实际分离后仍然附着。

我注意到运行Kubernetes和EBS卷粘附的一般问题。 EBS的问题似乎比Kubernetes更多。 当“物理”EBS卷卡在附加状态时,在重新启动主机之前,您无法重新安排容器。 我最近参加了一个集装箱会议,当时Nordstrom的团队是Kubernetes的大用户正在讨论这个问题。

您最好的选择可能是在AWS上使用本地存储作为容器卷,因为从本地Ec2存储创建和安装卷不会受到与EBS相同的“卡住附加”问题的影响。 抱歉!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM