他の言語でもお読みいただけます:
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 |
警告
まだテンプレートは実行しないでください。
テンプレートで Survey タブをクリックして、Add ボタンをクリックします。
次の情報を入力します。
パラメーター | 値 |
---|---|
Question | First Line |
Answer Variable Name | first_line |
Answer Type | Text |
同じ方法で、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
ファイルの内容を作成するかに注意してください。
ナビゲーション
Previous Exercise - Next Exercise
Click here to return to the Ansible for Red Hat Enterprise Linux Workshop