EX294日本語試験無料問題集「RedHat Red Hat Certified Engineer (RHCE) exam for Red Hat Enterprise Linux 8 Exam (EX294日本語版) 認定」

hosts ファイルを生成します。
* 初期テンプレート ファイル hosts.j2 を http://classroom.example.com/ からダウンロードします。
hosts.j2 から
/home/admin/ansible/ テンプレートを完成させて、/etc/hosts と同じ形式で各インベントリーホストの行を含むファイルを生成するために使用できるようにします。
172.25.250.9 workstation.lab.example.com ワークステーション
* このテンプレートを使用して dev ホスト グループ内のホストにファイル /etc/myhosts を生成する gen_hosts.yml という Playbook を作成します。
* 完了すると、dev ホスト グループ内のホストのファイル /etc/myhosts に、管理対象ホストごとに次の行が表示されます。
127.0.0.1 ローカルホスト localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.25.250.10 serevra.lab.example.com サーバーa
172.25.250.11 serevrb.lab.example.com サーバーb
172.25.250.12 serevrc.lab.example.com サーバーc
172.25.250.13 serevrd.lab.example.com サーバード
-------------------------------------------------- ---------------
これらのファイルを作成する練習をしながら聞いてください。しかし、試験では質問ごとにダウンロードする必要があります。
hosts.j2 ファイルで構成されています。
localhost localhost.localdomain localhost4 localhost4.localdomain4
::1
localhost localhost.localdomain localhost6 localhost6.localdomain6
-------------------------------------------------- -----------------
正解:
解決策:
# pwd
/ホーム/管理者/アンシブル
# wget http://classroom.example.com/hosts.j2
# vim hosts.j2
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1
localhost localhost.localdomain localhost6 localhost6.localdomain6
{グループ内のホストの %['all'] %}
{{ hostvars[host]['ansible_facts']['default_ipv4']['address'] }} {{ hostvars[host]
['ansible_facts']['fqdn'] }} {{ hostvars[ホスト]['ansible_facts']['ホスト名'] }}
{% endfor %}
:wq!
# vim gen_hosts.yml
---
- 名前: すべてのホスト情報を収集する
ホスト: すべて
タスク:
- 名前:
テンプレート:
ソース: hosts.j2
宛先: /etc/myhosts
when: グループ内の inventory_hostname['dev']
:wq
# ansible-playbook gen_hosts.yml --syntax-check
# ansible-playbook gen_hosts.yml
提供されたファイル usersjit.yml ファイルでユーザーを作成します。/home/sandy/ansible にある users.yml という Playbook でこれを行います。これらのユーザーのパスワードは、TASK7 の lock.yml ファイルを使用して設定する必要があります。Playbook を実行する場合、lock.yml ファイルはタスク 7 の secret.txt ファイルでロック解除する必要があります。
「開発者」のジョブを持つすべてのユーザーを開発ホストで作成し、それらをグループ devops に追加する必要があります。パスワードは pw_dev 変数を使用して設定する必要があります。同様に、プロキシ ホストで「manager」のジョブを持つユーザーを作成し、そのユーザーをグループ「managers」に追加します。パスワードは pw_mgr 変数を使用して設定する必要があります。
正解:
ansible-playbook users.yml -vault-password-file=secret.txt
packages.yml という Playbook を作成します。
----------------------------------------------
--> dev、test、および prod ホストのホストに php および mariadb パッケージをインストールします。
グループ。
--> 開発ツール パッケージ グループを dev ホスト グループ内のホストにインストールします。
--> dev ホスト グループ内のホストで、すべてのパッケージを最新バージョンに更新します。
正解:
解決策:
# pwd
ホーム/管理者/アンシブル/
# vim packages.yml
---
- name: パッケージをインストールします
ホスト: 開発、テスト、本番
変数:
- php_pkg: php
-mariadb_pkg:mariadb
タスク:
- name: パッケージをインストールします
うーん:
名前:
- "{{php_pkg}}"
- "{{ mariadb_pkg }}"
状態: 最新
- name: devops ツール パッケージをインストールします
ホスト: dev
タスク:
- 名前: 開発ツールのインストール
うーん:
名前:「@開発ツール」
状態: 最新
- name: すべてのパッケージをアップグレードします
うーん:
名前: "*"
状態: 最新
除外: カーネル*
!wq
# ansible-playbook package.yml --syntax-check
# ansible-playbook package.yml
次のように、「/home/admin/ansible/roles」に apache というロールを作成します。
要件:
--> httpd パッケージがインストールされ、起動時に有効になり、開始されます。
--> ファイアウォールが有効になっており、Web サーバーへのアクセスを許可するルールで実行されています。
--> テンプレート ファイル index.html.j2 を使用して、ファイル /var/www/html/index.html を作成します。
出力で:
IPADDRESS の HOSTNAME へようこそ
--> ここで、HOSTNAME は管理対象ノードの fqdn であり、IPADDRESS は管理対象ノードの IP アドレスです。
管理対象ノード。
注: index.html.j2 ファイルを作成する必要があります。
--> このロールを使用する httpd.yml という Playbook を作成し、Playbook を実行します。
ホストは webservers ホスト グループに含まれます。
正解:
解決策:
----------
# pwd
/home/admin/ansible/roles/
# ansible-galaxy init Apache
# vim apache/vars/main.yml
---
# Apache の vars ファイル
http_pkg: httpd
firewall_pkg: ファイアウォールd
http_srv: httpd
firewall_srv: firewalld
ルール: http
ウェブページ: /var/www/html/index.html
テンプレート: index.html.j2
:wq!
# vim apache/tasks/package.yml
---
- 名前: パッケージのインストール
うーん:
名前:
- "{{http_pkg}}"
- "{{firewall_pkg}}"
状態: 最新
:wq!
# vim apache/tasks/service.yml
---
- 名前: http サービスの開始と有効化
サービス:
名前: "{{http_srv}}"
有効: 真
状態: 開始
- 名前: ファイアウォール サービスの開始と有効化
サービス:
名前: "{{firewall_srv}}"
有効: 真
状態: 開始
:wq!
# vim apache/tasks/firewall.yml
---
- name: ファイアウォールに http サービスを追加する
ファイアウォール:
サービス: "{{ルール}}"
状態: 有効
パーマネント: 真
即時: 真
:wq!
# vim apache/tasks/webpage.yml
---
- 名前: テンプレート ファイルの作成
テンプレート:
src: "{{テンプレート}}"
dest: "{{ウェブページ}}"
通知: restart_httpd
!wq
# vim apache/tasks/main.yml
# Apache のタスク ファイル
- import_tasks: package.yml
- import_tasks: service.yml
- import_tasks: firewall.yml
- import_tasks: webpage.yml
:wq!
# vim apache/templates/index.html.j2
{{ ansible_facts.default_ipv4.address }} の {{ ansible_facts.fqdn }} へようこそ
# vim apache/handlers/main.yml
---
# Apache のハンドラ ファイル
- 名前: restart_httpd
サービス:
名前: httpd
状態:再起動
:wq!
# CD ..
# pwd
/ホーム/管理者/アンシブル/
# vim httpd.yml
---
- 名前: Apache ロールを含む
ホスト: ウェブサーバー
事前タスク:
- 名前: プレタスク メッセージ
デバッグ:
msg: 'Web サーバーの設定を確認してください'
役割:
- ./roles/apache
post_tasks:
- name: ウェブサーバーをチェック
うり:
URL: "http://{{ ansible_facts.default_ipv4.address }}"
return_content: はい
ステータスコード: 200
:wq!
# ansible-playbook httpd.yml --syntax-check
# ansible-playbook httpd.yml
# カール http://serverx