すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:ACK Serverless を使用したジョブの実行

最終更新日:Mar 26, 2026

ACK Serverless は、オンデマンドでバッチジョブを実行します。Pod のライフサイクルが終了すると課金が停止するため、バーストワークロードに対してノードを予約したりクラスターを拡張したりする必要はありません。コストに敏感なバッチタスクでは、プリエンプティブルインスタンスを使用することでさらにコストを削減できます。

前提条件

作業を開始する前に、以下の要件を満たしていることを確認してください。

ジョブの実行

手順 1:ジョブマニフェストの作成

以下の内容で job.yaml という名前のファイルを作成します。

apiVersion: batch/v1
kind: Job
metadata:
  name: pi
spec:
  template:
    spec:
      containers:
      - name: pi
        image: perl
        command: ["perl",  "-Mbignum=bpi", "-wle", "print bpi(2000)"]
        resources:
          requests:
            cpu: 16
            memory: 32Gi
      restartPolicy: Never
  backoffLimit: 4

この例では、16 CPU と 32 GiB のメモリを使用して円周率を小数点以下 2,000 桁まで計算します。

手順 2:ジョブのデプロイ

kubectl apply -f job.yaml

手順 3:ジョブステータスの確認

次のコマンドを実行して Pod の状態を確認します。

kubectl get pod

期待される出力:

NAME       READY   STATUS      RESTARTS   AGE
pi-4f7w5   0/1     Completed   0          80s

次のコマンドを実行して、Pod の状態に関する詳細情報を表示します。

kubectl describe pod

期待される出力:

Name:               pi-4f7w5
Namespace:          default
Priority:           0
PriorityClassName:  <none>
Node:               virtual-kubelet-cn-hongkong-b/10.10.66.169
...
Events:
  Type    Reason                 Age   From          Message
  ----    ------                 ----  ----          -------
  Normal  SuccessfulMountVolume  114s  kubelet, eci  MountVolume.SetUp succeeded for volume "default-token-8k4jz"
  Normal  Pulling                113s  kubelet, eci  pulling image "perl"
  Normal  Pulled                 64s   kubelet, eci  Successfully pulled image "perl"
  Normal  Created                64s   kubelet, eci  Created container
  Normal  Started                64s   kubelet, eci  Started container

プリエンプティブルインスタンスの使用

プリエンプティブルインスタンスを使用すると、コンピューティングコストを削減できます。プリエンプティブルインスタンスを使用するには、Pod テンプレートにアノテーション k8s.aliyun.com/eci-spot-strategy: SpotAsPriceGo を追加します。

apiVersion: batch/v1
kind: Job
metadata:
  name: pi
spec:
  template:
    metadata:
      annotations:
        k8s.aliyun.com/eci-spot-strategy: SpotAsPriceGo
    spec:
      containers:
      - name: pi
        image: perl
        command: ["perl",  "-Mbignum=bpi", "-wle", "print bpi(2000)"]
        resources:
          requests:
            cpu: 16
            memory: 32Gi
      restartPolicy: Never
  backoffLimit: 4

詳細については、「プリエンプティブルインスタンスの使用」をご参照ください。

次のステップ