6.2. kernel_settings ロールを使用した選択したカーネルパラメーターの適用
以下の手順に従って、Ansible Playbook を準備および適用し、複数の管理システムで永続化の影響でカーネルパラメーターをリモートに設定します。
前提条件
-
root権限がある。 -
RHEL サブスクリプションの資格を取得して、
ansible-coreおよびrhel-system-rolesパッケージをコントロールマシンにインストールしている。 - 管理対象ホストのインベントリーが制御マシンに存在し、Ansible から接続できる。
RHEL 8.0-8.5 では、別の Ansible リポジトリーへのアクセス権を指定されており、Ansible をベースにする自動化用の Ansible Engine 2.9 が含まれています。Ansible Engine には、 ansible、ansible-playbook などのコマンドラインユーティリティー、docker や podman などのコネクター、プラグインとモジュールすべてが含まれています。Ansible Engine を入手してインストールする方法については、Red Hat Ansible Engine をダウンロードしてインストールする方法 を参照してください。
RHEL 8.6 および 9.0 では、Ansible Core (ansible-coreRPM として提供) が導入されました。これには、Ansible コマンドラインユーティリティー、コマンド、および組み込みの Ansible プラグインセットが少し含まれています。App Stream リポジトリーには、ansible-core が含まれていますが、サポートの範囲が限定されています。詳細は、RHEL 9App Stream に含まれている ansible-core パッケージのサポート範囲 を確認してください。
手順
必要に応じて、図の目的で
inventoryファイルを確認します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ファイルは
[testingservers]グループと他のグループを定義します。これにより、特定のシステムセットに対して Ansible をより効果的に実行できます。設定ファイルを作成して、Ansible 操作のデフォルトと特権昇格を設定します。
新しい YAML ファイルを作成し、これをテキストエディターで開きます。以下に例を示します。
vi /home/jdoe/<ansible_project_name>/ansible.cfg
# vi /home/jdoe/<ansible_project_name>/ansible.cfgCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の内容をファイルに挿入します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [defaults]セクションは、管理対象ホストのインベントリーファイルへのパスを指定します。[privilege_escalation]セクションでは、指定した管理対象ホストのユーザー権限がrootに移行されることを定義します。これは、カーネルパラメーターを正常に設定するために必要です。Ansible Playbook を実行すると、ユーザーパスワードの入力が求められます。管理対象ホストへの接続後に、sudoによりrootに自動的に切り替わります。
kernel_settingsロールを使用する Ansible Playbook を作成します。新しい YAML ファイルを作成し、これをテキストエディターで開きます。以下に例を示します。
vi /home/jdoe/<ansible_project_name>/kernel-roles.yml
# vi /home/jdoe/<ansible_project_name>/kernel-roles.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow このファイルは Playbook を表し、通常は、
inventoryファイルから選択した特定の管理対象ホストに対して実行される、プレイ とも呼ばれるタスクの順序付きリストが含まれます。以下の内容をファイルに挿入します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow nameキーは任意です。任意の文字列をラベルとしてプレイに関連付け、プレイの対象を特定します。プレイのhostsキーは、プレイを実行するホストを指定します。このキーの値または値は、管理対象ホストの個別名またはinventoryファイルで定義されているホストのグループとして指定できます。varsセクションは、設定する必要がある、選択したカーネルパラメーター名および値が含まれる変数の一覧を表します。rolesキーは、varsセクションで説明されているパラメーターおよび値を設定するシステムロールを指定します。注記必要に応じて、Playbook のカーネルパラメーターとその値を変更することができます。
必要に応じて、プレイ内の構文が正しいことを確認します。
ansible-playbook --syntax-check kernel-roles.yml playbook: kernel-roles.yml
# ansible-playbook --syntax-check kernel-roles.yml playbook: kernel-roles.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の例では、Playbook の検証が成功したことを示しています。
Playbook を実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ansible が Playbook を実行する前に、パスワードの入力を求められます。これにより、管理対象ホストのユーザーが
rootに切り替わります。これは、カーネルパラメーターの設定に必要です。recap セクションは、すべての管理対象ホストのプレイが正常に終了したこと (
failed=0)、および 4 つのカーネルパラメーターが適用されたこと (changed=4) を示しています。- 管理対象ホストを再起動して、影響を受けるカーネルパラメーターをチェックし、変更が適用され、再起動後も維持されていることを確認します。