实施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属性可以用于特权升级的用户账户

相关推荐
鲸屿1953 天前
Ansible之playbook
服务器·网络·ansible
Sweety丶╮7943 天前
【Ansible】的介绍
云原生·ansible
知白守黑2673 天前
Ansible角色
运维·服务器·ansible
Sweety丶╮7944 天前
【Ansible】实施 Ansible Playbook知识点
服务器·云原生·ansible
YC运维5 天前
Ansible题目全解析与答案
java·算法·ansible
--运维实习生--6 天前
自动化运维之ansible
运维·自动化·ansible
神秘人X7077 天前
Ansible 角色使用指南
ansible·角色
维尔切7 天前
自动化运维-ansible中对于大项目的管理
运维·自动化·ansible
Gss7777 天前
ansible变量+管理机密
linux·运维·ansible