返回列表 发新帖

ansible playbook 调用playbook_Ansible

[复制链接]

36

主题

90

帖子

143

积分

注册会员

Rank: 2

积分
143
发表于 2024-10-9 02:36:28  | 显示全部楼层 | 阅读模式
Ansible playbook 是一种用于自动化配置管理和应用部署的编程语言。通过调用 playbook_Ansible,可以实现对多台主机进行集中管理和操作,简化了系统管理员的工作负担。
在Ansible中,可以使用playbook来定义一组任务,然后通过调用这个playbook来执行这些任务,以下是一个简单的示例:

zbhjh4b2fmgfrum.png

zbhjh4b2fmgfrum.png


(图片来源网络,侵删)
1、创建一个名为playbook_Ansible.yml的playbook文件,内容如下:

name: Playbook Ansible
  hosts: all
  tasks:
    name: Task 1 安装软件包
      apt:
        name: "{{ package_name }}"
        state: present
      register: package_result
    name: Task 2 检查软件包是否安装成功
      debug:
        msg: "软件包 {{ package_name }} 已安装"
      when: package_result is changed
在这个playbook中,我们定义了两个任务:安装一个软件包(使用apt模块)和检查软件包是否安装成功(使用debug模块)。
2、在命令行中运行以下命令来调用这个playbook:

ansibleplaybook playbook_Ansible.yml e "package_name=nginx"
在这个命令中,我们使用e选项来传递变量package_name的值给playbook,在这个例子中,我们将软件包名称设置为nginx。
3、Ansible将按照playbook中定义的任务顺序执行这些任务,并在完成后输出结果,如果所有任务都成功完成,你将看到类似以下的输出:

PLAY [Playbook Ansible] *************************************************************************************************************************** ansibleplaybook 2.9.6
[...]
TASK [Task 1 安装软件包] *********************************************************************************************************************** ansiblegalaxyroles 0.5.0
...
TASK [Task 2 检查软件包是否安装成功] ***************************************************************************************************** ansiblegalaxyroles 0.5.0
ok: [localhost] => (item=nginx) => {
    "msg": "软件包 nginx 已安装"
}
...

以下是一个简化的介绍,描述了如何在Ansible中调用一个Playbook(假设为playbook_Ansible.yml)。

zbhj1svojjl01yu.jpg

zbhj1svojjl01yu.jpg


(图片来源网络,侵删)
| 调用方式 | 示例命令 |
| | |
| 基础调用 |ansibleplaybook playbook_Ansible.yml |
| 指定inventory |ansibleplaybook i /path/to/inventory playbook_Ansible.yml |
| 传递变量 |ansibleplaybook e "key=value" playbook_Ansible.yml |
| 详细输出 |ansibleplaybook v playbook_Ansible.yml |
| 限制主机 |ansibleplaybook l group_name playbook_Ansible.yml |
| 使用Vault |ansibleplaybook askvaultpass playbook_Ansible.yml |
参数/步骤 说明
Playbook 文件名 playbook_Ansible.yml
Ansible 命令ansibleplaybook
命令参数
i 指定inventory文件路径,默认为/etc/ansible/hosts
e 传递变量到Playbook
extravars 同e,以键值对形式传递变量
v 开启详细输出(verbose mode)
askvaultpass 如果Playbook中有加密的变量,需要输入Vault密码
l 指定要运行的特定主机或主机组
limit 同l,限制运行Playbook的主机范围
调用示例

这个介绍提供了一个基本的框架,你可以根据需要添加更多参数或调整命令,记得,对于每个Playbook的执行,你可能需要根据你的环境或特定需求调整命令行参数。

zbhjpsdfhdev0ky.png

zbhjpsdfhdev0ky.png


(图片来源网络,侵删)
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表