Skip to content

Latest commit

 

History

History
192 lines (148 loc) · 6.88 KB

File metadata and controls

192 lines (148 loc) · 6.88 KB

演習 - Survey

他の言語でもお読みいただけます:
uk Englishjapan日本語brazil Portugues do Brasilfrance FrançaiseEspañol Español

目次

目的

Ansible 自動コントローラー survey 機能 の使用のデモンストレーションを行います。Survey は、「Prompt for Extra Variables (追加変数のプロンプト)」と同様に Playbook の追加変数を設定しますが、ユーザーが使いやすい質問と回答を使ってこれを実行します。また、Survey ではユーザー入力を検証することもできます。

ガイド

実行したジョブのすべてのホストに Apache をインストールしました。次に、これに拡張を行っていきます。

  • jinja2 テンプレートを持つ適切なロールを使用して、index.htmlファイルをデプロイします。

  • survey でジョブ Template を作成し、index.html テンプレートの値を収集します。

  • ジョブ Template を起動します。

さらに、この演習のために Apache の設定が適切に設定されていることを確認する役割もあります。

ヒント

この survey 機能では、データにシンプルな query を提供します。4 つの目の原則、動的データに基づいたクエリー、ネストメニューには対応していません。

Apache-configuration ロール

Jinja2 テンプレートの Playbook とロールが、ディレクトリー rhel/apache の Github リポジトリー https://github.com/ansible/workshop-examples に既に存在します。

Github UI にアクセスして、コンテンツを確認します。Playbook apache_role_install.yml は単にロールを参照します。ロールは、roles/role_apache サブディレクトリーにあります。

  • ロール内で、{{…​}} でマークされている templates/index.html.j2 テンプレートファイルの 2 つの変数をメモします。
  • また、テンプレートからファイルをデプロイする、tasks/main.yml のタスクを確認します。

この Playbook はどのような操作を行うのでしょうか。テンプレート (src) の管理対象ホストでファイル (dest) を作成します。

このロールは、Apache の静的構成も展開します。これにより、前の章で行ったすべての変更が上書きされ、例が正しく動作するようになります。

Playbook とロールは、apache_install.yml Playbook と同じ Github レポジシトリーにあるため、この演習用に新しいプロジェクトを構成する必要はありません。

Survey を持つテンプレートの作成

次は、survey を含む新しいテンプレートを作成します。

テンプレートの作成

  • Resources → Templates に移動し、Add ボタンをクリックして、Add job template を選択します。

  • 次の情報を入力します。

パラメーター
Name Create index.html
Job Type Run
Inventory Workshop Inventory
Project Workshop Project
Eecution Environment Default execution environment
Playbook rhel/apache/apache_role_install.yml
Credentials Workshop Credential
Limit web
Options Privilege Escalation
  • Save をクリックします。

警告

まだテンプレートは実行しないでください。

Survey の追加

  • テンプレートで Survey タブをクリックして、Add ボタンをクリックします。

  • 次の情報を入力します。

パラメーター
Question First Line
Answer Variable Name first_line
Answer Type Text
  • Save をクリックします。
  • 追加 ボタンをクリックします。

同じ方法で、2 番目の Survey Question を追加します。

パラメーター
Question Second Line
Answer Variable Name second_line
Answer Type Text
  • Save をクリックします。

  • トグルをクリックして、質問を Survey Enabled に切り替えます

テンプレートの起動

Details タブを選択し、Launch ボタンをクリックしてジョブテンプレートの作成 Create index.html を起動します。

実際に起動する前に、Survey により、First LineSecond Line が求められます。テキストを入力して、Preview をクリックします。次のウィンドウに値が表示されます。問題がなければ、Launch をクリックしてジョブを実行します。

ジョブが完了したら、Apache ホームページを確認します。コントロールホストの SSH コンソールで、node1 の以下に対して curl を実行します。

$ curl http://node1
<body>
<h1>Apache is running fine</h1>
<h1>This is survey field "First Line": line one</h1>
<h1>This is survey field "Second Line": line two</h1>
</body>

Playbook によって使用されている 2 つの変数が index.html ファイルの内容を作成するかに注意してください。


ナビゲーション

{% if page.url contains 'ansible_rhel_90' %} Previous Exercise - Next Exercise {% else %} Previous Exercise - Next Exercise {% endif %}

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