最近更新时间:2024.04.26 15:29:00
首次发布时间:2024.01.19 14:39:14
分布式云原生平台联邦资源支持 dryrun 返回调度结果,对于特定资源,实际调度前仅展示调度结果,并不会直接分发到具体集群。本文为您介绍使用联邦资源 dryrun 功能。
dryrun 是一种联邦资源预部署机制。对于特定资源或特定场景,若要求实际调度前仅展示调度结果,并不会分发到具体集群中,待调度结果后,再决定是否下发到具体集群,即可使用 dryrun 返回调度结果进行预部署。
例如:用户尚未下发联邦应用时,打上 dryrun 注解,调度器计算的调度结果将不会下发到应用;删除注解后,应用将会按照当前展示的调度结果下发到成员集群。
跟随调度场景下,dryrun 生效策略如下:
场景 | 说明 |
---|---|
leader dryrun 生效;follower 未置 dryrun | follower 不会被 leader 关联 dryrun,因此,不会被下发到成员集群。 |
leader 未置 dryrun;follower dryRun 生效 | leader 正常下发,但 follower 未下发,预部署的数量为跟随调度下发的集群的数量。 |
dryrun 仅在尚未下发应用时生效,若用户已下发应用则无法生效。
dryrun 功能由 Annotation kubeadmiral.io/dry-run: true
控制,通过以下方式和步骤为联邦资源添加此 Annotation 即可。本文以创建任务为例进行介绍,其他联邦资源的操作入口不同但操作方式相同。
kubeadmiral.io/dry-run: true
注解,其他参数和步骤按需配置即可。kubeadmiral.io/dry-run: true
,其他参数和步骤按需配置即可。Yaml 示例如下:
apiVersion: batch/v1 kind: Job metadata: name: job-mlt namespace: default annotations: kubeadmiral.io/dry-run: "true" # dryrun 功能开关,添加此 Annotation 表示开启功能。 spec: template: spec: containers: - name: pi image: perl command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"] restartPolicy: Never backoffLimit: 4
联邦资源创建完成后,可在资源列表查看集群分发状态,单击 查看 可预览详细调度结果。
若调度结果符合预期,可前往资源 更新 或 编辑 Yaml 页面,删除注解(Annotation)kubeadmiral.io/dry-run: true
,应用将会按照当前展示的调度结果下发到成员集群。
...
中的 更新 或 编辑 Yaml,删除注解并保存配置,应用将会按照当前展示的调度结果下发到成员集群。