考点精讲
- 自动化运维平台 C/S 架构,Ansible 是 Python 开发、无需客户端、用 YAML。Ansible 基于模块工作,本身无批量部署能力。三种连接 local/SSH/ZeroMQ,默认 SSH。yum install ansible(epel 源)或 pip。配置 /etc/ansible/(ansible.cfg、hosts、roles)。inventory 主机清单([webserver]/[dbserver])。免密 ssh-keygen -t rsa、ssh-copy-id。ansible-doc 查模块、ansible host -m ping 测试连通。模块 file/yum/cron/copy/command/service/user/setup/mount。playbook(YAML)含 hosts/remote_user/tasks/handlers/tags。
- 前后置引导:前置:先掌握「ISCSI 存储服务」(KYCP08 ISCSI存储服务),本页在其基础上展开。;后置:本页为课程收尾,建议进入 KYCP 综合实战(KYCP综合实战.pdf)巩固全课。
记忆技巧
Ansible「无代理、靠 SSH、写 YAML」;测试连通 ansible host -m ping。
常见误区
- 误以为 Ansible 需装客户端(实际无代理,靠 SSH)
- 忘记免密配置导致批量执行失败
- command 模块不支持管道/重定向等 shell 特性
真题思路
- 【示例】 Ansible 控制主机与被管理节点之间,默认使用哪种连接方式?
local SSH ZeroMQ HTTP
答案:B
解析:Ansible 三种连接 local/SSH/ZeroMQ,默认 SSH(讲义 KYCP9 Ansible 自动化运维)。
常见问题
Q:Ansible 为什么不需要客户端?
A:它基于 SSH 连接远程主机,通过模块执行任务,无需在客户端装 agent。(解析:无代理架构。)
Q:Ansible 的配置和清单文件在哪?
A:/etc/ansible/ 下的 ansible.cfg 与 hosts。(解析:配置路径。)
Q:测试被管理主机连通性用什么?
A:ansible 主机 -m ping。(解析:连通测试。)
Q:playbook 用什么语言编写?
A:YAML,含 hosts/tasks/handlers 等。(解析:playbook 格式。)
相关知识
教材出处:KYCP9 Ansible自动化运维 Ansible 自动化运维