ansible介绍
Ansible 简单的说是一个配置管理系统,你只需要可以使用 ssh 访问你的服务器或设备就行。你可以将代码部署到任意数量的服务器上.
ansible 架构图
Ansible主要组成部分功能说明
|
|
注意事项:
- 执行ansible的主机一般称为主控端,中控,master或堡垒机
- 主控端Python版本需要2.6或以上
- 被控端Python版本小于2.4需要安装python-simplejson
- 被控端如开启SELinux需要安装libselinux-python
- windows不能做为主控端
- 如果通过ssh进行连接,需在被控端的authorized_keys中添加主控端的公钥id_rsa.pub的内容,通过
ssh-keygen
来生成公钥,通过ssh-copy-id -i 公钥路径 -p 端口号 ip
来对被控端添加主控端的公钥
安装ansible
这里管理主机使用的是centos系统,使用以下命令进行安装ansible
sudo yum install ansible -y
安装完成后
ansible --version
配置文件
配置文件或指令 | 描述 |
---|---|
/etc/ansible/ansible.cfg | 主配置文件,配置ansible工作特性 |
/etc/ansible/hosts | 主机清单 |
/etc/ansible/roles/ | 存放角色的目录 |
/usr/bin/ansible | 主程序,临时命令执行工具 |
/usr/bin/ansible-doc | 查看配置文档,模块功能查看工具 |
/usr/bin/ansible-galaxy | 下载/上传优秀代码或Roles模块的官网平台 |
/usr/bin/ansible-playbook | 定制自动化任务,编排剧本工具 |
/usr/bin/ansible-pull | 远程执行命令的工具 |
/usr/bin/ansible-vault | 文件加密工具 |
/usr/bin/ansible-console | 基于Console界面与用户交互的执行工具 |
Inventory
Ansible 可同时操作属于一个组的多台主机,组和主机之间的关系通过 inventory 文件配置. 默认的文件路径为 /etc/ansible/hosts
Inventory参数说明
|
|
Ansible常用命令语法
|
|
Ansible 常用模块
- ping模块
- raw模块
- yum模块
- apt模块
- pip模块
- synchronize模块
- template模块
- copy模块
- user 模块与group模块
- service 模块
- get_url 模块
- fetch模块
- file模块
- unarchive模块
- command 模块和shell