本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
教學課程:Amazon EKS AWS Batch 上的 入門 提供建立 EKS 運算環境的簡短指南。本節提供 Amazon EKS 運算環境的詳細資訊。

AWS Batch 透過提供受管批次功能,簡化 Amazon EKS 叢集上的批次工作負載。這包括佇列、相依性追蹤、受管任務重試和優先順序、Pod 管理和節點擴展。 AWS Batch 可以處理多個可用區域和多個 Amazon EC2 執行個體類型和大小。 AWS Batch 整合數個 Amazon EC2 Spot 最佳實務,以容錯方式執行工作負載,減少中斷。您可以使用 AWS Batch 來執行少量的夜間任務,或可放心地執行數百萬個關鍵任務。

AWS Batch 是一項受管服務,可協調Kubernetes叢集中由 Amazon Elastic Kubernetes Service (Amazon EKS) 管理的批次工作負載。 會使用「覆蓋」模型在叢集外部 AWS Batch 執行此協同運作。由於 AWS Batch 是受管服務,因此沒有Kubernetes元件 (例如 Operators 或 Custom Resources) 可在您的叢集中安裝或管理。 AWS Batch 只需要使用角色型存取控制 (RBAC) 來設定您的叢集, AWS Batch 以允許 與 Kubernetes API 伺服器通訊。 AWS Batch 呼叫 Kubernetes APIs Kubernetes 來建立、監控和刪除 Pod 和節點。
AWS Batch 具有內建擴展邏輯,可根據任務佇列負載擴展Kubernetes節點,並最佳化任務容量配置。當任務佇列為空時, 會將節點 AWS Batch 縮減到您設定的最小容量,預設為零。 會 AWS Batch 管理這些節點的完整生命週期,並使用標籤和污點裝飾節點。如此一來,其他Kubernetes工作負載就不會放置在 管理的節點上 AWS Batch。例外狀況是 DaemonSets
,其可以鎖定 AWS Batch 節點,以提供正確執行任務所需的監控和其他功能。此外, AWS Batch 不會在叢集中未管理的節點上執行任務,特別是 Pod。如此一來,您就可以為叢集上的其他應用程式使用單獨的擴展邏輯和服務。
若要提交任務給 AWS Batch,您可以直接與 AWS Batch API 互動。 會將任務 AWS Batch 轉換為 ,podspecs
然後建立請求,將 Pod 放置在 Amazon EKS 叢集 AWS Batch 中由 管理的節點上。您可以使用 等工具kubectl
來檢視執行中的 Pod 和節點。當 Pod 完成其執行時, 會 AWS Batch 刪除其建立的 Pod,以維持Kubernetes系統較低的負載。
您可以透過將有效的 Amazon EKS 叢集與 連線來開始使用 AWS Batch。然後將 AWS Batch 任務佇列連接到該任務佇列,並使用podspec
同等屬性註冊 Amazon EKS 任務定義。最後,使用參考任務定義的 SubmitJob API 操作提交任務。如需詳細資訊,請參閱教學課程:Amazon EKS AWS Batch 上的 入門。