在Linux的世界,Ansible是实现自动化运维的经常使用好工具,经过它能够很好地批理执行命令,实现高效对大量服务器的管理,极大提升运维效率(固然如今WINDOS下也能够实用Ansible进行批量管理实现运维自动化,不过相对应用较少)。
因为公司里有许多ESXI服务器,而时常我也会用SSH上去进行调试管理,并且部分操做应用也是相同的,有时想一想能用一个统计的入口进行管理该有多好,因而首先也想到了Ansible工具,因而产生了实践的想法,一开始我也不知道可否成功,不过不去试试怎么知道呢,知识海那么大,惟有去试试,^.^,实践证实它是支持的,并且自从我在Esxi上用Ansible管理后,对Esxi服务器操做中,大大方便了个人平常管理,SO EASY,这里分享下操做过程吧。
一、安装
找一台装有Linux的服务器直接YUM 安装Ansible 便可(通常在跳板机吧/堡垒机)
yum install ansible -y shell
安装好后查看下:
二、配置Ansible配置文件: vim /etc/ansible/hosts vim
在配置文件中加入如下ESXI主机组,若是有多个组别就分多个组别按照如下方法加上便可。
[esxi]
192.168.26.199
192.168.26.200
192.168.26.205服务器
三、生成秘钥:(一般堡垒机上生成) ssh-keygen -t rsa
运维
四、把生成的公钥放到ESXI主机上的/etc/ssh/keys-root/authorized_keys文件中便可。
cat /etc/ssh/keys-root/authorized_keysssh
五、测试用Ansible发送命令,查看或管理ESXI服务器。
例如:查看ESXI服务器开启时间
ansible esxi -m shell -a'uptime'
查看ESXI服务器定时计划任务配置文件属性:
ansible esxi -m shell -a'ls -l /var/spool/cron/crontabs/root '
为ESXI服务器添加定时关机脚本
ansible esxi -m shell -a 'chmod 1644 /var/spool/cron/crontabs/root && echo "30 21 12 12 * root /vmfs/volumes/datastore1/gj.sh">>/var/spool/cron/crontabs/root && chmod 1444 /var/spool/cron/crontabs/root '
查看下权限也改回去了,执行成功:
ansible esxi -m shell -a'ls -l /var/spool/cron/crontabs/root '
删掉刚添加的计划任务:
ansible esxi -m shell -a 'sed -i "/gj.sh/d" /var/spool/cron/crontabs/root'
查看ESXI中因此虚拟服务器:
ansible esxi -m shell -a 'vim-cmd vmsvc/getallvms'
查看ESXI中目前因此开启虚拟服务器数量:
ansible esxi -m shell -a 'esxcli vm process list |grep World|wc -l'
若是你有ESXI服务器,须要SSH管理操做,装上Ansible体验一下吧,其它应用在ESXI上的应用本身实践下 ide