本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
非托管计算环境
在非托管计算环境中,您可以管理自己的计算资源。 AWS Batch 支持 Amazon ECS 和 Amazon EKS 的非托管计算环境,允许您在利用 Batch 的任务调度功能的同时保持对基础设施的控制。
注意
AWS 非托管计算环境不支持 Fargate 资源。
非托管的 Amazon ECS 计算环境
对于非托管的 Amazon ECS 计算环境,您必须验证用于计算资源的 AMI 是否符合 Amazon ECS 容器实例 AMI 规范。有关更多信息,请参阅计算资源 &AMI; 规范和教程:创建计算资源 AMI。
创建非托管计算环境后,使用 DescribeComputeEnvironments API 操作查看计算环境的详细信息。找到与环境相关联的 Amazon ECS 集群,然后手动在该 Amazon ECS 集群中启动容器实例。
以下 AWS CLI 命令还提供了 Amazon ECS 集群 ARN。
$aws batch describe-compute-environments \ --compute-environmentsunmanagedCE\ --query "computeEnvironments[].ecsClusterArn"
有关更多信息,请参阅 Amazon Elastic Container Service 开发人员指南中的启动 Amazon ECS 容器实例。启动计算资源时,请指定 Amazon ECS 集群 ARN,以便资源使用以下 Amazon EC2 用户数据注册。ecsClusterArn替换为您使用先前命令获得的集群 ARN。
#!/bin/bash echo "ECS_CLUSTER=ecsClusterArn" >> /etc/ecs/ecs.config
非托管的 Amazon EKS 计算环境
在非托管的 Amazon EKS 计算环境中,您可以管理自己的 Kubernetes 节点,同时 AWS Batch 处理任务调度和安置。它允许您直接控制您的 Kubernetes 基础架构,以满足安全性、合规性或运营要求。您负责预置和配置您的亚马逊 EKS 节点,同时与现有的 Amazon EKS 集群 AWS Batch 集成以安排和运行任务。
有关更多信息,请参阅教程:使用 Amazon EKS 资源创建非托管计算环境。
亚马逊 EKS 自动模式兼容性
AWS Batch 目前无法在亚马逊 EKS 自动模式工作节点上运行任务——非托管 AWS Batch的 Amazon EKS 计算环境需要持久的、带有客户标签的节点,而自动模式则根据待处理的吊舱压力通过 Karpenter 动态配置节点。
非托管的 Amazon EKS 计算环境可以与为其他工作负载启用自动模式的 Amazon EKS 集群共存,只要 AWS Batch 计算环境指向不受自动模式管理的专用节点组即可。自动模式将继续独立管理非AWS Batch 工作负载,不会干扰 AWS Batch 节点组。