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

Ubuntu18.04LTSにAnsibleをインストールして構成する方法

Ansibleは、ソフトウェアプロビジョニング、構成管理、およびアプリケーション展開を自動化するために使用できる無料のオープンソースソフトウェアです。 PuppetやChefとは異なり、Ansibleを使用する前にクライアントサーバー環境をセットアップする必要はありません。中央の場所から複数のホストを管理できます。このツールは非常にシンプルでありながら、複雑な多層ITアプリケーション環境を自動化するための強力なツールです。 Ansibleは通常のSSHチャネルを介して通信し、リモートマシンから情報を取得してタスクを実行します。

このチュートリアルでは、Ubuntu18.04サーバーにAnsibleをインストールして使用する方法を学習します。

要件
  • OpenSSHサーバーがインストールされた2つのUbuntu18.04サーバーシステム。
  • 静的IPアドレス192.168.0.101がサーバーシステムに設定され、192.168.0.104がクライアントシステムに設定されます。
  • sudo権限を持つroot以外のユーザーが両方のシステムに設定されています。
はじめに

開始する前に、次のコマンドを使用してシステムを最新バージョンに更新します。

sudo apt-get update -y
sudo apt-get upgrade -y

システムが最新の状態になったら、システムを再起動して変更を適用します。

Ansibleのインストールと構成

デフォルトでは、最新バージョンのAnsibleはUbuntu18.04のデフォルトリポジトリでは利用できません。そのため、サーバーにAnsiblePPAを追加する必要があります。これを行うには、次のコマンドを実行します。

sudo apt-add-repository ppa:ansible/ansible

次に、リポジトリを更新し、次のコマンドを使用してAnsibleをインストールします。

sudo apt-get update -y
sudo apt-get install ansible -y

インストールが完了したら、次のコマンドでAnsibleのバージョンを確認できます。

sudo ansible --version

出力:

ansible 2.7.1
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/dist-packages/ansible
  executable location = /usr/bin/ansible
  python version = 2.7.15rc1 (default, Nov 12 2018, 14:31:15) [GCC 7.3.0]

次に、Ansiblehostsファイルで管理するクライアントシステムを定義する必要があります。これを行うには、/ etc / ansible / hostsファイルを編集します:

sudo nano /etc/ansible/hosts

次の行を追加します:

[Client]
node1 ansible_ssh_host=192.168.0.104

終了したら、ファイルを保存して閉じます。

クライアントシステムのSSHキーを構成する

AnsibleはSSHを使用してクライアントホストと通信します。そのため、クライアントホストのキーベースのssh認証を構成する必要があります。

まず、次のコマンドを使用してSSHキーペアを生成します。

ssh-keygen

出力:

Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:bTVjTCKqxD8rnIw7/6mB6ZH9cnhzzOFg+/+x4clSOow [email protected]
The key's randomart image is:
+---[RSA 2048]----+
|        . . .    |
|   .   . . +     |
|    o .     *    |
|   . o   . o o   |
|    . o S o      |
|   O .oo..  .    |
|  * Bo.* + oo    |
| ..oo+=.E =o =   |
|  ooo*++...+*    |
+----[SHA256]-----+

次に、次のコマンドを使用して、この公開鍵をクライアントシステムにコピーします。

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

出力:

/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
[email protected]'s password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh '[email protected]'"
and check to make sure that only the key(s) you wanted were added.
Ansibleでの作業

これで、Ansibleがインストールおよび構成されました。 Ansibleのタイムテストです。

Ansibleサーバーで、次のコマンドを使用してAnsibleを使用してクライアントシステムにpingを実行してみてください。

ansible -m ping Client

出力:

node1 | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}

Ansiblehostsファイルに複数のクライアントが構成されている場合。次に、次のコマンドを使用してすべてのクライアントシステムにpingを実行できます。

ansible -m ping all

次のコマンドを使用して、クライアントシステム上のApacheWebサーバーのステータスを確認できます。

ansible -m shell -a 'service apache2 status' Client

出力:

node1 | CHANGED | rc=0 >>
 * apache2 is running

クライアントシステムのパーティションサイズを確認するには、次のコマンドを実行します。

ansible -m shell -a 'df -h' Client

出力:

node1 | CHANGED | rc=0 >>
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       138G   48G   83G  37% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
udev            1.9G  4.0K  1.9G   1% /dev
tmpfs           384M  1.2M  383M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            1.9G   67M  1.9G   4% /run/shm
none            100M   36K  100M   1% /run/user
/dev/sda5       225G   35G  180G  16% /Data
>

おめでとう!これで、Ubuntu18.04サーバーにAnsibleが正常にインストールおよび構成されました。 Ansibleを使用して簡単なタスクをリモートで簡単に実行できるようになりました。


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

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

  3. Ubuntu 20.04 LTS に Fail2ban をインストールして構成する方法

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

  2. Ubuntu18.04にRedisをインストールして構成する方法

  3. Ubuntu18.04にRedmineをインストールして設定する方法

  1. Ubuntu 18.04 LTSにKubernetes(k8s)をインストールして設定する方法

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

  3. Ubuntu18.04LTSにGitLabをインストールして構成する方法