GNU/Linux >> Linux の 問題 >  >> Linux

Ansibleを使用してリモートWindowsホストを管理する方法

Ansible 使いやすさと柔軟性により、アプリケーションの展開と開発者間のソフトウェアプロビジョニングの頼れるプラットフォームになりつつあります。さらに、セットアップが簡単で、リモートノードにエージェントをインストールする必要はありません。代わりに、AnsibleはパスワードなしのSSH認証を使用してリモートUnix/Linuxホストを管理します。ただし、このトピックでは、Ansibleを使用してWindowsホストを管理する方法を説明します。

ラボのセットアップ

目的を達成するために、以下の設定を使用します

  • Ansible Controlノード– CentOS 8 – IP:192.168.43.13
  • Windows 10ノード– Windows 10 – IP:192.168.43.147

パート1:コントロールノード(CentOS 8)へのAnsibleのインストール

何よりもまず、CentOS8システムであるコントロールノードにAnsibleをインストールする必要があります。

ステップ1:Python3がAnsibleコントロールノードにインストールされていることを確認します

まず、Python3がインストールされているかどうかを確認する必要があります。 CentOS 8はPython3に同梱されていますが、何らかの理由で見つからない場合は、次のコマンドを使用してインストールしてください:

# sudo dnf install python3

次に、次のコマンドを実行して、Python3をデフォルトのPythonバージョンにします。

# sudo alternatives --set python /usr/bin/python3

python3がインストールされているかどうかを確認するには、次のコマンドを実行します。

# python --version

関連項目: CentOS 8 / RHEL 8にAnsible(自動化ツール)をインストールする方法

ステップ2:Ansibleを実行するための仮想環境をインストールする

この演習では、Ansibleを実行およびテストするための分離された環境が推奨されます。これにより、依存関係の問題やパッケージの競合などの問題を回避できます。作成する分離環境は、仮想環境と呼ばれます。

まず、CentOS8への仮想環境のインストールから始めましょう。

# sudo dnf install python3-virtualenv

仮想環境のインストール後、次を実行して仮想ワークスペースを作成します。

# virtualenv env

# source env/bin/activate

素晴らしい!プロンプトが(env)に変更されたことを確認します。

ステップ3:Ansibleをインストールする

仮想環境の作成後、次のようにpipを使用してAnsible自動化ツールをインストールします。

# pip install ansible

後でコマンドを使用してAnsibleのインストールを確認できます:

# ansible --version

Ansibleをテストし、Ansible Controlサーバーで動作するかどうかを確認するには:

# ansible localhost -m ping

素晴らしい!次に、AnsibleコントロールノードのホストファイルでWindowsホストまたはシステムを定義する必要があります。したがって、デフォルトのhostsファイルを開きます

# vim /etc/ansible/hosts

以下に示すようにWindowsホストを定義します。

注: ユーザー名とパスワードは、Windowsホストシステム上のユーザーを指します。

次に、構成ファイルを保存して終了します。

ステップ4:Pywinrmをインストールする

AnsibleがSSHを使用してリモートホストと通信するUnixシステムとは異なり、Windowsではまったく別の話です。 Windowsホストと通信するには、Winrmをインストールする必要があります。

winrmをインストールするには、もう一度、次のようにpipツールを使用します。

# pip install pywinrm

パート2:Windowsホストの構成

このセクションでは、AnsibleControlノードに接続するようにWindows10リモートホストシステムを構成します。 WinRMリスナー-をインストールします Windows Remoteの略 –これにより、WindowsホストシステムとAnsibleサーバー間の接続が可能になります。

ただし、その前に、Windowsホストシステムがインストールを成功させるためのいくつかの要件を満たす必要があります。

  • WindowsホストシステムはWindows7以降である必要があります 。サーバーの場合は、 Windows Server 2008を使用していることを確認してください 以降のバージョン。
  • システムが.NETFramework 4.0を実行していることを確認します 以降。
  • Windows PowerShell バージョン3.0以降である必要があります

すべての要件が満たされたら、次に以下に規定されている手順に従います。

ステップ1:Windows10ホストにWinRMスクリプトをダウンロードする

WinRMは、このリンクからダウンロードできるスクリプトを使用してインストールできます。スクリプト全体をコピーして、メモ帳エディターに貼り付けます。その後、WinRMスクリプトを最も便利な場所に保存してください。この例では、ファイルをConfigureRemotingForAnsible.ps1

という名前でデスクトップに保存しました。

ステップ2:Windows10ホストでWinRMスクリプトを実行する

次に、PowerShellを管理者として実行します

スクリプトの場所に移動して実行します。この場合、スクリプトを保存したデスクトップの場所に移動しました。次に、続行して、WindowsホストでWinRMスクリプトを実行します。

.\ConfigureRemotingForAnsible.ps1

これには約1分かかり、次のような出力が得られるはずです。出力は、WinRMが正常にインストールされたことを示しています。

パート3:AnsibleコントロールノードからWindowsホストに接続する

Windows 10ホストへの接続をテストするには、次のコマンドを実行します。

# ansible winhost -m win_ping

出力は、AnsibleControlノードからリモートのWindows10ホストへの接続を実際に確立したことを示しています。これは、AnsiblePlaybooksを使用してリモートWindowsホストを管理できるようになったことを意味します。 Windowsホストシステムのサンプルプレイブックを作成しましょう。

パート4:Windows10ホスト用のプレイブックの作成と実行

この最後のセクションでは、プレイブックを作成し、リモートホストにChocolateyをインストールするタスクを作成します。 Chocolateyは、Windowsシステムのパッケージマネージャーです。プレイは次のように定義されています:

# vim chocolatey.yml
---
- hosts: winhost
  gather_facts: no
  tasks:
   - name: Install Chocolatey on Windows10
     win_chocolatey: name=procexp  state=present

ymlファイルを保存して閉じます。次に、図のようにプレイブックを実行します

# ansible-playbook chocolatey.yml

出力は、すべてうまくいったポインターです。これで、Ansibleを使用してWindowsホストを管理する方法に関するこのトピックは終わりです。

また読む Ansibleロールを作成し、Playbookで使用する方法


Linux
  1. LinuxにリモートWindows共有をマウントする方法

  2. Ansibleを使用してLinuxユーザーを作成する方法

  3. XRDPを使用してWindowsからLinuxデスクトップにデスクトップをリモート接続する方法

  1. ssh コマンドを使用してリモート ホストに接続する方法

  2. リモート マシンが Windows と Linux のどちらを使用しているかを確認するにはどうすればよいですか?

  3. Linuxボックスを使用してssh経由でWindowsリモートデスクトップをトンネリングする方法は?

  1. Ansibleの静的および動的ホストインベントリを管理する方法

  2. Ansibleガイド:Ansibleを使用してファイルを管理する

  3. LinuxでLogrotateを使用してログファイルを管理する方法