第 8 章 使用 RHEL 系统角色安装和配置 web 控制台
使用 cockpit
RHEL 系统角色,您可以在多个 RHEL 系统上自动部署和启用 Web 控制台。
8.1. 使用 cockpit
RHEL 系统角色安装 Web 控制台
您可以使用 cockpit
系统角色在多个系统上自动安装和启用 RHEL web 控制台。
在本例中,您可以使用 cockpit
系统角色来:
- 安装 RHEL web 控制台。
- 将 Web 控制台配置为使用自定义端口号(9050/tcp)。默认情况下,Web 控制台使用端口 9090。
-
允许
firewalld
和selinux
系统角色配置系统来打开新端口。 -
将 web 控制台设置为使用
ipa
trusted 证书颁发机构的证书,而不使用自签名证书。
您不必在 playbook 中调用 firewall
或 certificate
系统角色来管理防火墙或创建证书。cockpit
系统角色根据需要自动调用它们。
先决条件
- 您已准备好控制节点和受管节点。
- 以可在受管主机上运行 playbook 的用户登录到控制节点。
-
用于连接到受管节点的帐户具有
sudo
权限。
步骤
创建包含以下内容的 playbook 文件,如
~/playbook.yml
:--- - name: Manage the RHEL web console hosts: managed-node-01.example.com tasks: - name: Install RHEL web console ansible.builtin.include_role: name: rhel-system-roles.cockpit vars: cockpit_packages: default cockpit_port: 9050 cockpit_manage_selinux: true cockpit_manage_firewall: true cockpit_certificates: - name: /etc/cockpit/ws-certs.d/01-certificate dns: ['localhost', 'www.example.com'] ca: ipa
示例 playbook 中指定的设置包括:
cockpit_manage_selinux: true
-
允许使用
selinux
系统角色配置 SELinux,以在websm_port_t
SELinux 类型上设置正确的端口权限。 cockpit_manage_firewall: true
-
允许
cockpit
系统角色使用firewalld
系统角色来添加端口。 cockpit_certificates: <YAML_dictionary>
默认情况下,RHEL web 控制台使用自签名证书。或者,您可以将
cockpit_certificates
变量添加到 playbook 中,并将角色配置为从 IdM 证书颁发机构(CA)请求证书,或使用受管节点上的现有证书和私钥。有关 playbook 中使用的所有变量的详情,请查看控制节点上的
/usr/share/ansible/roles/rhel-system-roles.cockpit/README.md
文件。
验证 playbook 语法:
$ ansible-playbook --syntax-check ~/playbook.yml
请注意,这个命令只验证语法,不会防止错误但有效的配置。
运行 playbook:
$ ansible-playbook ~/playbook.yml
其他资源
-
/usr/share/ansible/roles/rhel-system-roles.cockpit/README.md
file -
/usr/share/doc/rhel-system-roles/cockpit
directory - 使用 RHEL 系统角色请求证书