kubekey/docs/zh/004-task.md
zuoxuesong-worker 516bd99af8
bugfix:change k8s default config image tags (#2736)
bugfix:change k8s default config image tags



bugfix: change k8s default config image tags

Signed-off-by: xuesongzuo@yunify.com <xuesongzuo@yunify.com>
2025-08-29 05:44:59 +00:00

3.2 KiB
Raw Permalink Blame History

任务

task分为单层级task,和多层级task 单层级task: 包含 module 相关字段, 不包含block字段. 一个task只能包含一个module.
多层级task: 不包含 module 相关字段, 包含block字段.
task执行时, 会在定义的host分别上执行.

文件定义

- include_tasks: other/task.yaml
  tags: ["always"]
  when: true
  run_once: false
  ignore_errors: false
  vars: {a: b}
  
- name: Block Name
  tags: ["always"]
  when: true
  run_once: false
  ignore_errors: false
  vars: {a: b}
  block:
    - name: Task Name
      [module]
  rescue:
    - name: Task Name
      [module]
  always:
    - name: Task Name
      [module]
  
- name: Task Name
  tags: ["always"]
  when: true
  loop: [""]
  [module]

include_tasks: 该任务中引用其他任务模板文件.
name: task名称, 非必填.
tags: task的标签, 非必填. 仅作用于playbook, playbook下的role, task不会继承该标签.
when: 执行条件, 可以定义单个值(字符串)或多个值(数组), 非必填, 默认执行该role. 值采用模板语法编写, 对每个的host单独计算值.
failed_when: 失败条件, host满足该条件时,判定为执行失败, 可以定义单个值(字符串)或多个值(数组), 非必填. 值采用模板语法编写, 对每个的host单独计算值.
run_once: 是否只执行一次, 非必填, 默认false, 会在第一个hosts上执行.
ignore_errors: 是否忽略失败, 非必填, 默认false.
vars: 配置默认参数, 非必填, yaml格式.
loop: 循环执行module中定义的操作, 每次执行时,以item: loop-value的形式将值传递给module. 可以定义单个值(字符串)或多个值(数组), 非必填, 值采用模板语法编写, 对每个的host单独计算值.
retries: task执行失败时. 需要重新尝试几次.
register: 值为字符串, 将任务执行结果注册到variable中, 传递给后续的task. register包含两个子字段

  • stderr: 失败输出
  • stdout: 成功输出 register_type: 注册register中stderr和stdout的格式。
  • string: 默认,以字符串的格式注册。
  • json: 以json的格式注册。
  • yaml: 以yaml的格式注册。 block: task集合, 非必填(当未定义module相关字段时, 必填), 一定会执行.
    rescue: task集合, 非必填, 当block执行失败(task集合有一个执行失败即为该block失败)时,执行该task集合.
    always: task集合, 非必填, 当block和rescue执行完毕后(无论成功失败)都会执行该task集合.
    module: task实际要执行的操作, 非必填(当未block字段时, 必填).map格式的数据, key为module_name, value为args. 可用的module需提前在项目中进行注册。已注册的module如下
  • add_hostvars
  • assert
  • command
  • copy
  • debug
  • fetch
  • gen_cert
  • image
  • prometheus
  • result
  • set_fact
  • setup
  • template
  • include_vars