2.2. 在 SELinux 上安装自动化中心的高可用性 (HA) 部署
要在 SELinux 上设置自动化中心的高可用性(HA)部署,请为 /var/lib/pulp 和 /var/lib/pulp/pulpcore_static 创建两个挂载点,然后将适当的 SELinux 上下文分配给每个。您需要为 /var/lib/pulp/pulpcore_static 添加上下文,并在为 /var/lib/pulp 添加上下文前运行 Ansible Automation Platform 安装程序。
先决条件
- 您已在服务器上配置了 NFS 导出。
预安装步骤
在
/var/lib/pulp中创建挂载点:mkdir /var/lib/pulp/
$ mkdir /var/lib/pulp/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用文本编辑器打开
/etc/fstab,然后添加以下值:srv_rhel8:/data /var/lib/pulp nfs defaults,_netdev,nosharecache 0 0 srv_rhel8:/data/pulpcore_static /var/lib/pulp/pulpcore_static nfs defaults,_netdev,nosharecache,context="system_u:object_r:httpd_sys_content_rw_t:s0" 0 0
srv_rhel8:/data /var/lib/pulp nfs defaults,_netdev,nosharecache 0 0 srv_rhel8:/data/pulpcore_static /var/lib/pulp/pulpcore_static nfs defaults,_netdev,nosharecache,context="system_u:object_r:httpd_sys_content_rw_t:s0" 0 0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令:
systemctl daemon-reload
$ systemctl daemon-reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow 为
/var/lib/pulp运行 mount 命令:mount /var/lib/pulp
$ mount /var/lib/pulpCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在
/var/lib/pulp/pulpcore_static处创建一个挂载点:mkdir /var/lib/pulp/pulpcore_static
$ mkdir /var/lib/pulp/pulpcore_staticCopy to Clipboard Copied! Toggle word wrap Toggle overflow 运行 mount 命令:
mount -a
$ mount -aCopy to Clipboard Copied! Toggle word wrap Toggle overflow 设置挂载点后,运行 Ansible Automation Platform 安装程序:
setup.sh -- -b --become-user root
$ setup.sh -- -b --become-user rootCopy to Clipboard Copied! Toggle word wrap Toggle overflow
安装完成后,卸载 /var/lib/pulp/ 挂载点,然后应用适当的 SELinux 上下文:
安装后的步骤
关闭 Pulp 服务:
systemctl stop pulpcore.service
$ systemctl stop pulpcore.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 卸载
/var/lib/pulp/pulpcore_static:umount /var/lib/pulp/pulpcore_static
$ umount /var/lib/pulp/pulpcore_staticCopy to Clipboard Copied! Toggle word wrap Toggle overflow 卸载
/var/lib/pulp/:umount /var/lib/pulp/
$ umount /var/lib/pulp/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用文本编辑器打开
/etc/fstab,然后使用以下内容替换/var/lib/pulp的现有值:srv_rhel8:/data /var/lib/pulp nfs defaults,_netdev,nosharecache,context="system_u:object_r:pulpcore_var_lib_t:s0" 0 0
srv_rhel8:/data /var/lib/pulp nfs defaults,_netdev,nosharecache,context="system_u:object_r:pulpcore_var_lib_t:s0" 0 0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行 mount 命令:
mount -a
$ mount -aCopy to Clipboard Copied! Toggle word wrap Toggle overflow
配置 pulpcore.service:
设置了两个挂载点,关闭 Pulp 服务以配置
pulpcore.service:systemctl stop pulpcore.service
$ systemctl stop pulpcore.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
systemctl编辑pulpcore.service:systemctl edit pulpcore.service
$ systemctl edit pulpcore.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将以下条目添加到
pulpcore.service中,以确保自动化中心服务仅在启动网络并挂载远程挂载点后启动:[Unit] After=network.target var-lib-pulp.mount
[Unit] After=network.target var-lib-pulp.mountCopy to Clipboard Copied! Toggle word wrap Toggle overflow 启用
remote-fs.target:systemctl enable remote-fs.target
$ systemctl enable remote-fs.targetCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重启系统:
systemctl reboot
$ systemctl rebootCopy to Clipboard Copied! Toggle word wrap Toggle overflow
故障排除
pulpcore SELinux 策略中存在一个错误,可能会导致 etc/pulp/certs/ 中的令牌身份验证的公钥/私钥没有正确的 SELinux 标签,从而导致 pulp 进程失败。当发生这种情况时,运行以下命令临时附加正确的标签:
chcon system_u:object_r:pulpcore_etc_t:s0 /etc/pulp/certs/token_{private,public}_key.pem
$ chcon system_u:object_r:pulpcore_etc_t:s0 /etc/pulp/certs/token_{private,public}_key.pem
您必须重复此命令,以便在重新标记系统时重新附加正确的 SELinux 标签。
其它资源
- 如需 SELinux 上下文列表,请参阅 Pulp 项目文档的 SELinux 要求。
- 有关 Pulp 文件夹的完整描述,请参阅 Filesystem Layout。