自动化运维工具 Ansible 日常维护和使用.docx
《自动化运维工具 Ansible 日常维护和使用.docx》由会员分享,可在线阅读,更多相关《自动化运维工具 Ansible 日常维护和使用.docx(12页珍藏版)》请在第壹文秘上搜索。
1、Inventory文件在日常维护中,AnSibIe通过Inventory(可管理的主机集合),对远端服务器或者主机进行统一操作和管理.在Ansible中,描述主机的默认方法是将他们列在一个文本文件中,这个文件称为InVentory文件,默认的路径和文件为:etcansiblehosts,可以通过ANSIB1.E.HOSTS环境变量来指定,也可以在ansible.cfg文件中通过inventory参数指定,或者在运行ansible和ansible-playbook的时候使用-i参数来临时指定。下面举例说明,如何在inventory组件的etcansiblehosts文件中定义主机和主机组:1 X
2、.X.X.100ansible_ssh_PaSS=123456,2 groupame13 X.X.X.101:94 X.X.X.201:95 groupame1:vars6 ansible_ssh_pass=*123456,7 groupname2:children8 groupame1第一行定义了一个主机XXX100,并使用inventory内置变量ansible_ssh_pass定义了该主机的登录密码,如果建立了互信,则不需要这个参数;参数用途HnSibIe_ssh_host定义hostSSh地址ansible_ssh_port定义hostsssh端口ansible_ssh_user定义h
3、ostsSSh认证用户ansib1JSSh_pass定义hostsSSh认证密码ansible_sudo定义hostsSUdO用户asible_sudo_pass定义hoslsSUdO密码ansible_sudoexe定义hostssudo路径ansible_connection定义hosts连接方式ansible_ssh_private_key_fiIe定义hosts私物ansible_shell_type定义hostsshell类型ansible_PythOnjnterPreter定义hosts任务执行python路径ansibIe_*_inlerpreter定义hosts其他语言解析器路
4、径我们也可以在ansible.cfg文件中的defaults部分更改一些Inventory内置参数的默认值,可以支持更改的有:Inventory内置参数ansible.cfg参数HnSibleSShPOrtremoteportHnSible_sshuserremote_usera11siblesshprivatekeyfileprivate_key_fiIeansible-shell_typoexecutable动态Inventory在实际的应用中,会存在大量的主机列表信息,如果手动维护Ansible中的Inventory文件将会非常的繁琐所以支持动态Inventory将会让问题变得统一、清淅
5、、简单许多.动态InVentory也就是AnSible所有的InVentory文件里面的主机列表和变量信息都支持从外部拉取,例如我们常用的CMDB,我们可以通过定义的脚本,将外部CMDB等其他运维系统中的主机信息同步至Ansible中.在ansibleip-mcommand-adate-o值得注意的是,Ansible默认的模块是Command,所以上面的命令可以简化为:ansibleip-adate-o第二种方式是利用Shell模块切换到某个Shell执行远程主机上的Shell/Python脚本,或者执行命令,Shell支持管道命令,功能较Command更强大灵活,例如:ansibleip-m
6、shell-abashroottest.sh,-oansibleip-mshell-aecho123456,passwd-stdinroot第三种方式是利用RaW模块Raw支持管道命令.Raw有很多地方和SheIl类似,但是如果是使用老版本Python(低于2.4),无法通过Ansible的其他模块执行命令,则需要先用到Raw模块远程安装PythOn-Sim-PlejSon后才能受管;又或者是受管端是路由设备,因为没有安装Python环境,那就更需要使用RaW模块去管控了.例如:ansibleip-mraw-a,cd/tmp;pwd-第四种方式是利用SCriPt模块,传输Ansible中控端上
7、的Shell/Python脚本到远端主机上执行,即使远端主机没有安装Python也可以执行,有点类似RaW模块.但Script只能执行脚本,不能调用其他指令,且不支持管道命令,例如:ansibleip-mscript-aroottest.sh-o在AnsibleAd-Hoc中,可以通过User模块帮助我们管理远程主机上的用户,比如创建用户、修改用户、删除用户、为用户创建密钥对等操作.该模块的几个常用参数如下:参数说明name用J指定要操作的用户名称group用Ffii定用户所在的主组ho11H用于指定用户home目录shell用于指定用户的默认shelluid用指定用户的Uid号state用指
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自动化运维工具 Ansible 日常维护和使用 自动化 工具 日常 维护 使用