【问题标题】:AWS EKS Node - Volume Attach LimitAWS EKS 节点 - 卷附加限制
【发布时间】:2019-10-22 11:25:23
【问题描述】:

我们最近将 EKS 环境升级到 v1.12.7。升级后,我们注意到现在有一​​个名为 attachable-volumes-aws-ebs 的“可分配”资源,在我们的环境中,每个节点都附加了许多 EBS 卷(它们都是通过 PVC 动态生成的)。

然而,在“已分配资源”部分的每个节点上,它显示附加了 0 个卷:

Allocatable:
 attachable-volumes-aws-ebs:  25
 cpu:                         16
 ephemeral-storage:           96625420948
 hugepages-1Gi:               0
 hugepages-2Mi:               0
 memory:                      64358968Ki
 pods:                        234
...
Allocated resources:
  (Total limits may be over 100 percent, i.e., overcommitted.)
  Resource                    Requests           Limits
  --------                    --------           ------
  cpu                         5430m (33%)        5200m (32%)
  memory                      19208241152 (29%)  21358Mi (33%)
  attachable-volumes-aws-ebs  0                  0

因此,调度程序将继续尝试将新卷附加到已附加 25 个卷的节点。

我们如何让 kubernetes 识别附加的卷,以便调度程序可以采取相应的行动?

【问题讨论】:

  • 您找到解决问题的方法了吗?我遇到了节点被污染的相同问题,因为在部署期间 EKS 试图将更多 pod 放置到节点上,即使卷已经达到最大值。
  • @BernieLenz 不幸的是我们没有。我们公司转移了重点以及它的应用程序是如何配置的,这对我们来说不再是问题。但是,我们仍然希望找到一个答案以供将来参考,因为我相信我们再次遇到它只是时间问题。我敢打赌,AWS 支持工程师可以回答这个问题,但对我们来说,支持价格太高了。 :(

标签: kubernetes amazon-eks


【解决方案1】:

首先检查您的 pod 状态,它们可能处于 待处理 状态,这就是为什么您的卷可能不计算在内的原因。使用多个 PersistentVolumeClaim 时,您的卷也可能停留在附加状态。

由于 NodeWithImpairedVolumes=true:NoSchedule 标志以及您的 attachable-volumes-aws-ebs 的数量,您的卷可能未附加。

尝试执行:

$ kubectl taint nodes node1 key:NoSchedule-

在每个带有此标签的节点上 (NodeWithImpairedVolumes=true:NoSchedule)。

如果您使用 awsElasticBlockStore ,则在使用 awsElasticBlockStore 卷时会有一些限制:

  • 运行 Pod 的节点必须是 AWS EC2 实例 这些实例需要与 EBS 卷位于同一区域和可用区中 EBS 仅支持单个 EC2 实例挂载卷。

您可以使用 count/* 资源配额,如果对象存在于服务器存储中,则根据配额收费。这些类型的配额有助于防止使用 count/persistentvolumeclaims 的存储资源耗尽。

Allocatable 将由 Kubelet 计算并报告给 API 服务器。定义为:

[可分配] = [节点容量] - [Kube-Reserved] - [System-Reserved] - [Hard-Eviction-Threshold]

注意:由于内核使用率可能会波动并且不受 kubernetes 控制,因此它将被报告为一个单独的值(可能通过指标 API)。报告内核使用情况超出了此提案的范围。

【讨论】:

  • 嗨 MaggieO,感谢您的回复。但是,我想我想问的内容还不够清楚。我已经编辑了我原来的帖子,希望能更清楚。
【解决方案2】:

目前最好的选择似乎是使用带有新 --volume-attach-limit 标志的 EBS CSI 驱动程序 https://github.com/kubernetes-sigs/aws-ebs-csi-driver/pull/522

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-03
    • 2021-10-16
    • 1970-01-01
    • 1970-01-01
    • 2020-01-28
    • 2021-02-06
    • 1970-01-01
    相关资源
    最近更新 更多