Amazon EKS 作业
作业是 AWS Batch 中最小的工作单位。Amazon EKS 上的 AWS Batch 作业对 Kubernetes 容器组(pod)进行一对一映射。AWS Batch 作业定义是 AWS Batch 作业的模板。提交 AWS Batch 作业时,您可以引用作业定义、定位作业队列并提供作业名称。在 Amazon EKS 上 AWS Batch 作业的任务定义中,eksProperties 参数定义了 Amazon EKS 作业上 AWS Batch 支持的一组参数。在 SubmitJob 请求中,eksPropertiesOverride 参数允许覆盖某些常用参数。这样,您就可以为多个作业使用作业定义模板。将作业分派到您的 Amazon EKS 集群时,AWS Batch 会将该作业转换为 podspec (Kind: Pod)。podspec 使用一些附加 AWS Batch 参数来确保作业的扩展和调度正确。AWS Batch 结合标签和污点确保作业仅在 AWS Batch 托管节点上运行,而其他容器组(pod)不会在这些节点上运行。
重要
-
如果未在 Amazon EKS 作业定义中明确设置
hostNetwork参数,则默认情况下 AWS Batch 中的容器组(pod)联网模式为主机模式。更具体地说,将应用以下设置:hostNetwork=true和dnsPolicy=ClusterFirstWithHostNet。 -
在容器组(pod)完成作业后,AWS Batch 立即清理作业容器组(pod)。要查看容器组(pod)应用程序日志,请为您的集群配置日志服务。有关更多信息,请参阅 使用 CloudWatch Logs 监控 Amazon EKS 作业的 AWS Batch。
AWS Batch Amazon EKS 作业支持的功能
以下是在 Amazon EKS 上运行的 Kubernetes 作业也很常见的 AWS Batch 特定功能:
KubernetesSecrets 和 ServiceAccounts
AWS Batch支持引用KubernetesSecrets和ServiceAccounts。您可以配置容器组(pod)将 Amazon EKS IAmazon EKS IAM 角色用于服务账户。有关更多信息,请参阅 Amazon EKS 用户指南中的将容器组(pod)配置为使用Kubernetes服务账户。