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

Ubuntu 16.04(Xenial)にAnsibleをインストールする方法

Ansibleは、単一のマシンから複数のリモートホストを管理するための自動化ツールです。多数のリモートホストを簡単に構成できます。たとえば、複数のマシンで同じタスクを実行している場合、Ansibleにはこれらのタスクを自動化するオプションがあります。

このチュートリアルは、Ubuntu 16.04(Xenial)LTSシステムにAnsibleをインストールするのに役立ちます。

ステップ1–SSHアクセスを構成する

リモートLinuxAnsibleホストのキーベースのsshを構成できます。したがって、SSHにはパスワードは必要ありません。 Ansibleではsshにパスワードを使用することもできますが、キーベースのsshの方が安全です。

Ansibleサーバーでsshキーペアを生成します:

ssh-keygen

このsshキーを介して接続する必要があるすべてのリモートホストに公開キーをコピーします。

ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]_host

ステップ2–Ubuntu16.04にAnsibleをインストールする

Ansibleは、Ubuntuシステムにインストールするための公式PPAを提供します。次のコマンドを実行して、Ubuntu18.04システムにAnsiblePPAを構成します。

sudo apt-add-repository ppa:ansible/ansible

次に、次のコマンドを実行してAnsibleをインストールします。

sudo apt update
sudo apt install ansible

ステップ3–Ansibleホストとグループを構成する

サーバーは、リモートホストの管理と自動化のためにAnsibleを使用する準備ができています。必要な数のホストを用意し、単一のAnsibleサーバーでそれらを管理できます。

ここでは、Ansible hostsファイル(/ etc / ansible / hosts)でリモートシステムを定義する必要があります。同様のタイプのホストのグループを作成することもできます。ここでは、ホストをグループに適切に編成する必要があります。グループは、その下で定義されたすべてのリモートホストで1つのタスクを実行するために使用されます。

Ansibleホスト構成ファイルを編集します。例:

sudo nano /etc/ansible/hosts

ホストを追加し、グループで整理します。 ホストは複数のグループの下に追加できます

[webservers]
web-host1
web-host2

[dbservers]
db-host1

以下の画像は、グループとグループの下のホストを理解するのに役立ちます。

単一ホスト変数の構成

ホストの設定を定義する必要があります。ホスト固有のファイルは、host_varsディレクトリの下にあるhostと同じ名前(例:web-host1)である必要があります。

sudo mkdir /etc/ansible/host_vars
sudo vi /etc/ansible/host_vars/web-host1

web-host1のSSH設定をこのファイルに追加します。

ansible_ssh_host: 192.168.1.15
ansible_ssh_port: 22
ansible_ssh_user: root

このホストのssh接続にステップ1を使用していない場合。認証のために、以下のいずれかの方法をweb-hosts1構成ファイルに追加することもできます。

ansible_ssh_pass: secret_password
ansible_ssh_private_key_file: /home/rahul/.ssh/aws.pem

グループ変数の構成

グループ構成でグループの共通変数設定を構成できます。グループファイル名は、group_varsの下のグループ名(例:webservers)と同じである必要があります ディレクトリ。

sudo mkdir /etc/ansible/group_vars
sudo vi /etc/ansible/group_vars/webservers

このグループの下に追加されたすべてのホストによって使用されるこのファイルに共通変数を追加します。

ansible_ssh_port: 22
ansible_ssh_user: root

ステップ4–Ansibleセットアップのテスト

Ansibleセットアップはテストの準備ができています。次のようなpingモジュールを使用してすべてのホストの接続をテストするには:

ansible -m ping all

特定のホストまたはホストのグループの接続をテストするには

ansible -m ping web-host1        ## Specific host 
ansible -m ping webservers       ## Specific group 

シェルモジュールを使用してコマンドを実行することもできます。たとえば、web-host1で空きメモリをテストします。グループに対して同じタスクを実行することもできます。ホスト名の代わりにグループ名を使用してください。

ansible -m shell -a 'free -m' web-host1


Ubuntu
  1. Ubuntu20.04にAnsibleをインストールして構成する方法

  2. UbuntuServer21.04にAnsibleをインストールする方法

  3. Ubuntu18.04LTSにAnsibleをインストールする方法

  1. Ubuntu20.04にRをインストールする方法

  2. Ubuntu18.04にGoをインストールする方法

  3. Ubuntu18.04にRをインストールする方法

  1. Ubuntu20.04LTSにAnsibleAWXをインストールする方法

  2. Ubuntu 20.04 LTS/21.04にAnsibleをインストールする方法

  3. UbuntuにAnsibleをインストールする方法