他の言語でもお読みいただけます:
English、日本語、 Portugues do Brasil、 Française、 Español
Ansible 自動コントローラー survey 機能 の使用のデモンストレーションを行います。Survey は、「Prompt for Extra Variables (追加変数のプロンプト)」と同様に Playbook の追加変数を設定しますが、ユーザーが使いやすい質問と回答を使ってこれを実行します。また、Survey ではユーザー入力を検証することもできます。
実行したジョブのすべてのホストに Apache をインストールしました。次に、これに拡張を行っていきます。
-
jinja2 テンプレートを持つ適切なロールを使用して、
index.html
ファイルをデプロイします。 -
survey でジョブ Template を作成し、
index.html
テンプレートの値を収集します。 -
ジョブ Template を起動します。
さらに、この演習のために Apache の設定が適切に設定されていることを確認する役割もあります。
ヒント
この survey 機能では、データにシンプルな query を提供します。4 つの目の原則、動的データに基づいたクエリー、ネストメニューには対応していません。
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 を含む新しいテンプレートを作成します。
-
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 タブをクリックして、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 Line と Second 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