Ansible 作用及部署
type
status
date
slug
summary
tags
category
icon
password

Ansible:Ansible核心程序。HostInventory:记录由Ansible管理的主机信息,包括端口、密码、ip等。Playbooks:“剧本”YAML格式文件,多个任务定义在一个文件中,定义主机需要调用哪些模块来完成的功能。CoreModules:核心模块,主要操作是通过调用核心模块来完成管理任务。CustomModules:自定义模块,完成核心模块无法完成的功能,支持多种语言。ConnectionPlugins:连接插件,Ansible和Host通信使用一、Ansible 简介
- 开发语言:Python
- 类型:轻量级自动化运维工具(对比 SaltStack 为中等重量,Puppet/Chef 为重量级)
- 核心作用:批量配置管理、应用部署、任务执行等
- 通信协议:基于 SSH,无需客户端(Agentless)
- 架构特点:无服务端(No Server)、无客户端(No Agent)
- 扩展性:提供丰富的 API 和模块
windows是否可以借助Ansible进行管控?
- Ansible 本身是 基于 SSH 的无代理管理工具,默认适用于 Linux/Unix。
- Windows 不使用 SSH(虽然 Win32-OpenSSH 可以启用 SSH),主要通过 WinRM(Windows Remote Management) 协议来远程管理。
- Ansible 的 Windows 模块都是以 WinRM 为通信基础,例如:
win_copywin_commandwin_shellwin_servicewin_package
二、Ansible 安装与部署
1. 配置 SSH 免密登录(推荐)
2. 安装 Ansible(CentOS 7 示例)
3. 配置主机清单(Inventory)
文件路径:
/etc/ansible/hosts3.1 未分组写法
3.2 分组写法
4. 测试连接
三、常见问题与解决
问题:非免密主机连接失败
若需使用密码连接,可在主机清单中指定:
错误提示:Host Key Checking 导致连接失败
错误信息:
“Using a SSH password instead of a key is not possible because Host Key checking is enabled...”
解决方法:
编辑
/etc/ansible/ansible.cfg,添加或修改:四、补充知识点
1. Ansible 核心组件
- Inventory:主机清单文件
- Playbook:剧本文件,用于定义任务(YAML 格式)
- Module:执行具体任务的模块(如
ping,copy,yum)
- Plugin:扩展功能(如回调、连接插件)
- Ad-Hoc 命令:临时执行命令,如
ansible web -a "df -h"
2. 常用模块示例
3. 配置文件优先级
Ansible 配置按以下顺序读取(后者覆盖前者):
- 环境变量
ANSIBLE_CONFIG
- 当前目录下的
ansible.cfg
- 用户家目录
~/.ansible.cfg
- 系统默认
/etc/ansible/ansible.cfg
五、注意事项
- 确保所有被管理主机 SSH 端口可达
- 若使用密码连接,建议使用
ansible-vault加密密码
- 生产环境中建议使用 SSH 密钥认证,提高安全性
Loading...