もっと詳しく

何十もの管理にうんざりしていませんか Ansibleプレイブック とホスト? しかし、なぜあなたが使うことができるのに物事を難しくするのですか? Ansible Tower? Ansible Towerは、Ansibleを使用してプレイブックの実行とホストの管理を容易にするように設計されています。

このチュートリアルでは、Ansible Tower製品をインストール、構成、および使用する方法を学習します。

今日AnsibleTowerでAnsibleを管理する方法をレベルアップしましょう!

前提条件

このチュートリアルは、ステップバイステップの手順で構成されています。 フォローしたい場合は、次のものが揃っていることを確認してください。

  • AnsibleコントローラーホストマシンにインストールされているPythonv3.6以降。 このチュートリアルでは、Pythonv3.8.10を使用します。

AnsibleTowerのインストールとDBクレデンシャルの管理

Ansible Towerを使用すると、インタラクティブなWebインターフェイスでAnsibleを管理できますが、アクセスするには、最初にAnsible Towerをマシンにインストールし、その資格情報を管理する必要があります。

AnsibleTowerをインストールするには2つの方法があります。

ただし、このチュートリアルでは、単一のUbuntuマシンにAnsibleTowerをインストールします。

1.お気に入りのSSHクライアントを使用してLinuxホスト上のAnsibleコントローラーに接続します。

2.次に、次のコマンドを実行して、適切なソースを更新し、依存パッケージをインストールします(epel-releasecurl)。

sudo yum update 
sudo yum -y install epel-release curl

The aptまたはapt-get コマンドは、Ubuntuで構成されたaptソフトウェアリポジトリからパッケージをインストールします。

3.という名前のディレクトリを作成します 〜/ ansible_tower_demo そのディレクトリに切り替えます。 このディレクトリには、このチュートリアルのインストールファイルが保持されます

# Create the ~/ansible_tower_demo directory
mkdir ~/ansible_tower_demo
# Change the working directory
cd ~/ansible_tower_demo

4.次に、以下を実行します yum install AnsibleTowerがデータを保存できるPostgreSQLデータベースをインストールするコマンド。

sudo yum install postgresql postgresql-contrib
PostgreSQLデータベースのインストール
PostgreSQLデータベースのインストール

5.以下のcurlコマンドを実行して、AnsibleリリースサイトからAnsibleTowerパッケージをダウンロードします。 執筆時点では、最新リリースは3.7.3-1です。

このコマンドは、 。タール マシン上のAnsibleTowerのファイル。これは、次の手順で解凍します。

curl -O https://releases.ansible.com/ansible-tower/setup/ansible-tower-setup-3.7.3-1.tar.gz
Linuxマシンに最新のAnsibleTowerをダウンロードする
Linuxマシンに最新のAnsibleTowerをダウンロードする

6.次に、次のtarコマンドを実行して、AnsibleTowerの解凍します。 .tar.gz 手順5でダウンロードしたファイル。

tar xvfz ansible-tower-setup-3.7.3-1.tar.gz
AnsibleTowerアーカイブを解凍する
AnsibleTowerアーカイブを解凍する

7.ファイルを解凍した後、lsコマンドを実行してパッケージを確認します。

パッケージを正常に解凍すると、以下のAnsible Towerディレクトリ(ansible-tower-setup-3.7.3.1)が表示されます。

AnsibleTowerディレクトリの確認
AnsibleTowerディレクトリの確認

8.以下の各コマンドを実行して、現在のディレクトリをAnsible Towerセットアップパッケージディレクトリに変更し、インベントリファイルをテキストエディタ(vi)で開きます。

cd ansible-tower-setup-3.7.3-1
vi inventory

インベントリファイルの値を次のように変更します。

[tower]
localhost ansible_connection=local
[database]
[all:vars]
# Adding the admin password of the Ansible Tower
admin_password='password'
# Adding the Database name which will store data of the Ansible Tower
pg_database="awx"
# Adding the Database username
pg_username="admin"
# Adding the Database password of the Ansible Tower
pg_password='password'
# Adding the SSL Mode of the Database to 'verify-full' for client-side enforced SSL
pg_sslmode="prefer"

9.最後に、セットアップシェルスクリプト(setup.sh)を実行して、同じディレクトリ(./)でAnsibleTowerを起動します。 セットアップが完了するまでに少なくとも2〜3分かかります。

以下に示すように、AnsibleTowerのセットアップが完了しました。

LinuxマシンでのAnsibleTowerの実行
LinuxマシンでのAnsibleTowerの実行

AnsibleTowerの構成

