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

AWXGUIを使用してAnsiblePlaybookを実行およびスケジュールする方法

前回の記事では、CentOS8およびRHEL8へのAnsibleAWXのインストール手順をすでに説明しました。AnsibleAWXは、無料のオープンソースバージョンのRed HatAnsibleTowerです。グラフィカルユーザーインターフェイス、Rest API、Ansibleタスクエンジンを提供します。

この記事では、Ansible AWX GUIの基本的な使用法と、このツールを使用してAnsiblePlaybookを実行およびスケジュールする方法について説明します。

AWXGUIのラボの詳細

  • 192.168.1.6 //すでにインストールされているAnsibleAWXシステム(CentOS 8)
  • 192.168.1.9 // Ansibleクライアント(CentOS 7)
  • 192.168.1.10 // Ansibleクライアント(Ubuntu 18.04)
  • すべてのマシンとNTPサーバーのタイム同期
  • sudo権限を持つsysadmユーザー

AWXの基本的な使用法とAWXGUIを介したAnsibleプレイブックの実行の手順にジャンプしましょう。

ステップ1)AnsibleAWXノードとそのクライアント間でキーベースの認証を設定する

sysadmユーザーを使用しているため、このユーザーのsshキーをAnsbileAWXシステムからansibleクライアントに交換します。

sysadmユーザーはこれらのシステムですでに作成されており、sudo権限を持っていると想定しています。以下のコマンドを使用して、AWXノードからsysadmユーザーのSSHキーを生成し、ssh-copy-idコマンドを使用してその公開キーをansibleクライアントと共有します。

[[email protected] ~]$ ssh-keygen

次に、sysadmユーザーの公開鍵をクライアントにコピーします

[[email protected] ~]$ ssh-copy-id [email protected]
[[email protected] ~]$ ssh-copy-id [email protected]

キーベースの認証が正しく設定されているかどうかを確認するには、次のコマンドを実行します。

[[email protected] ~]$ ssh  [email protected] "hostname;exit" 
centos7 
[[email protected] ~]$ ssh  [email protected] "hostname;exit" 
Ubuntu-18-04 
[[email protected] ~]$

ステップ2)AWXGUIで組織を作成する

Ansible AWX GUIにログインし、組織に移動します タブを付け、「+」記号をクリックして組織を作成します。

次に、組織名を入力するように求められます

[保存]をクリックします

ステップ3)プロジェクトを作成し、それに組織を割り当てます

プロジェクトを作成する前に、まず、すべてのAnsibleプレイブックを保存するプロジェクトのディレクトリを作成し、AWXノードのCLIコンソールに移動して実行します。

[[email protected] ~]$ sudo mkdir /var/lib/awx/projects/automation

次に、CentOSおよびUbuntuシステムにbind-utilsパッケージをインストールするためのサンプルプレイブックを作成します。

[[email protected] ~]$ cd /var/lib/awx/projects/automation/
[[email protected] automation]$ sudo vi example.yaml
---
- hosts: all
  gather_facts: true
  become: true
  tasks:
    - yum:
        name: bind-utils
      when: ansible_os_family == "RedHat"
    - apt:
        name: dnsutils
      when: ansible_os_family == "Debian"

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

次に、AWX GUIに移動し、プロジェクトを選択します。 タブをクリックし、[+記号]をクリックして新しいプロジェクトを作成し、設定に適したプロジェクトの名前を指定し、組織などの他の詳細を指定します 「LINUXTECHI」として 、SCMタイプ手動」として 、プロジェクトベースパス/var / lib/projects」として およびプレイブックディレクトリ自動化

[保存]をクリックします

ステップ4)資格情報を作成し、秘密鍵とその他の詳細を追加します

これらのクレデンシャルは、ターゲットのansibleクライアントでプレイブックを実行するときに使用されます。 sysadmユーザーのSSH秘密鍵の内容を取得するには、次のコマンドを実行します。

[[email protected] ~]$ cat ~/.ssh/id_rsa

