在 AKS 中使用 spot 实例时,可以通过在容器组规格中设置 priority 字段来定义实例的优先级。例如,以下 YAML 文件中,设置了两个容器组,其中一个的 priority 为 0,另一个为 1。在具有相同标记的 spot 实例池中,优先级更高的容器组将首先获得实例分配。
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: myjob
spec:
schedule: "0/2 * * * *"
jobTemplate:
spec:
template:
spec:
priorityClassName: spot-priority
containers:
- name: mycontainer
image: mycontainerimage
resources:
limits:
cpu: 2
memory: 2Gi
requests:
cpu: 1
memory: 1Gi
nodeSelector:
kubernetes.io/os: linux
tolerations:
- key: "node.kubernetes.io/not-ready"
operator: "Exists"
effect: "NoSchedule"
- key: "node.kubernetes.io/unreachable"
operator: "Exists"
effect: "NoExecute"
- key: "spot-deploy"
operator: "Equal"
value: "true"
priority: 1
metadata:
labels:
app: myjob