Ansible で Windows をリモート管理するための、Ansible Controller 側のセットアップ手順です。
CentOS Stream 9 に Ansible 7 をインストールしています。
インターネットに接続できない環境にも対応した手順となっています。
※ Target (Windows Server) 側のセットアップについては、下記の記事となります。
>> Ansible: Windows を管理する準備 – Windows 側の設定手順
事前準備
OS インストール
CentOS Stream 9 をベース環境「Workstation」でインストールします。
dnf (yum) で ISO からパッケージ追加可能にする (オフラインの場合)
インターネットに接続できない環境の場合は、下記の記事のを参照して、dnf (yum) で DVD または ISO からパッケージを追加できるようにしておきます。
>> dnf (yum) で DVD / ISO からパッケージ追加
手順
1. pip のインストール
(1) 次のコマンドで pip をインストールします。
dnf install python3-pip
(2) 次のコマンドでインストールされていることを確認します。
pip -V
次のように表示されれば、pip のインストールは成功です。
pip 21.2.3 from /usr/lib/python3.9/site-packages/pip (python3.9)
2. Ansible のインストール
オンラインの場合
次のコマンドで Ansible をインストールします。
python3 -m pip install --user ansible
次のように表示されれば、ansible のインストールは成功です。
Successfully installed MarkupSafe-2.1.2 ansible-7.5.0 ansible-core-2.14.5 cffe-1.15.1 cryptography-40.0.2 jinja2-3.1.2 packaging-23.1 pycparser-2.21 resolvelib-0.8.1
オフラインの場合
(1) インターネットに接続できる環境で、下記の whl ファイルをダウンロードします。
※ whl ファイル名は、手順を確認した時点の参考です。
- pycparser
https://pypi.org/project/pycparser/2.21/#files
ファイル:pycparser-2.21-py2.py3-none-any.whl - MarkupSafe
https://pypi.org/project/MarkupSafe/2.1.2/#files
ファイル:MarkupSafe-2.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - cffi
https://pypi.org/project/cffi/1.15.1/#files
ファイル:cffi-1.15.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - resolvelib
https://pypi.org/project/resolvelib/0.8.1/#files
ファイル:resolvelib-0.8.1-py2.py3-none-any.whl - packaging
https://pypi.org/project/packaging/23.1/#files
ファイル:packaging-23.1-py3-none-any.whl - Jinja2
https://pypi.org/project/Jinja2/3.1.2/#files
ファイル:Jinja2-3.1.2-py3-none-any.whl - cryptography
https://pypi.org/project/cryptography/40.0.2/#files
ファイル:cryptography-40.0.2-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - ansible-core
https://pypi.org/project/ansible-core/2.14.5/#files
ファイル:ansible_core-2.14.5-py3-none-any.whl - ansible
https://pypi.org/project/ansible/7.5.0/#files
ファイル:ansible-7.5.0-py3-none-any.whl
(2) ダウンロードした whl ファイルを、インストール対象のサーバーにコピーします。
(3) 次のコマンドで、ダウンロードした whl ファイルを順番にインストールします。
pip install whlファイル
次のように表示されれば、whlファイルのインストールは成功です。
Successfully installed モジュール名
(4) 次のコマンドで、Ansibleがインストールされていることを確認します。
ansible --version
次のように表示されれば、Ansibleは正常にインストールされています。
ansible [core 2.14.5]
config file = Node
(中略)
python version = 3.9.16 (main, Dec 8 2022, 00:00:00) [GCC 11.3.1 20221121 (Red Hat 11.3.1-4)] (/usr/bin/python3)
jinja version = 3.1.2
libyaml = True
4. pywinrm のインストール
コントローラからWindowsのターゲットにWinRMで接続するため、pywinrmをインストールします。
オンラインの場合
次のコマンドで pywinrm をインストールします。
pip install pywinrm
次のように表示されれば、pywinrm のインストールは成功です。
Successfully installed pywinrm-0.4.3
オフラインの場合
(1) インターネットに接続できる環境で、下記の whl ファイルをダウンロードします。
※ whl ファイル名は、手順を確認した時点の参考です。
- xmltodict
https://pypi.org/project/xmltodict/0.13.0/#files
ファイル:xmltodict-0.13.0-py2.py3-none-any.whl - pyspnego
https://pypi.org/project/pyspnego/0.9.0/#files
ファイル:pyspnego-0.9.0-py3-none-any.whl - requests-ntlm
https://pypi.org/project/requests-ntlm/1.2.0/#files
ファイル:requests_ntlm-1.2.0-py3-none-any.whl - pywinrm
https://pypi.org/project/pywinrm/0.4.3/#files
ファイル:pywinrm-0.4.3-py2.py3-none-any.whl
(2) ダウンロードした whl ファイルを、インストール対象のサーバーにコピーします。
(3) 次のコマンドで、ダウンロードした whl ファイルを順番にインストールします。
pip install whlファイル
次のように表示されれば、whlファイルのインストールは成功です。
Successfully installed モジュール名
5. requests_credssp のインストール
コントローラからWindowsのターゲットへの接続に、CredSSPを使用する場合は、requests_credssp をインストールします。
オンラインの場合
次のコマンドで requests_credssp をインストールします。
pip install requests_credssp
次のように表示されれば、requests_credssp のインストールは成功です。
Successfully installed requests_credssp-2.0.0
オフラインの場合
(1) インターネットに接続できる環境で、下記の whl ファイルをダウンロードします。
※ whl ファイル名は、手順を確認した時点の参考です。
- requests_credssp
https://pypi.org/project/requests_credssp/2.0.0/#files
ファイル:requests_credssp-2.0.0-py2.py3-none-any.whl
(2) ダウンロードした whl ファイルを、インストール対象のサーバーにコピーします。
(3) 次のコマンドで、ダウンロードした whl ファイルをインストールします。
pip install whlファイル
次のように表示されれば、whlファイルのインストールは成功です。
Successfully installed モジュール名
6. ansible.cfg の準備
ansible-core 2.12以降、/etc/ansible/ansible.cfg がなくなりました。そのため、テンプレートが欲しい場合は、次のコマンドを実行してテンプレートを作成します。
ansible-config init --disabled > ansible.cfg
以上で、Ansible Controller 側のセットアップは完了です。
続けて、Target である Windows のセットアップを行う場合は、下記の記事を参照してください。
>> Ansible: Windows を管理する準備 – Windows 側の設定手順