INVALID 计算环境 - AWS Batch

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

INVALID 计算环境

您可能错误地配置了托管计算环境。如果是这样,计算环境就会进入INVALID状态,无法接受作业放置。以下各节描述了可能的原因以及如何根据原因进行故障排除。

不支持 Kubernetes 版本

当您使用CreateComputeEnvironmentAPI操作或UpdateComputeEnvironmentAPI操作创建或更新计算环境时,您可能会看到类似于以下内容的错误消息。如果您指定了不受支持的,则会出现此问题 Kubernetes 版本在EC2Configuration

At least one imageKubernetesVersion in EC2Configuration is not supported.

要解决此问题,请删除计算环境,然后使用支持的环境重新创建它 Kubernetes 版本。

您可以在 Amazon EKS 集群上执行次要版本升级。例如,即使不支持次要版本,也可以将集群从1.xx升级到1.yy

但是,主要版本更新后,计算环境的状态可能会更改为INVALID。例如,如果将主要版本从1.xx升级到2.yy。如果不支持主要版本 AWS Batch,则会看到类似于以下内容的错误消息。

reason=CLIENT_ERROR - ... EKS Cluster version [2.yy] is unsupported

要解决此问题,请指定支持的 Kubernetes 使用API操作创建或更新计算环境时的版本。

AWS Batch Amazon 上EKS目前支持以下内容 Kubernetes 版本:

  • 1.30

  • 1.29

  • 1.28

  • 1.27

  • 1.26

  • 1.25

  • 1.24

  • 1.23

实例配置文件不存在

如果指定的实例配置文件不存在,则 Amazon AWS Batch 上的EKS计算环境状态将更改为INVALID。在statusReason参数中会出现类似于以下内容的错误集。

CLIENT_ERROR - Instance profile arn:aws:iam::...:instance-profile/<name> does not exist

要解决此问题,请指定或创建有效的实例配置文件。有关更多信息,请参阅《亚马逊EKS用户指南》中的亚马逊EKS节点IAM角色

无效 Kubernetes 命名空间

如果 Amazon AWS Batch 上EKS无法验证计算环境的命名空间,则计算环境的状态将更改为INVALID。例如,如果命名空间不存在,则可能会出现此问题。

statusReason参数中会出现类似于以下内容的错误消息集。

CLIENT_ERROR - Unable to validate Kubernetes Namespace

在满足以下任一条件时,可能出现此问题:

  • 这些区域有:Kubernetes CreateComputeEnvironment调用中的命名空间字符串不存在。有关更多信息,请参阅CreateComputeEnvironment

  • 管理命名空间所需的基于角色的访问控制 (RBAC) 权限配置不正确。

  • AWS Batch 无法访问 Amazon EKS Kubernetes API服务器端点。

要解决此问题,请参阅验证aws-auth ConfigMap是否配置正确。。有关更多信息,请参阅 教程:开始使用 Amazon EKS 上的 AWS Batch

已删除的计算环境

假设您在删除亚马逊EKS计算环境 AWS Batch 上连接的EKS集群之前删除了该集群。然后,计算环境状态更改为INVALID。在这种情况下,如果您使用相同的名称重新创建 Amazon EKS 集群,则计算环境将无法正常运行。

要解决此问题,请删除 Amazon AWS Batch 上的EKS计算环境,然后重新创建。

节点未加入 Amazon EKS 集群

AWS Batch 在 Amazon 上,如果计算环境确定并非所有节点都加入了 Amazon EKS 集群,则会EKS缩小计算环境的规模。 AWS Batch 在 Amazon 上EKS缩小计算环境时,计算环境的状态将更改为INVALID

注意

AWS Batch 不会立即更改计算环境状态以便您可以调试问题。

statusReason参数中会出现类似于以下内容的错误消息集:

Your compute environment has been INVALIDATED and scaled down because none of the instances joined the underlying ECS Cluster. Common issues preventing instances joining are the following: VPC/Subnet configuration preventing communication to ECS, incorrect Instance Profile policy preventing authorization to ECS, or customized AMI or LaunchTemplate configurations affecting ECS agent.

Your compute environment has been INVALIDATED and scaled down because none of the nodes joined the underlying Amazon EKS Cluster. Common issues preventing nodes joining are the following: networking configuration preventing communication to Amazon EKS Cluster, incorrect Amazon EKS Instance Profile or Kubernetes RBAC policy preventing authorization to Amazon EKS Cluster, customized AMI or LaunchTemplate configurations affecting Amazon EKS/Kubernetes node bootstrap.

使用默认 Amazon 时 EKSAMI,此问题的最常见原因如下: