6.2. 使用 kernel_settings 角色应用所选内核参数
按照以下步骤准备并应用 Ansible playbook 来远程配置内核参数,从而对多个受管操作系统产生持久性。
先决条件
-
有
root权限。 -
RHEL 订阅授权,您将在控制机器上安装
ansible-core和rhel-system-roles软件包。 - 受管主机清单存在于控制计算机上,Ansible 能够连接它们。
RHEL 8.0 - 8.5 提供对基于 Ansible 的自动化需要 Ansible Engine 2.9 的独立 Ansible 存储库的访问权限。Ansible Engine 包含命令行实用程序,如 ansible、ansible-playbook; 连接器,如 docker 和 podman; 以及插件和模块的整个环境。有关如何获取并安装 Ansible Engine 的信息,请参阅如何下载和安装 Red Hat Ansible Engine?。
RHEL 8.6 和 9.0 引入了 Ansible Core(以 ansible-core RPM 提供),其中包含 Ansible 命令行工具、命令以及小型内置 Ansible 插件。AppStream 存储库提供 ansible-core,它的范围有限。如需更多信息,请参阅 RHEL 9 AppStream 中包含的 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,通常包含了一组有特定顺序的任务(也称为 play )列表。这些任何会根据
inventory文件中选择的特定管理主机进行。将以下内容插入到文件中:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow name键是可选的。它将一个任意字符串作为标签与该 play 关联,并确定该 play 的用途。Play 中的hosts键指定对其运行 play 的主机。此键的值或值可以作为被管理的主机的单独名称提供,也可以作为inventory文件中定义的一组主机提供。vars部分代表包含所选内核参数名称和值的变量列表。roles键指定系统角色将配置vars部分中提到的参数和值。注意您可以修改 playbook 中的内核参数及其值以符合您的需要。
(可选)验证 play 中的语法是否正确。
ansible-playbook --syntax-check 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 部分显示 play 成功完成所有受管主机 (
failed=0),并且已应用了 4 个内核参数 (changed=4)。- 重启您的受管主机并检查受影响的内核参数,以验证是否应用了更改并在重启后保留。