INVALID 運算環境 - AWS Batch

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

INVALID 運算環境

您可能未正確設定受管運算環境。如果您這樣做,運算環境會進入 INVALID 狀態,且無法接受要放置的任務。下列各節說明可能的原因,以及如何根據原因進行故障診斷。

不支援 Kubernetes version

當您使用 CreateComputeEnvironment API 操作或 UpdateComputeEnvironmentAPI 操作來建立或更新運算環境時,您可能會看到類似以下內容的錯誤訊息。如果您指定不支援的 Kubernetes 中的版本EC2Configuration

At least one imageKubernetesVersion in EC2Configuration is not supported.

若要解決此問題,請刪除運算環境,然後使用支援的 重新建立 Kubernetes 版本。

您可以在 Amazon EKS 叢集上執行次要版本升級。例如,1.yy即使不支援次要版本,您也可以將叢集從 1.xx 升級至 。

不過,在主要版本更新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 EKS AWS Batch 運算環境上的 狀態會變更為 INVALID。您可以在類似以下內容的 statusReason 參數中看到錯誤集。

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

若要解決此問題,請指定或建立工作執行個體設定檔。如需詳細資訊,請參閱 Amazon EKS 使用者指南中的 Amazon Word 節點 Word IAM角色 EKS

無效 Kubernetes 命名空間

如果在 Amazon EKS AWS Batch 上無法驗證運算環境的命名空間,則運算環境狀態會變更為 INVALID。例如,如果命名空間不存在,可能會發生此問題。

您可以在類似以下內容的 statusReason 參數中看到錯誤訊息集。

CLIENT_ERROR - Unable to validate Kubernetes Namespace

如果以下任何一項為 true,可能會發生此問題:

  • 所以此 Kubernetes CreateComputeEnvironment 呼叫中的命名空間字串不存在。如需詳細資訊,請參閱 CreateComputeEnvironment

  • 管理命名空間所需的角色型存取控制 (RBAC) 許可未正確設定。

  • AWS Batch 無法存取 Amazon EKS Kubernetes API 伺服器端點。

若要解決此問題,請參閱 確認 aws-auth ConfigMap 已正確設定。如需詳細資訊,請參閱教學課程:Amazon AWS Batch 入門 EKS

已刪除的運算環境

假設您先刪除 Amazon EKS 叢集,然後再刪除 Amazon EKS 運算環境 AWS Batch 上連接的 。然後,運算環境狀態會變更為 INVALID。在此案例中,如果您以相同名稱重新建立 Amazon EKS 叢集,運算環境將無法正常運作。

若要解決此問題,請刪除並重新建立 Amazon EKS 運算環境 AWS Batch 上的 。

節點不會加入 Amazon EKS 叢集

AWS Batch 如果 Amazon EKS 上確定並非所有節點都加入 Amazon 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 EKS 時AMI,此問題最常見的原因如下: