我有一个 ansible 剧本,大致如下:
- hosts: firstNode
tasks:
- name: create cluster
shell: "cluster create command"
- hosts: otherNodes
serial: 1
tasks:
- name: joining cluster
shell: "cluster join command"
firstNode
始终是单个主机,但otherNodes
可以是任意数字。每个命令都按顺序执行很重要。我现在想在每个命令之前和之后插入一个作业,join command
以确保一切正常,因此对于 3 节点集群,顺序将是按顺序执行以下作业
- 主机 1-创建集群
- 主机 2-检查集群状态
- 主机 2-加入集群
- 主机 2-检查节点状态
- 主机 3-检查集群状态
- 主机 3-加入集群
- 主机 3-检查节点状态
使用 ansible 可以实现这个吗?
答案1
只需将您的命令添加到任务块即可:
- hosts: firstNode
tasks:
- name: create cluster
shell: "cluster create command"
- hosts: otherNodes
serial: 1
tasks:
- name: check cluster
shell: "check cluster command"
- name: joining cluster
shell: "cluster join command"
- name: check node
shell: "check node command"