时间:2021-05-22
本文实例讲述了Python自动化运维之Ansible定义主机与组规则操作。分享给大家供大家参考,具体如下:
一 点睛
Ansible通过定义好的主机与组规则(Inventory)对匹配的目标主机进行远程操作,配置规则文件默认是/etc/ansible/hosts。
二 定义主机与组
所有定义的主机与组规则都在/etc/Ansible/hosts文件中,为ini文件格式,主机可以用域名、IP、别名进行标识,其中webservers、dbservers 为组名,紧跟着的主机为其成员。格式如下:
mail.example.com192.168.1.21:2135[webservers]foo.example.combar.example.com192.168.1.22[dbservers]one.example.comtwo.example.comthree.example.com192.168.1.23其中,192.168.1.21:2135的意思是定义一个SSH服务端口为2135的主机。
当然我们也可以使用别名来描述一台主机。
jumper ansible_ssh_port=22 ansible_ssh_host=192.168.1.50jumper为定义的一个别名,ansible_ssh_port为主机SSH服务端口, ansible_ssh_host为目标主机。
更多变量说明如下:
ansible_ssh_host:连接目标主机的地址。
ansible_ssh_port:连接目标主机SSH端口,端口22无需指定。
ansible_ssh_user:连接目标主机默认用户。
ansible_ssh_pass:连接目标主机默认用户密码。
ansible_connection:目标主机连接类型,可以是local、ssh或 paramiko。
ansible_ssh_private_key_file:连接目标主机的ssh私钥。
ansible_*_interpreter:指定采用非Python的其他脚本语言,如 Ruby、Perl或其他类似ansible_python_interpreter解释器。
组成员主机名称支持正则描述,例如:
[webservers]halon_system_timeout=30self_destruct_countdown=60escape_pods=2[usa:children]southeastnortheastsouthwestsoutheast六 分离主机与组特定数据
为了更好规范定义的主机与组变量,Ansible支持 将/etc/ansible/hosts定义的主机名与组变量单独剥离出来存放到指定的文件中,将采用YAML格式存放,存放位置规定:“/etc/ansible/group_vars/+组名”和“/etc/ansible/host_vars/+主机名”分别存放指定组名或主机名定义的变量。
七 匹配目标
目标 (Patterns)匹配,格式为:ansible<pattern_goes_here>-m<module_name>-a<arguments>。
举例说明:重启webservers组的所有Apache服务。
ansible webservers -m service -a "name=httpd state=restarted"<pattern_goes_here>参数的使用方法,详细规则及含义见下表:
更多关于Python相关内容可查看本站专题:《Python Socket编程技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
第1章ansible软件概念说明python语言是运维人员必会的语言,而ansible是一个基于Python开发的自动化运维工具(saltstack)。其功能实
前言ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,
ansible是新出现的自动化运维工具,基于Python研发。整合了众多老牌运维工具的优点实现了批量操作系统配置、批量程序的部署、批量运行命令等功能,下面就看一
本文实例讲述了Python运维自动化之nginx配置文件对比操作。分享给大家供大家参考,具体如下:文件差异对比diff.py#!/usr/bin/envpyth
本文实例讲述了python自动化之Ansible的安装。分享给大家供大家参考,具体如下:一点睛Ansible只需在管理端部署环境即可,建议采用yum源方式来实现