带有AWS CSI EBS驱动程序的AWS EKS群集1.18。有些pod静态配置了EBS卷,一切正常。
下一个。在某个时候,使用EBS卷的所有pod都停止响应,服务有无限的等待时间,代理pod会因为超时而终止连接。
kube-controller-manager的日志(CloudWatch)中充满了这样的消息:
kubernetes.io/csi: attachment for vol-00c1763<removed-by-me> failed:
rpc error:
code = NotFound desc = Instance "i-0c356612<removed-by-me>" not found和
event.go:278] Event(v1.ObjectReference{Kind:"Pod", Namespace:"default", Name:"podname-65df9bc5c4-2vtj8", UID:"ad4d30b7-<removed-by-me>", APIVersion:"v1", ResourceVersion:"4414194", FieldPath:""}):
type: 'Warning'
reason: 'FailedAttachVolume' AttachVolume.Attach failed for volume "ebs-volumename" :
rpc error: code = NotFound desc = Instance "i-0c356<removed-by-me>" not found实例就在那里,我们检查了大概20次。我们试图杀死实例,所以CloudFormation为我们创建了一个新的实例,错误仍然存在,只是实例ID不同。
下一个。我们开始删除pod和卸载卷/删除sc/pvc/pv。kubectl在删除pv的末尾被卡住。我们只能通过给pv和volumemounts打补丁才能让它们脱离这种状态。日志包含以下内容:
csi_attacher.go:662] kubernetes.io/csi: detachment for VolumeAttachment for volume [vol-00c176<removed-by-me>] failed:
rpc error: code = Internal desc = Could not detach volume "vol-00c176<removed-by-me>" from node "i-0c3566<removed-by-me>":
error listing AWS instances:
"WebIdentityErr: failed to retrieve credentials\n
caused by: ExpiredTokenException: Token expired: current date/time 1617384213 must be before the expiration date/time1616724855\n\
tstatus code: 400, request id: c1cf537f-a14d<removed-by-me>"我读过关于Kubernetes的令牌,但在我们的例子中,一切都是由EKS管理的。谷歌ExpiredTokenException带给我们的页面应该如何解决您自己的应用程序的问题,同样,我们使用kubectl管理亚马逊网络服务上的一切。
发布于 2021-04-03 04:02:42
请查看kops 1.8发行说明
新的亚马逊网络服务实例类型: P3、C5、M5、H1。请注意,默认的jessie映像不支持NVME卷,因此除非选择了拉伸映像(在映像名称中将stretch更改为jessie ),否则主服务器不会在M5和C5实例类型上启动。另请注意,在kubernetes v1.9之前,Kubernetes将不支持在NVME实例上装载持久卷。
kops edit ig nodes例如,将图像从jessie更改为stretch:
发自:
image: kope.io/k8s-1.9-debian-jessie-amd64-hvm-ebs-2018-03-11至:
image: kope.io/k8s-1.9-debian-stretch-amd64-hvm-ebs-2018-03-11注意:请确保您安装了kubernetes 1.9.x或更高版本。
https://stackoverflow.com/questions/66923765
复制相似问题