ワークショップ演習 - プロジェクトとジョブテンプレート

他の言語でもお読みいただけます:
uk English、japan日本語、brazil Portugues do Brasil、france Française、Español Español

目次

目的

Ansible 自動コントローラー Project は、AnsiblePlaybook の論理的なコレクションです。Playbook は、Git、Subversion などの自動コントローラーがサポートするソースコード管理 (SCM) システムに配置することで管理できます。

この演習では、以下について説明します。

ガイド

Git リポジトリーのセットアップ

このデモでは、Git リポジトリーに保存されている Playbook を使用します。

https://github.com/ansible/workshop-examples

Apache Web サーバーをインストールする Playbook が既に rhel/apache ディレクトリーにコミットされている (apache_install.yml):

---
- name: Apache server installed
  hosts: web

  tasks:
  - name: latest Apache version installed
    yum:
      name: httpd
      state: latest

  - name: latest firewalld version installed
    yum:
      name: firewalld
      state: latest

  - name: firewalld enabled and running
    service:
      name: firewalld
      enabled: true
      state: started

  - name: firewalld permits http service
    firewalld:
      service: http
      permanent: true
      state: enabled
      immediate: yes

  - name: Apache enabled and running
    service:
      name: httpd
      enabled: true
      state: started

ヒント

作成した Playbook の違いをメモしてください。最も重要なのは、become がなく、hosts が all に設定されていることです。

自動コントローラーで Source Control Management (SCM) として、このレポジトリーを設定して使用するには、このレポジトリーを使用する Project を作成する必要があります。

プロジェクトの作成

パラメーター 値
Name Workshop Project
Organization Default
Default Execution Environment Default execution environment
Source Control Credential Type Git

Project 構成に URL を入力します。

パラメーター 値
Source Control URL https://github.com/ansible/workshop-examples.git
Options Select Clean, Delete, Update Revision on Launch to request a fresh copy of the repository and to update the repository when launching a job.

新しい Project は、作成後に自動的に同期されます。ただし、これを手動で行うこともできます。Projects ビューに移動し、プロジェクトの右側にある円形の矢印 *Sync Project** アイコンをクリックして、プロジェクトを Git リポジトリーと再度同期します。

同期ジョブを開始した後、Jobs ビューに移動します。Git リポジトリーを更新するための新しいジョブがあります。

ジョブテンプレートの作成とジョブの実行

ジョブテンプレートは、Ansible ジョブを実行するための定義とパラメーターのセットです。ジョブテンプレートは、同じジョブを何度も実行するのに役立ちます。したがって、自動コントローラーから Ansible Jobを実行する前に、まとめる Job Template を作成する必要があります。

実際にやってみましょう。Resources -> Templates ビューに移動して、*Add** button and choose ** ボタンをクリックし、Add job template を選択します。

ヒント

フィールドへの記入を選ぶにあたり、オプションの概要を得るには拡大鏡をクリックすることができます。

パラメーター 値
Name Install Apache
Job Type Run
Inventory Workshop Inventory
Project Workshop Project
Execution Environment Default execution environment
Playbook rhel/apache/apache_install.yml
Credentials Workshop Credential
Limit web
Options tasks need to run as root so check **Privilege Escalation**

青い Launch ボタンを直接クリックするか、Job Templates の概要でロケットをクリックすると、ジョブを開始できます。ジョブテンプレートを起動すると、自動的にジョブの概要が表示され、Playbook の実行をリアルタイムで追跡できます。

ジョブの詳細 job details

ジョブの実行 job_run

これには時間がかかる場合があるため、提供されているすべての詳細を詳しく調べてください。

ジョブが終了したら、メインの Jobs ビューに移動します。すべてのジョブがここに一覧表示されます。Playbook が実行される前に、Source Control Update が開始されていたことがわかります。これは、起動時に Project 用に構成した Git アップデートです。

チャレンジラボ: 結果のチェック

小チャレンジ:

必要なすべての手順をすでに完了しているので、これを自分で試してください。

ヒント

systemctl status httpd はどうでしょうか。

警告

回答を以下に示します

Details ウィンドウで、Arguments systemctl status httpd で Module command を選択し、次へ をクリックします。

Execution Environment ウィンドウで Default execution environment を選択し、Next をクリックします。

Machine Credentialウィンドウで、Workshop Credential を選択し、Launch をクリックします。

ヒント

結果の出力は、コマンドが完了すると表示されます。


ナビゲーション
前の演習 - 次の演習

Click here to return to the Ansible for Red Hat Enterprise Linux Workshop