Ansible Towerは正常にインストールされましたが、Ansible Towerを使用する前に、正しいパスワードと構成を構成する必要があります。

Ansible Towerを構成するには、ライセンスが必要です。無料の試用ライセンスで十分です。

1.お気に入りのWebブラウザーを開き、に移動します https://Tower-Server-Name/。 交換 Tower-Server-Name サーバーのIPアドレスを使用 以下に示すように、すべてがうまくいけば、AnsibleTowerのログインページが表示されます。

「AnsibleTowerのインストールとDBクレデンシャルの管理」セクションのステップ8で構成したユーザー名(admin)とパスワード(password)を入力し、[サインイン]をクリックします。

サインイン後、ブラウザはTOWER LICENSEページにリダイレクトします(ステップ2)。

Ansible Towerは、HTTPS通信用の自己署名証明書を自動的にインストールします。これには、ブラウザーでの承認が必要な場合があります。

AnsibleTowerUIにログインする
AnsibleTowerUIにログインする

2. TOWER LICENSEページで、REQUESTLICENSEボタンをクリックしてライセンスを要求します。 ブラウザはRedHatAnsible Automation Platformの試用ページにリダイレクトされます(ステップ3)。

AnsibleTowerライセンスのリクエスト
AnsibleTowerライセンスのリクエスト

3.次に、以下に示すように、[トライアルの開始]ボタンをクリックして、トライアルを開始します。

Red Hat AnsibleAutomationPlatformトライアルの開始
Red Hat AnsibleAutomationPlatformトライアルの開始

4.次に、以下に示すように、Red Hatのログイン/電子メールとパスワードを入力し、[ログイン]をクリックします。 選択するライセンスを選択できるポップアップウィンドウが表示されます(ステップ5)。

RedHatのユーザー名とパスワードの提供
RedHatのユーザー名とパスワードの提供

5.最後に、60日間の製品トライアルを選択し、[選択]ボタンをクリックすると、AnsibleTowerダッシュボードが表示されます。

AnsibleTowerでライセンスを更新する
AnsibleTowerでライセンスを更新する

ライセンスを選択すると、以下に示すAnsibleTowerUIが表示されます。

AnsibleTowerダッシュボードの表示
AnsibleTowerダッシュボードの表示

在庫の作成と管理

Ansible Tower Dashboard UIを正常にインストールすると、Ansibleの複数のコンポーネントを管理する準備が整います。 手始めに、AnsibleTowerでインベントリを作成および管理します。

1. Ansible Towerダッシュボードで、[Inventories]をクリックして、AnsibleTowerに保存されているインベントリリストを開きます。

デモインベントリを無視し、緑色のプラス(+)ボタンをクリックして新しいインベントリを追加します。

新しいインベントリの追加
新しいインベントリの追加

2.次に、[インベントリの作成]ページで、以下のパラメーターを指定し、[保存]ボタン(右下)をクリックして、新しいインベントリを保存します。

  • 名前ATAラーニング (必要に応じて別の名前を指定できます)。
  • 説明 –在庫を説明して、多くの在庫の中から簡単に認識できるようにします。
  • 組織 –を選択します デフォルト オプション。 Ansible Towerはデフォルトの組織を自動的に作成しますが、独自の組織を作成することもできます。
  • 変数– YAMLまたはJSON形式で変数を提供します。
AnsibleTowerダッシュボードで最初のインベントリを作成する
AnsibleTowerダッシュボードで最初のインベントリを作成する

3.最後に、以下に示す[在庫]ページで新しく作成された在庫を確認します。

新しく作成されたインベントリの確認
新しく作成されたインベントリの確認

AnsibleTowerでのユーザーの作成

管理者(デフォルト)とは別に、Ansible Towerにアクセスする方法を知っていますか? 適切な権限と資格情報を持つユーザーを追加する。 管理者ユーザーにアクセスできる限り、ユーザーの追加はインベントリの追加に似ています。

に移動します ユーザー タブをクリックし、緑色のプラスをクリックします(+)新しいユーザーを作成するためのボタン。

AnsibleTowerにユーザーを追加する
AnsibleTowerにユーザーを追加する

次に、下の画像のように、必要なユーザーの詳細を入力します。 の下でユーザーの許可を設定します ユーザータイプ、をクリックし、 保存 ボタンをクリックして、新しいユーザーを保存します。

AnsibleTowerでユーザーの詳細を提供する
AnsibleTowerでユーザーの詳細を提供する

ユーザーの詳細を保存すると、管理者ユーザーとは別に、新しく作成されたユーザーが ユーザー 以下に示すように、リスト。

