Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Execute um job em um cluster serverless ACK

Última atualização: Jun 27, 2026

O ACK Serverless executa jobs em lote sob demanda. O faturamento cessa ao término do ciclo de vida do pod, o que elimina a necessidade de reservar nós ou expandir o cluster para picos de carga. Em tarefas em lote sensíveis a custos, use instâncias preemptíveis para reduzir ainda mais as despesas.

Pré-requisitos

Antes de começar, verifique se você:

Executar um job

Etapa 1: Crie o manifesto do job

Crie um arquivo chamado job.yaml com o seguinte conteúdo:

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

Este exemplo calcula pi com 2.000 casas decimais usando 16 CPUs e 32 GiB de memória.

Etapa 2: Implantar o job

kubectl apply -f job.yaml

Etapa 3: Visualize o status do job

Execute o comando a seguir para verificar o estado do pod:

kubectl get pod

Saída esperada:

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

Para visualizar detalhes sobre o estado do pod, execute este comando:

kubectl describe pod

Saída esperada:

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

Usar instâncias preemptíveis

Instâncias preemptíveis reduzem os custos de computação. Para usar uma instância preemptível, adicione a anotação k8s.aliyun.com/eci-spot-strategy: SpotAsPriceGo ao modelo de pod:

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

Para mais informações, consulte Usar instâncias preemptíveis.

Próximos passos