本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon EKS 作业上的AWS Batch停留在STARTING状态
当容器组因来自 kubelet(pull、log、exec 和 attach)的任何长时间运行的请求而停滞在 ContainerCreating 的 PENDING 状态时,在容器组启动问题得到解决或作业被终止前,作业将停留在 STARTING 状态。在以下符合条件的情况下,AWS Batch 将代表您终止作业,否则必须使用 TerminateJob API 手动终止作业。
要验证作业停滞在 STARTING 状态的原因,请使用 教程:将正在运行的作业映射到容器组(pod)和节点 查找 podName 并描述该容器组:
% kubectl describe pod aws-batch.000c8190-87df-31e7-8819-176fe017a24a -n my-aws-batch-namespace
Name: aws-batch.000c8190-87df-31e7-8819-176fe017a24a
Namespace: my-aws-batch-namespace
...
Containers:
default:
...
State: Waiting
Reason: ContainerCreating
Ready: False
...
Conditions:
Type Status
PodReadyToStartContainers False
Initialized True
Ready False
ContainersReady False
PodScheduled True
...
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedMount 2m32s kubelet Unable to attach or mount volumes: ...考虑将 EKS 集群配置为将控制面板日志发送到 CloudWatch Logs,以实现完全的可见性。
场景:持久卷声明连接或挂载失败
使用永久卷声明但卷连接或挂载失败的作业将会被终止。这可能是因作业定义配置不正确所致。有关更多信息,请参阅在 Amazon EKS 资源上创建单节点作业定义。