实施Ansible Playbook

目录

1.定义清单

2.使用静态清单指定受管主机

3.动态主机清单

4.配置Ansible

5.ansible.cfg文件的内容组成

6.配置连接

[7.ansible playbook的作用与格式](#7.ansible playbook的作用与格式)

8.模块的命名

9.运行playbook

10.play中的特权升级

1.定义清单

(1)主机清单(inventory)定义Ansible所管理的主机

(2)主机可以从属于组,后者通常用于标识主机的角色

(3)一个主机可以属于多个组

(4)可以通过两种方式定义主机清单:通过文本文件定义静态主机清单,或从(5)外部provider生成动态主机清单

2.使用静态清单指定受管主机

(1)Ansible静态主机清单在INI和YAML格式文本文件中定义

(2)格式:

每一部分的开头为方括号\[\]括起来的主机组名称

其后是主机条目,他们列出组中的每一台受管主机,各自占据一行

主机条目由受管主机的主机名称或IP地址组成

主机条目也可以定义Ansible与受管主机的通信方式,其中包含传输和用户账号信息

(3)可使用ansible-navigator inventory命令验证计算机是否存在于清单中

(4)覆盖Inventory的默认位置:

一般将inventory定义到工作目录中,也可以在配置文件中指定其他位置来获取清单文件

(5)运行playbook时使用的ansible-navigator命令可通过--inventory

3.动态主机清单

覆盖主机清单的默认位置:

(1)Ansible的主机清单可以动态生成,其中的信息包括Cobbler系统信息和LDAP数据库和配置管理数据库(CMDB)

(2)Ansible含有处理来自最常见提供商的动态主机、组和变量信息的脚本

(3)对云提供商,必须在脚本能够访问的文件中定义身份验证和访问权限信息

4.配置Ansible

可以使用ansible.cfg和ansible-navigator.yml文件来配置ansible

5.ansible.cfg文件的内容组成

该文件由几个部分组成,每个部分以键值对的形式定义。

基本配置包括两部分:

(1)defaults:设置Ansible的默认值

(2)privilege_escalation:配置Ansible如何在受管主机上执行特权升级

使用ansible-navigator config 命令可以显示当前Ansible配置(交互模式)

如果项目目录中不含ansible.cfg文件,Ansible会查询用户主目录中的~/.ansible.cfg文件,如果该文件不存在,则会尝试使用/etc/ansible/ansible.cfg文件。如果使用ansible-navigator,则该命令会在自动执行环境中查找以上这些文件。

6.配置连接

Ansible需要知道如何与受控节点通信,可在配置文件中设置:

  1. inventory的地址
  2. 与受控节点的连接方式,默认为SSH
  3. 受控节点上的远程用户名,可能是root,也可能是普通用户
  4. 如果是普通用户,需要知道如何提权成为root
  5. 提权时是否需要提示输入sudo密码

7.ansible playbook的作用与格式

(1)Ansible使用playbook可重复地对一组目标主机运行多项复杂任务

(2)任务指应用模块来执行特定工作单元

(3)一个playbook包含多个play,一个play包含多个task,都是按顺序执行

playbook的格式:采用YAML格式的文本文件,里面的内容是以键值对形式表示

YAML对缩进的基本规则:

  1. 层级结构中相同级别的数据元素必须具有相同的缩进
  2. 子项必须比其父项缩进得更多

playbook以三个破折号作为文档的开始标记,以三个点作为文档的结尾标记

8.模块的命名

模块将使用完全限定集合名称(FQCN)来命名。两个Ansible内容集合中的不同模块也可以用相同名称,不会导致冲突。

9.运行playbook

在控制节点上使用ansible-navigator run命令执行playbook

10.play中的特权升级

become布尔值参数可用于启用或禁止特权升级

如果启用了特权升级,可使用become_method属性来定义play要使用的特权升级方法。

become_user属性可以用于特权升级的用户账户

相关推荐
Hy行者勇哥5 天前
用Cursor智能编写Ansible/Terraform脚本,打通CI/CD链路
ci/cd·ansible·terraform
芷栀夏7 天前
飞牛NAS怎么部署Immich?家庭照片自动备份与远程访问教程
服务器·nginx·ansible
悠然南风17 天前
Ansible常见模块总结及LDAP Role 编写与调试
ansible
祺风挽楠1 个月前
ansible编辑
网络·ansible
芳心粽伙饭1 个月前
Ansible课后作业
ansible
烁3471 个月前
Ansible初识
ansible
烁3471 个月前
Ansible安装部署调试
ansible
烁3471 个月前
Ansible命令
ansible
小义_1 个月前
【Ansible】(三)基础配置与连接设置
云原生·ansible
炸炸鱼.1 个月前
Ansible 企业级实战:Playbook 与 Roles 完全指南
网络·ansible