Ansible

安装软件

yum install ansible -y

yum install libselinux-python -y

# ansible 需要 epel 源
# yum install epel-release -y

# 客户端需安装 libselinux-python

常用参数说明

参数
说明

-m

模块名

-a

模块的参数

-f

并发数

-i

指定主机列表文件(默认为 /etc/ansible/hosts)

--private-key

指定验证的私钥文件

命令使用示例

ansible web_server --private-key ~/.ssh/id_cluster -m command -a "free -m"

# web_server 为主机列表配置文件里的模块名称

主机列表配置

带密码验证信息的写法

主配置文件

使用 sed 命令一键完成

执行命令

使用密码

使用私钥

-m command 模块说明

模块使用

查看模块

查看指定模块的帮助信息

command 模块

shell 模块

copy 模块

script 模块

cron 模块

剧本

YAML文件开头需要先写三个减号---,多个分组信息需要间隔一致才能执行,上下也要对齐,后缀名一般为.yml

Playbook剧本文件的结构由四部分组成——target、variable、task、handler。target部分用于定义要执行剧本的主机节点范围、variable部分用于定义剧本执行时要用的变量、task部分用于定义将在远程主机上执行的任务列表、handler部分用于定义执行完成后需要调用的后续任务。

其中name字段代表此项Play(动作)的名字,可自行命名,没有限制,用于在执行过程中提示用户执行到了那一步,以及帮助管理员日后阅读时回忆起这段代码的作用。

hosts字段代表要在哪些主机节点上执行该剧本,多个主机组之间用逗号间隔,若需要对全部主机进行操作则用all参数。

tasks字段用于定义要执行的任务,每个任务都要有一个独立的name字段进行命名,并且每个任务的name字段和模块名称都要严格上下对齐,参数要单独缩进。

编写剧本

执行剧本

Last updated