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

Debian 10(バスター)にAnsible(自動化ツール)をインストールする方法

IT分野の今日では、自動化がホットなトピックであり、すべての組織が Puppetなどの自動化ツールの採用を開始しています。 、 Ansible シェフ CFEngine フォアマン およびカテッロ 。これらのツールのうち、Ansibleは、UNIXおよびLinuxのようなシステムを管理するほとんどすべてのIT組織の最初の選択肢です。この記事では、Debian10Severにansibleツールをインストールして使用する方法を示します。

マイラボの詳細:

  • Debian 10 – Ansibleサーバー/コントローラーノード– 192.168.1.14
  • CentOS 7 – Ansibleホスト(Webサーバー)– 192.168.1.15
  • CentOS 7 – Ansibleホスト(DBサーバー)– 192.169.1.17

また、AnsibleServerを使用してLinuxサーバーを管理する方法についても説明します

Debian10サーバーへのAnsibleインストール

Debian 10システムには、root権限またはsudo権限のいずれかを持つユーザーがいると想定しています。私のセットアップでは、sudo権限を持つ「pkumar」という名前のローカルユーザーがいます。

Ansible2.7パッケージはデフォルトのDebian10リポジトリで利用できます。コマンドラインから次のコマンドを実行して、Ansibleをインストールします。

$ sudo apt update
$ sudo apt install ansible -y

以下のコマンドを実行して、Ansibleバージョンを確認します

[email protected]:~$ sudo ansible --version

最新バージョンのAnsible2.8をインストールするには、最初にAnsibleリポジトリを設定する必要があります。

次のコマンドを次々に実行します

$ echo "deb http://ppa.launchpad.net/ansible/ansible/ubuntu bionic main" \ 
| sudo tee -a /etc/apt/sources.list
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367
$ sudo apt update
$ sudo apt install ansible -y
$ sudo ansible --version

Ansibleを使用したLinuxサーバーの管理

Ansibleコントローラーノードを使用してLinuxのようなサーバーを管理するには、次の手順を参照してください。

ステップ:1)Ansibleサーバーとそのホスト間でSSHキーを交換します

ansibleサーバーからsshキーを生成し、ansibleホスト間でキーを共有しました

$ sudo -i
# ssh-keygen
# ssh-copy-id [email protected]
# ssh-copy-id [email protected]

ステップ:2)AnsibleHostsインベントリファイルを作成する

ansibleをインストールすると、/ etc / hostsファイルが自動的に作成されます。このファイルでは、ansibleホストまたはそのクライアントについて説明します。ホームディレクトリに独自のAnsibleホストインベントリファイルを作成することもできます

続きを読む:Ansibleの静的および動的ホストインベントリを管理する方法

以下のコマンドを実行して、ホームディレクトリにアンシブルホストインベントリを作成します

[email protected]:~$ vi $HOME/hosts
[Web]
192.168.1.15

[DB]
192.168.1.17

ファイルを保存して終了します

注: 上記のhostsファイルでは、ホスト名またはFQDNも使用できますが、そのためには、ホスト名またはfqdnによってansibleホストに到達可能でアクセス可能であることを確認する必要があります。

ステップ:3)デフォルトのansibleモジュールをテストして使用する

Ansibleには、ansibleコマンドで使用できる多くのデフォルトモジュールが付属しています。例を以下に示します。

構文:

#ansible -i -m

場所:

  • -i〜/ hosts :Ansibleホストのリストが含まれています
  • -m: -mの後に、pingやshellなどのansibleモジュールを指定します
  • <ホスト>: Ansibleモジュールを実行するAnsibleホスト

ansiblepingモジュールを使用してping接続を確認する

$ sudo ansible -i ~/hosts -m ping all
$ sudo ansible -i ~/hosts -m ping Web
$ sudo ansible -i ~/hosts -m ping DB

上記のコマンドの出力は次のようになります:

シェルモジュールを使用してansibleホストでシェルコマンドを実行する

構文: #ansible -i -m shell -a

例:

[email protected]:~$ sudo ansible -i ~/hosts -m shell -a "uptime" all
192.168.1.17 | CHANGED | rc=0 >>
 01:48:34 up  1:07,  3 users,  load average: 0.00, 0.01, 0.05

192.168.1.15 | CHANGED | rc=0 >>
 01:48:39 up  1:07,  3 users,  load average: 0.00, 0.01, 0.04

[email protected]:~$
[email protected]:~$ sudo ansible -i ~/hosts -m shell -a "uptime ; \
 df -Th / ; uname -r" Web
192.168.1.15 | CHANGED | rc=0 >>
 01:52:03 up  1:11,  3 users,  load average: 0.12, 0.07, 0.06
Filesystem              Type  Size  Used Avail Use% Mounted on
/dev/mapper/centos-root xfs    13G 1017M   12G   8% /
3.10.0-327.el7.x86_64

[email protected]:~$

上記のコマンド出力は、ansibleコントローラーノードが正常にセットアップされたことを確認します

サンプルのNGINXインストールプレイブックを作成しましょう。以下のプレイブックは、Webホストグループの一部であるすべてのサーバーにnginxをインストールしますが、私の場合、このホストグループの下に1台のcentos7マシンがあります。

[email protected]:~$ vi nginx.yaml
---
- hosts: Web
  tasks:
    - name: Install latest version of nginx on CentOS 7 Server
      yum: name=nginx state=latest
    - name: start nginx
      service:
          name: nginx
          state: started

次のコマンドを使用してプレイブックを実行します

[email protected]:~$ sudo ansible-playbook -i ~/hosts  nginx.yaml

上記のコマンドの出力は次のようになります

これにより、Ansibleプレイブックが正常に実行されたことを確認できます。これはすべて記事からのものです。フィードバックとコメントを共有してください。


Debian
  1. Debian 10(Buster)にownCloudをインストールする方法

  2. Debian10BusterにWildFlyをインストールする方法

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

  1. Debian 10(Buster)にVirtualBox6.1をインストールする方法

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

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

  1. Debian 10(バスター)のインストール方法

  2. Debian10BusterにDockerをインストールする方法

  3. Debian 10 バスターに LEMP スタックをインストールする方法