kubernetes - 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.
解决方案
由于节点磁盘空间不足,Kubernetes 无法调度您的 pod。正如 Rafaf 在评论中建议的那样,您应该增加节点磁盘空间:删除 pod 并重新启动它们不会解决托管/运行这些 pod 的节点上的磁盘空间限制。
如果您使用文档中的标准/默认 CloudFormation 模板来创建工作节点,只需提高NodeVolumeSize
参数:默认情况下,每个节点是 20 GiB EBS。您可以根据自己的需要将其放大。
此外,您还需要仔细检查节点上实际占用这么多磁盘的内容!通常,日志会很好地轮换,如果您不是自己(通过您的 pod)写入数据,您不应该面对这样的情况。
推荐阅读
- algorithm - 如何为堆排序算法生成最坏情况数组
- angular - 如何避免组件中的两个请求?
- r - 将子字符串匹配到列表中的字符串并记录每个匹配的索引
- rstudio - Rstudio 尝试访问我没有访问权限并崩溃的父目录
- actions-on-google - 在默认计时器后发送提示
- php - Guzzle6 客户端和 CLientInterface 文件命名空间未在自定义 PHP 类中解析
- email - Jmeter Groovy JavaMail API 多部分向示例结果添加内容
- r - 从数据框中的字符向量中提取第二个观察值
- java - 当我尝试从 hyperledger java-sdk 连接到 docker swarm 中的区块链时,为什么会出现 TLS 握手错误?
- javascript - Prettier 没有出现在 VS Code 的状态栏上,用于服务器上的缩小文件