简介基于python开发,可实现批量系统配置、程序部署、运行命令的自动化运维工具基础框架Ansible:运行在中心机上;ConnectionPlugins:连接插件,主要用于本地与操作端的连接和通信;HostInventory:指定操作的主机为配置文件中定义的用于监控的主机;模块:核心模块、自定义模块等;Plugins:使用插件完成记录日志、邮件等功能;Playbooks:执行多任务,通过SSH部署模块到节点,可以安装多个节点,也可以安装单节点sudoaptinstall-yansible#验证ansible的安装--versionInventoryAnsible可以在单机或者多机或者一些机器同时通过Inventory发现MachineInventory默认保存在/etc/ansible/hosts配置文件中#Hostconnectionansible_connection与主机的连接类型,任何可能的连接插件名称,例如SSH协议type:ssh,smartorparamiko#通用连接ansible_host连接主机名ansible_portssh端口号ansible_user默认ssh用户名#具体SSH连接ansible_ssh_passssh密码ansible_ssh_private_key_filesshplaybook使用的私钥文件介绍使用yaml格式的声明式配置文件用于ansible配置与主机部署相关的资源(部署机器、部署动作等)基本结构Playbook由一个或多个任务组成一个任务包含几个模块----hosts:host1,host2,...#表示一个或多个主机或组remote_user:root#表示远程登录用户名become:yes#表示权限提升是允许的,默认的权限提升用户是root。如果不想以root身份执行任务,则需要使用另一个关键字become_user,become_user决定了执行任务的用户身份vars:#定义变量http_port:80tasks:#Taskgroup-name:Installthepackage"bc"#一般一个任务有一个名字apt:name:bcstate:presenthandlers:-name:restartbcservice:name:bcstate:restarted...容易开始----hosts:localhosttasks:-name:testconnectionping:#pingmodule...$ansible-playbookping.yaml播放***********************************************************************************任务[设置]***************************************************************************确定:[localhost]TASK[testping]*******************************************************************好的:[本地主机]播放回顾***********************************************************************localhost:ok=2changed=0unreachable=0失败=0
