在标准化的企业环境当中,批量操作几乎是无可避免的事情。在vmware vsphere的企业环境当中常规的批量操作手段主要以powercli为主,powercli几乎可以对vmware vsphere做任何批量操作极大地减少了管理员的工作量,但powercli只能针对vmware vsphere做批量操作,这远远是不够的所以本文主要是讲使用ansible来对vmware vsphere进行批量操作管理,实际上ansible对vsphere的支持并不少功能也比较完整,除了部分功能还没有相应模块支持以外,而且ansible有几千个模块可以支持非常多的系统及设备。例如:亚马逊云,Linux,windows,Cisco网络设备等等。如果熟悉ansible的朋友完全可以忽略我的笔记,因为ansible modules网站上有非常详细的指引。如果不熟悉的可以一步一步按照笔记去做也是没问题的,至于playbook部分也仅仅需要修改相关的参数也可以马上进行使用。本文是安装配置ansible管理vmware。
安装配置
1、CentOS用户,需要 配置 EPEL
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
2、安装ansible
yum install ansible
3、安装python pip工具
yum -y install python-pip
4、通过pip工具安装pyvmomi(ansible管理vsphere主要依赖pyvmomi)
pip install pyvmomi
安装完成
编写测试playbook并开始执行调试
1、编写一个测试的playbook:
2、执行playbook并出现认证失败报错:
针对认证失败的解决办法
解决办法主要有两个:
1、在每个ansible的模块添加:validate_certs: no忽略证书进行配置。
2、在ansible server上添加管理设备的自签名证书。
建议:本人在首次安装部署时使用了方法1,但并不可行并且在google找了相关解决办法也仍没有解决最后迫于无奈采用第二种方法,然而在写这篇笔记时使用方法1完全没有问题,个人建议在方法1无法成功的时候采用第二种方法
1、解决方法1操作:
在模块中添加:validate_certs: no,大部分vmware模块均有这个参数,如果多个一个playbook有多个模块建议都添加上
2、解决方法2操作:
在ansible server上添加管理设备的自签名证书。
2.1、登录vcsa页面下载相关证书
2.2、导入到ansible server中并解压获得certs文件夹,进入文件夹后看到三个不同系统的证书如图所示:
2.3、进入lin目录,此目录为Linux的证书。并对证书做如下操作:
将证书复制到/etc/pki/ca-trust/source/anchors/目录下
cp e65bea3e.0/etc/pki/ca-trust/source/anchors/
cp e65bea3e.r1/etc/pki/ca-trust/source/anchors/
创建证书软链接
ln -s/etc/pki/ca-trust/source/anchors/e65bea3e.0 /etc/ssl/certs/e65bea3e.0
ln -s/etc/pki/ca-trust/source/anchors/e65bea3e.r1 /etc/ssl/certs/e65bea3e.r1
2.4、运行update-ca-trust,更新系统的证书
update-ca-trust
Playbook中未添加validate_certs:no
执行结果