AnsibleTowerでのユーザーの確認
AnsibleTowerでのユーザーの確認

ジョブの作成と実行

以前にインベントリ(ATA Learning)を作成しましたが、現在はそこに座っているだけで、仕事で呼び出さない限り役に立ちません。 ジョブは、Towerがホストのインベントリに対してAnsibleプレイブックを起動するインスタンスです。

ジョブがどのように機能するかを確認するには、次のコマンドを使用してAnsibleTowerでジョブを作成します。

1.以下のコマンドを実行して、/ var / lib / awx/projectsディレクトリ内にプレイブックディレクトリを作成します。

このディレクトリには、AnsibleTowerでのジョブで構成するすべてのプレイブックが含まれます。

# Create directory
mkdir /var/lib/awx/projects/playbooks
# Change working directory
cd /var/lib/awx/projects/playbooks

2.次に、という名前のプレイブックファイルを作成します ata.yml 作業ディレクトリでエディタを使用して、以下のコードをに入力します。 ata.yml ファイル。

以下のAnsiblePlaybookには、現在の作業ディレクトリのディレクトリとファイルを一覧表示し、Playbookが実行されたら画面に出力するタスクが含まれています。

---
  - name: "Playing with Ansible"
    hosts: localhost
    connection: local
    tasks:

    - name: "just execute a ls -lrt command"
      shell: "ls -lrt"
      register: "output"

    - debug: var=output.stdout_lines

3.[プロジェクト]タブをクリックして使用可能なプロジェクトのリストにアクセスし、緑色のプラス(+)ボタンをクリックして新しいプロジェクトを作成します。

AnsibleTowerで新しいプロジェクトを作成する
AnsibleTowerで新しいプロジェクトを作成する

4.プロジェクトの詳細を次のように入力し、をクリックします。 保存 新しいプロジェクトを保存するためのボタン:

  • 名前 –必要に応じてプロジェクト名を指定しますが、このチュートリアルのプロジェクトには名前が付けられています 私のプロジェクト
  • 説明 –説明の追加はオプションですが、プロジェクトを多すぎるものから識別するのに役立ちます。
  • SCMタイプ –SCMTYPEをManualに設定します。 このオプションを使用すると、パブリックまたはプライベートリポジトリから呼び出すのではなく、UbuntuマシンでAnsiblePlaybookを手動で作成できます。
  • プレイブックディレクトリ– 内に作成したディレクトリに値を設定します / var / lib / awx / projects ステップ1のディレクトリ(プレイブック)。
新しいプロジェクトの作成
新しいプロジェクトの作成

5.左側のサイドバーの[テンプレート]に移動し、プロジェクトの作成時と同じようにプラスボタン(+)をクリックして、新しいジョブテンプレートを追加します。

次のようにテンプレートフォームに記入します。

  • 名前 –好みのジョブ名を設定しますが、このチュートリアルの選択は次のとおりです。 私の仕事
  • 職種 –ジョブが実行するアクションを設定します(走る)。
  • 在庫 –「インベントリの作成と管理」セクションのステップ2で作成したインベントリを選択します(ATAラーニング)。
  • 事業 –プロジェクトの名前を指定します(私のプロジェクト)ステップ4で作成しました。
  • プレイブック– 手順2で作成したプレイブックファイル(ata.yml)を入力します。
新しいジョブテンプレートの作成
新しいジョブテンプレートの作成

ジョブの詳細に満足したら、[保存]ボタン(右下)をクリックしてジョブを保存します。

新しいジョブテンプレートの保存
新しいジョブテンプレートの保存

6.最後に、[JOB TEMPLATES]ページに移動し、次に示すように起動ボタンをクリックして、新しく作成されたジョブを実行します。

新しく作成されたジョブの実行
新しく作成されたジョブの実行

以下に示すように、ジョブはローカルホストで正常に実行され、プレイブックで指定されたディレクトリ内のすべてのファイルが一覧表示されました。

ジョブ実行の表示
ジョブ実行の表示

結論

このチュートリアルでは、AnsibleTowerがAnsibleの在庫とジョブを管理するための優れた方法であることを学びました。 また、ジョブを実行してプレイブックを実行する際のAnsibleTowerUIの並外れた効果にも気づきました。

では、プレイブックの管理方法をさらに制御してみませんか? おそらく、Ansibleのいつおよび他の条件を使用する方法を学びますか?

The post AnsibleTowerでプレイブックと在庫を簡単に管理 appeared first on Gamingsym Japan.