在 EXAMPLE 上获得 JOB_COMPLETION_INDEX

Get JOB_COMPLETION_INDEX on EKS

我是 Kubernetes 和 AWS 的新手,我遇到了问题。我正在尝试在 EKS 集群上 运行 并行 Kubernetes 作业。如何获取环境变量JOB_COMPLETION_INDEX? 我之前用 Minikube “本地”测试了我的 Java 代码,一切正常。但是当我切换到 EKS 集群时,System.getenv("JOB_COMPLETION_INDEX") = null。我错过了什么?我做错了什么?

我使用的是 EKS 版本 1.21.2。

apiVersion: batch/v1
kind: Job
metadata:
  name: calculator
  labels:
    jobgroup: calculator
spec:
  parallelism: 2
  completions: 4
  completionMode: Indexed
  template:
    metadata:
      name: calculator
    spec:
      containers:
        - name: calculater
          image: fbaensch/calculator_test:latest
          imagePullPolicy: Always
      restartPolicy: Never

EKS 不支持 1.22https://docs.aws.amazon.com/eks/latest/userguide/kubernetes-versions.html

版本

此功能仅在 1.22 K8s 版本中可用

您可以在以下位置查看问题状态:https://github.com/aws/containers-roadmap/issues/1397

K8s 文档:https://kubernetes.io/blog/2021/04/19/introducing-indexed-jobs/

如果你只想在 K8s 上尝试,我建议你查看 GKE。

GKE 快速通道具有 1.22 和 1.23 发布选项。

GKE 快速通道发行说明https://cloud.google.com/kubernetes-engine/docs/release-notes-rapid

这是 v1.22 测试版功能,目前在 EKS v1 上不可用。21.x。