ansible控制windows安装及运行error与解决方法

Q1:因pip版本问题无法安装kerberos

创新互联-专业网站定制、快速模板网站建设、高性价比永新网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式永新网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖永新地区。费用合理售后完善,十载实体公司更值得信赖。

$ sudo pip install kerberos
running build_ext
building 'kerberos' extension
creating build
creating build/t
........
......
....
..
can`t upgrade pip to the newest version 9.0.1

A1:安装提示需要先安装pip升级包

下载pip9.0.1升级包:

$ wget https://pypi.python.org/packages/b6/ac/7015eb97dc749283ffdec1c3a88ddb8ae03b8fad0f0e611408f196358da3/pip-9.0.1-py2.py3-none-any.whl
$ pip install pip-9.0.1-py2.py3-none-any.whl

Q2:安装kerberos报错

$ sudo pip install kerberos
running build_ext
building 'kerberos' extension
creating build
creating build/temp.linux-x86_64-2.7
creating build/temp.linux-x86_64-2.7/src
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c src/base64.c -o build/temp.linux-x86_64-2.7/src/base64.o sh: 1: krb5-config: not found
gcc: error: sh:: No such file or directory
gcc: error: 1:: No such file or directory
gcc: error: krb5-config:: No such file or directory
gcc: error: not: No such file or directory
gcc: error: found: No such file or directory
error: command 'gcc' failed with exit status 1
----------------------------------------
Command /usr/bin/python -c "import setuptools;__file__='/etc/ansible/scripts/build/kerberos/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --single-version-externally-managed --record /tmp/pip-Q3eBF1-record/install-record.txt failed with error code 1
Storing complete log in /home/ansible/.pip/pip.log

A2:需要先安装libkrb5开发包

$ sudo apt-get install libkrb5-dev

安装后解决

Q3:安装.Net 3.0以上,升级powershell-3.0后ansible依旧报错

$ ansible windows -m win_ping -vvv
Using /etc/ansible/ansible.cfg as config file
Using module file /usr/local/lib/python2.7/dist-packages/ansible-2.2.0-py2.7.egg/ansible/modules/core/windows/win_ping.ps1
<192.168.1.11> ESTABLISH WINRM CONNECTION FOR USER: Administrator on PORT 5986 TO 192.168.1.11
192.168.1.11 | UNREACHABLE! => {
    "changed": false, 
    "msg": "ssl: HTTPSConnectionPool(host='192.168.1.11', port=5986): Max retries exceeded with url: /wsman (Caused by ConnectTimeoutError(, 'Connection to 192.168.1.11 timed out. (connect timeout=30)'))", 
    "unreachable": true
}

A3:原因没有配置winrm

必须将winrm的配置文件设置成下面配置,

> winrm set winrm/config/service '@{AllowUnencrypted="true"}'
> winrm set winrm/config/service/auth '@{Basic="true"}'

ansible控制windows安装及运行error与解决方法

Q4:ansible控制Windows主机error1

$ ansible windows -m win_ping -vvv
Using /etc/ansible/ansible.cfg as config file
Using module file /usr/local/lib/python2.7/dist-packages/ansible-2.2.0-py2.7.egg/ansible/modules/core/windows/win_ping.ps1
<192.168.30.150> ESTABLISH WINRM CONNECTION FOR USER: Administrator on PORT 5986 TO 192.168.30.150
192.168.30.150 | UNREACHABLE! => {
    "changed": false, 
    "msg": "ssl: [Errno 1] _ssl.c:504: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed", 
    "unreachable": true
}

A4:

将配置文件/etc/ansible/hosts端口5986改成5985,即可解决。

[windows:vars]
ansible_ssh_port=5985

原因:

 DefaultPorts

 HTTP = 5985

 HTTPS = 5986

上述错误是因为ssl选项是关着的

Q5:Win_7_x64 安装Windows6.1-KB2506143-x64.msu 提示“此更新不适应于您的计算机”

A5:安装.Net Framework 4.0(3.0以上)即可解决

Q6:执行ansible命令出现OutOfMemory错误

可以执行win_ping,但是传文件会报错:

ansible windows -m win_copy -a 'src=/opt/test/123.txt dest=F:\logs'
192.168.1.173 | UNREACHABLE! => {
  "changed": false, 
  "msg": "Authentication or permission failure. In some cases, you may have been able to authenticate and did not have permissions on the remote directory. Consider changing the remote temp path in ansible.cfg to a path rooted in \"/tmp\". Failed command was: PowerShell -NoProfile -NonInteractive -ExecutionPolicy Unrestricted -EncodedCommand UwBlAHQALQBTAHQAcgBpAGMAdABNAG8AZABlACAALQBWAGUAcgBzAGkAbwBuACAATABhAHQAZQBzAHQACgAoAE4AZQB3AC0ASQB0AGUAbQAgAC0AVAB5AHAAZQAgAEQAaQByAGUAYwB0AG8AcgB5ACAALQBQAGEAdABoACAAJABlAG4AdgA6AHQAZQBtAHAAIAAtAE4AYQBtAGUAIAAiAGEAbgBzAGkAYgBsAGUALQB0AG0AcAAtADEANQAwADUANwA4ADcANgA3ADMALgAwADIALQA2ADEAMwAzADcAMgA2ADgAMwAyADAANQA4ADcAIgApAC4ARgB1AGwAbABOAGEAbQBlACAAfAAgAFcAcgBpAHQAZQAtAEgAbwBzAHQAIAAtAFMAZQBwAGEAcgBhAHQAbwByACAAJwAnADsACgBJAGYAIAAoAC0AbgBvAHQAIAAkAD8AKQAgAHsAIABJAGYAIAAoAEcAZQB0AC0AVgBhAHIAaQBhAGIAbABlACAATABBAFMAVABFAFgASQBUAEMATwBEAEUAIAAtAEUAcgByAG8AcgBBAGMAdABpAG8AbgAgAFMAaQBsAGUAbgB0AGwAeQBDAG8AbgB0AGkAbgB1AGUAKQAgAHsAIABlAHgAaQB0ACAAJABMAEEAUwBUAEUAWABJAFQAQwBPAEQARQAgAH0AIABFAGwAcwBlACAAewAgAGUAeABpAHQAIAAxACAAfQAgAH0A, exited with result 1", 
  "unreachable": true
}
执行命令也报错:
ansible windows -m win_shell -a "java -version"
192.168.1.173 | FAILED | rc=-532462766 >>

An error has occurred that was not properly handled. Additional information is shown below. The Windows PowerShell process will exit.

Unhandled Exception: OutOfMemoryException.

A6:对被控windows主机打一个关于WMF 3.0 的hotfix,链接如下:

https://support.microsoft.com/en-us/help/2842230/-out-of-memory-error-on-a-computer-that-has-a-customized-maxmemorypers


文章题目:ansible控制windows安装及运行error与解决方法
本文链接:http://pwwzsj.com/article/jiejhj.html