首页 > 解决方案 > AWS EKS - 出现错误“2 个节点超出磁盘空间”的容器

问题描述

我部署了 6 个容器并在 AWS EKS 上运行。但是,运行一段时间后,日志显示“2 个节点超出磁盘空间”的错误。我试图删除容器并重建。一些错误不断发生。有人有解决方案吗?

kubectl delete pod $image_name –namespace=xxx
kubectl describe pod $name --namespace=xxx
kubectl describe pod $image_name --namespace=xxX

Name:           image_name
Namespace:      xxx
Node:           <none>
Labels:         app=label
Annotations:    <none>
Status:         Pending
IP:
Controlled By:  ReplicationController/label
Containers:
  label-container:

    Image:      image_name
    Port:       8084/TCP

    Host Port:  0/TCP

    Environment:

      SPRING_PROFILES_ACTIVE:  uatsilver

    Mounts:

      /var/run/secrets/kubernetes.io/serviceaccount from default-token-kv27l (ro)

Conditions:

  Type           Status

  PodScheduled   False

Volumes:

  default-token-kv27l:

    Type:        Secret (a volume populated by a Secret)

    SecretName:  default-token-kv27l

    Optional:    false

QoS Class:       BestEffort

Node-Selectors:  <none>

Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s

                 node.kubernetes.io/unreachable:NoExecute for 300s

Events:
  Type     Reason            Age                From               Message

  ----     ------            ----               ----               -------
  Warning  FailedScheduling  10s (x7 over 41s)  default-scheduler  0/3 nodes are available: 1 Insufficient pods, 2 node(s) were not ready, 2 node(s) were out of disk space.

标签: kubernetesdiskamazon-eks

解决方案


由于节点磁盘空间不足,Kubernetes 无法调度您的 pod。正如 Rafaf 在评论中建议的那样,您应该增加节点磁盘空间:删除 pod 并重新启动它们不会解决托管/运行这些 pod 的节点上的磁盘空间限制。

如果您使用文档中的标准/默认 CloudFormation 模板来创建工作节点,只需提高NodeVolumeSize参数:默认情况下,每个节点是 20 GiB EBS。您可以根据自己的需要将其放大。

此外,您还需要仔细检查节点上实际占用这么多磁盘的内容!通常,日志会很好地轮换,如果您不是自己(通过您的 pod)写入数据,您不应该面对这样的情况。


推荐阅读