在Mac上执行Ansible时所做的操作是切换到Windows操作系统
首先
关于本文
这篇文章总结了在Mac上执行操作之前必须完成的步骤,以 Ansible 操作 Windows 为参考。
记录的内容和已完成事项清单
-
- Mac に Ansible をインストールするところから win_ping が実行できるところまで
Homebrew で Ansible をインストール
pip インストール、アップデート
pip で pywinrm をインストール
Mac から Windows への ping
win_ping 実行
没有写的东西
- Windows 側の設定
环境
Mac (执行 Ansible 的一方)
-
- macOS Mojave ( 10.14.6 )
-
- Homebrew 2.1.13
-
- Ansible 2.8.5
-
- Python 3.7.4
- pip 19.2.3
Windows(执行Ansible的一方)
- Windows 10 Home 1903
操作步骤
安装 Ansible
使用Homebrew安装Ansible。
brew install ansible
如果遇到Python安装错误的情况
使用Homebrew安装的Python,在执行命令后解决了链接错误问题。
安装pip
根据 Ansible 安装中的 Python 没有包含 pip,因此在 python2.7.10 中运行 pip 时出现 “command not found” 的错误。 参考安装 pip。
安装pywinrm
sudo pip install pywinrm
如果在pywinrm安装过程中遇到错误
由于pip刚被安装完,可能是因为openssl相关问题导致了错误。
我更新了pip本身后再次运行,成功了。
sudo pip install -U pip
参考:https://github.com/ansible/ansible/issues/34056
虽然不是完全相同的问题,但由于解决方法可能是相似的。
从Mac向Windows发送ping命令
如果在Windows上进行了Ansible的配置,可以先进行连接确认。
执行win_ping
创建一个清单文件,并测试 win_ping。
ansible -i hosts windows -m win_ping
如果使用fork时出现错误
在按照这里写的指示设置环境变量后,问题就解决了。
将OBJC_DISABLE_INITIALIZE_FORK_SAFETY设为YES导出
最后
我觉得我已经遇到了几乎会出现的错误,但现在从Mac成功地将Windows进行了Ansible操作。
如果有时间,我也想尝试一下这边(不是WinRM连接而是ssh连接的)。