次に、資格情報を選択します タブをクリックして「+」記号をクリックして資格情報を作成し、資格情報の種類を選択します 「マシン」として 「、組織を選択してください 「LINUXTECHI 「、ユーザー名sysadm 」と「SSH秘密鍵」にsysadmユーザーの秘密鍵を貼り付けます 」セクションで、「特権昇格方法」を選択します ‘as‘ sudo ‘、‘特権昇格ユーザー名 ‘as‘ sysadm ‘および‘特権昇格パスワード’ {password-of-sysadm-user}

として

[保存]をクリックします

ステップ5)インベントリを作成し、それにホストを追加して、pingモジュールを実行します

インベントリを作成するには、インベントリを選択します タブをクリックし、+記号をクリックしてインベントリの名前を指定し、組織を「 LINUXTECHI」として選択します。 「、

フロントエンドにホストを追加するには インベントリ、上のウィンドウで[保存]オプションを選択し、ホストをクリックします 「+」記号をクリックしてホストの追加を開始し、「ホスト名」でIPアドレスまたはホスト名を指定します 」フィールドをクリックし、[保存]をクリックします。

同様に、別のホスト「192.168.1.10」を追加します。

ホストの1つでpingモジュールを実行して、接続と資格情報を確認してみましょう。インベントリからホストのいずれかを選択し、「コマンドを実行」をクリックします 」

次のウィンドウで、[ ping]を選択します モジュールセクションから‘を選択し、「自動化クレデンシャル」を選択します 」マシンクレデンシャルから

[起動]をクリックすると、次の画面が表示されます

完璧な上記のウィンドウは、接続性と資格情報が正常に機能していることを確認します。次のステップに進み、テンプレートを作成しましょう。

ステップ5)ジョブテンプレートを作成して実行する

ジョブテンプレートを作成するには、「テンプレート」を選択します 」タブをクリックし、+記号をクリックして、「ジョブテンプレート」を選択します。 」

次のように指定します。

  • 名前:PKGインストール
  • 説明:BindUtilsPKGをインストールします
  • ジョブタイプ:実行
  • 在庫:フロントエンド
  • プロジェクト:自動化
  • PLAYBOOK:example.yaml
  • クレデンシャル:自動化クレデンシャル
  • 「特権昇格を有効にする」を選択します

[保存]をクリックします

次に、ジョブを実行して、ジョブが正常に実行されるかどうかを確認します。ここで、ジョブの実行は、上記の手順で作成したクレデンシャルを使用したインベントリでのAnsibleプレイブックの実行に他なりません。

ジョブを「PKGインストール」として選択します 」をクリックし、ロケットシンボルをクリックしてジョブを実行します。

次の画面が表示されます。JobまたはAnsiblePlaybookが正常に実行されると、成功メッセージが表示されます。

すばらしい、ジョブは正常に実行されました。このジョブをスケジュールしましょう。

ステップ6)ジョブテンプレートのスケジュール

スケジュールするジョブテンプレートを選択します。私の場合は「PKGインストール」になります。 」を選択し、「スケジュール」を選択します 」オプションを選択し、[+記号]をクリックして新しいスケジュールを作成します。

4月30日まで毎日16:00にジョブが実行されるようにスケジュールを作成するとします。

[保存]をクリックして、ジョブテンプレート「PKGインストール」のこのスケジュールを有効にします 「。

この記事は以上です。これらの手順が、Ansible AWX GUIの基本的な使用法と、ジョブテンプレートを介してAnsiblePlaybookがどのように実行されるかを理解するのに役立つことを願っています。フィードバックやコメントをお気軽に共有してください。


Linux
  1. LinuxにAnsibleをインストールしてテストする方法

  2. AnsiblePlaybookの作成方法

  3. 追加の変数をAnsibleプレイブックに渡す方法

  1. Ansible Playbook:Playbookを作成および構成する方法

  2. Ansible Playbookでタグを使用する方法(例)

  3. Ansibleプレイブックを使用してワークステーションとサーバーの更新を管理する

  1. AnsiblePlaybookでAnsibleGalaxyの役割をダウンロードして使用する方法

  2. AnsiblePlaybookで変数を使用する方法

  3. AnsiblePlaybookでループを使用する方法