使用 Red Hat Ansible 认证内容集合安装 JBoss Web 服务器
使用 Red Hat Ansible 认证内容集合 1.2 自动部署 JBoss Web Server 5.7
摘要
前言
Red Hat Ansible Certified Content Collection for Red Hat JBoss Web Server 是红帽提供的预打包的 Ansible 内容集合。您可以使用 Red Hat Ansible 认证内容集合自动安装和配置红帽 JBoss Web 服务器产品。您还可以将自定义任务添加到 playbook 中,以自动化部署 JBoss Web 服务器应用程序,同时与自动产品安装或更新。
Red Hat Ansible 认证内容集合只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
本文档的其余部分指的是 Red Hat Ansible Certified Content Collection for Red Hat JBoss Web Server 作为 JBoss Web Server 集合。
对红帽文档提供反馈
我们非常感谢您对我们的技术内容提供反馈,并鼓励您告诉我们您的想法。如果您想添加评论,提供见解、纠正拼写错误甚至询问问题,您可以在文档中直接这样做。
您必须有一个红帽帐户并登录到客户门户网站。
要从客户门户网站提交文档反馈,请执行以下操作:
- 选择 Multi-page HTML 格式。
- 点文档右上角的 反馈 按钮。
- 突出显示您要提供反馈的文本部分。
- 点高亮文本旁的添加反馈对话框。
- 在页面右侧的文本框中输入您的反馈,然后单击 Submit。
每次提交反馈时,我们都会自动创建跟踪问题。打开在点 Submit 后显示的链接,并开始监视问题或添加更多注释。
感谢您的宝贵反馈。
使开源包含更多
红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于此项工作十分艰巨,这些更改将在即将推出的几个发行版本中逐步实施。有关更多详情,请参阅我们的首席技术官 Chris Wright 提供的消息。
第 1 章 使用 Ansible 集合自动化 JBoss Web 服务器部署
Ansible 是一种信息技术(IT)自动化引擎,可用于自动化和简化云调配、配置管理、应用部署、服务编排,以及跨 IT 企业的其他任务。
Ansible 集合 是一种标准化的分发格式,可用于可重复使用的 Ansible 内容,如 playbook、角色、模块和插件。红帽提供一系列预先打包的 Red Hat Ansible 认证内容集合。您可以使用这些 Red Hat Ansible 认证内容集合来自动部署您系统中的各种 Red Hat Runtimes 产品,如 Red Hat JBoss Web Server。
1.1. Ansible 概念和优点
Ansible 包含各种元素,如 playbook、角色、内容集合和自动化执行环境。使用 Ansible 自动执行 IT 流程、工作流和基础架构生命周期,为企业带来多个好处。如果您不熟悉 Ansible 架构,或者您希望更多有关使用 Ansible 的好处的信息,请参阅以下 附加资源 链接。
1.2. JBoss Web 服务器集合
有关 JBoss Web 服务器集合的常规信息,请参阅 Red Hat Automation Hub 中的 Ansible Collection - redhat.jws 页面。Ansible Collection - redhat.jws 页面包含有关集合包含的角色的信息。您可以点角色的名称来查看这个角色的用途、任何要求或依赖项的详细信息,以及角色用于完成自动化任务的变量和默认设置列表。
其他资源
第 2 章 安装 JBoss Web 服务器集合
作为使用 Ansible 自动安装红帽 JBoss Web 服务器部署的第一步,您必须从 Red Hat Automation Hub 下载并安装 JBoss Web 服务器集合。JBoss Web 服务器集合在 Red Hat Automation Hub 中名为 redhat.jws
。在安装 JBoss Web 服务器集合前,您必须确保您的系统满足特定的先决条件。
前提条件
您已安装 Red Hat Ansible Automation Platform 2,在您的系统中的控制节点上安装了
ansible-core
软件包版本 2.12 或更高版本。有关安装 Red Hat Ansible Automation Platform 的更多信息,请参阅 Red Hat Ansible Automation Platform 安装指南。
-
您已更新了
ansible.cfg
文件,以使用 Red Hat Automation hub 作为 Ansible 集合 的主源。有关更新ansible.cfg
文件的更多信息,请参阅开始使用自动化中心。
流程
在 Ansible 控制节点上输入以下命令:
$ ansible-galaxy collection install redhat.jws
注意如果前面的命令生成
Failed to find collection redhat.jws:*
错误消息,请确定您已正确更新了ansible.cfg
文件来使用 Red Hat Automation Hub,如 开始使用自动化中心 所述。前面的命令会产生以下输出:
Starting galaxy collection install process Process install dependency map Starting collection install process [...] redhat.jws:1.2.x was installed successfully [...]
在前面的输出中,
1.2.x
代表所安装集合的完整版本号(如1.2.1
)。
验证
在 Ansible 控制节点上输入以下命令:
$ ansible-galaxy collection list
上述命令显示安装的集合列表。例如:
Collection Version -------------------------- ------- redhat.jws 1.2.x
在前面的示例中,
1.2.x
代表所安装集合的完整版本号(如1.2.1
)。
第 3 章 定义变量设置
JBoss Web 服务器集合提供了一组完整的变量和默认值,您可以手动更新以满足您的设置要求。这些变量设置提供 JBoss Web 服务器集合在目标主机上自动化并自定义安装红帽 JBoss Web 服务器所需的所有信息。
有关 JBoss Web 服务器集合提供的变量的完整列表,请参阅 Red Hat Automation Hub 中的 jws
角色的信息页。jws
角色的信息页面列出了您可以定义的所有变量的名称、描述和默认值。
您可以通过多种方式定义变量。默认情况下,JBoss Web Server 集合包含一个示例 playbook.yml
文件,该文件链接到同一 /playbooks
文件夹中的 vars.yml
文件。为了说明这一点,本节中的说明描述了如何在集合提供的 vars.yml
文件中定义变量。如果您愿意,您可以使用不同的方法定义变量。
您可以定义变量来自动执行以下任务:
您还可以通过向 playbook 添加自定义任务来自动执行 Web 应用部署,如 在目标主机上启用 JBoss Web 服务器应用程序自动化部署 中所述。
3.1. 启用 JBoss Web 服务器存档文件的自动安装
默认情况下,JBoss Web 服务器集合配置为从产品存档文件安装 JBoss Web 服务器。在使用 JBoss Web 服务器集合安装红帽 JBoss Web 服务器前,必须先获取 JBoss Web 服务器存档文件并将其复制到您的 Ansible 控制节点。复制存档文件后,您可以设置 jws_version
变量来指定要安装的产品版本。如果您决定更改本地主机上的存档文件的名称,您也可以定义变量来指定适当的文件名。
获取并设置产品存档文件的安装详情后,JBoss Web 服务器集合会在您随后运行 playbook 时自动提取这些文件并在目标主机上安装产品。
如果系统上还没有提供 JBoss Web 服务器存档文件,您可以从红帽客户门户网站中手动下载归档文件,如此流程的 第 1 步所述。
前提条件
流程
如果要从红帽客户门户网站下载 JBoss Web 服务器归档文件,请执行以下步骤:
- 在您的 Ansible 控制节点上,打开浏览器并 登录到红帽客户门户网站中的产品下载页面。
- 从产品列表中,选择 Red Hat JBoss Web Server。
- 在 Software Downloads 页面中,从 Version 下拉列表中选择您要安装的 JBoss Web Server 版本。
在 Releases 选项卡上,点您要下载的每个存档文件旁边的 Download。
有关您必须下载的任何特定产品存档文件的更多信息,请参阅红帽 JBoss Web 服务器安装指南。
注意您不需要提取产品存档文件。JBoss Web 服务器集合自动处理提取存档文件。
要启用产品归档文件的自动安装,请执行以下步骤:
-
在您的 Ansible 控制节点上,打开
vars.yml
文件。 要指定要安装的 JBoss Web 服务器版本,请将
jws_version
变量设置为适当的基准版本。例如:
[...] jws_version: 5.7.0
注意确保您为
jws_version
变量指定的值与您要安装的产品存档文件的版本匹配。例如,要为 JBoss Web Server 5.7 安装基准存档文件,请指定值5.7.0
。如果还想为目标主机上的操作系统安装原生 JBoss Web 服务器存档,请将
jws_native
变量设置为True
。例如:
[...] jws_native: True
注意默认情况下,
jws_native
变量设为False
,这意味着 JBoss Web 服务器集合仅安装主应用服务器存档。如果将
jws_native
变量设置为True
,请确保还获取并复制适当的原生存档文件到 Ansible 控制节点。如果您更改了 Ansible 控制节点上复制的存档文件的名称,请设置
zipfile_name
和jws_native_zipfile
变量来指定要安装的文件。例如:
[...] zipfile_name: <application_server_file> jws_native_zipfile: <native_file>
在前面的示例中,将 < application_server_file> 和 <native_file > 替换为适当的存档文件名。
注意如果您尚未更改文件名,则不需要定义
zipfile_name
和jws_native_zipfile
变量。JBoss Web 服务器集合使用jws_version
变量的值自动决定默认文件名。
-
在您的 Ansible 控制节点上,打开
-
将您的更改保存到
vars.yml
文件。
3.2. 启用 JBoss Web 服务器补丁更新自动安装
如果产品补丁更新可用于适当的 JBoss Web 服务器版本,您还可以使用 JBoss Web 服务器集合在目标主机上安装最新的累积修补程序。您都可以使用相同的步骤来自动安装补丁更新,无论您是否想在 5.7.0 版本或更高版本的同时安装更新。
默认情况下,JBoss Web 服务器集合配置为从产品存档文件安装 JBoss Web 服务器补丁更新。首先,您必须获取归档文件并将最新的补丁更新复制到 Ansible 控制节点。然后,必须将 jws_apply_patches
变量设置为 True
。获取并启用最新的补丁更新后,JBoss Web 服务器集合会自动提取这些文件,并在随后运行 playbook 时在目标主机上安装更新。
如果您的系统中没有包括最新补丁更新的归档文件副本,您可以从红帽客户门户网站中手动下载存档文件,如此流程的 第 1 步所述。
您不能使用 累积补丁更新来安装产品基准(X.X.0)版本。例如,安装 5.7.2 补丁安装版本 5.7.1 和 5.7.2,但无法安装基准 5.7.0 版本。在这种情况下,您必须确保同时或之前安装了适当的产品基准版本。
前提条件
流程
如果要下载来自红帽客户门户网站的最新 JBoss Web 服务器补丁更新的存档文件,请执行以下步骤:
- 在您的 Ansible 控制节点上,打开浏览器并 登录到红帽客户门户网站中的产品下载页面。
- 从产品列表中,选择 Red Hat JBoss Web Server。
- 在 Software Downloads 页面中的 Version 下拉列表中选择您安装的 JBoss Web Server 版本。
点 Patches 选项卡,然后点您要下载该最新补丁更新的每个存档文件旁边的 Download。
有关您必须下载的任何特定产品存档文件的更多信息,请参阅红帽 JBoss Web 服务器安装指南。
注意补丁更新是累计的。您不需要为当前未安装的任何之前补丁更新下载存档文件。
您不需要提取存档文件。JBoss Web 服务器集合自动处理提取存档文件。
要启用产品补丁更新自动安装,请执行以下步骤:
-
在您的 Ansible 控制节点上,打开
vars.yml
文件。 将
jws_apply_patches
变量设置为True
。例如:
[...] jws_version: 5.7.0 jws_native: True [...] jws_apply_patches: True
注意确保将
jws_version
变量设置为适当的基准产品版本(如5.7.0
)。如果将
jws_native
变量设为True
,请确保您已获得并复制了适当的原生存档文件,以进行最新的补丁更新到 Ansible 控制节点。将
jws_apply_patches
变量设置为True
,使 JBoss Web 服务器集合可为jws_version
变量中指定的基准产品版本安装最新支持的累积补丁。根据上例,当您随后运行 playbook 时,JBoss Web Server 集合会自动为 5.7 版本安装最新的累积补丁更新。
-
在您的 Ansible 控制节点上,打开
-
将您的更改保存到
vars.yml
文件。
3.3. 确保在目标主机上安装了 JDK
JBoss Web 服务器要求 Java 开发套件(JDK)已在目标主机上作为前提条件安装,以确保 JBoss Web 服务器已成功执行。JDK 包括 Java 运行时环境(JRE)和 Java 虚拟机(JVM),它必须在要运行 JBoss Web 服务器的任何主机上可用。有关 JBoss Web 服务器支持的 JDK 版本的完整列表,请参阅 JBoss Web Server 5 支持的配置。
默认情况下,根据您已在目标主机上安装了支持的 JDK,JBoss Web 服务器集合不会自动安装 JDK。但是,为方便起见,您可以将 JBoss Web 服务器集合配置为在每个目标主机上自动安装受支持的 Red Hat OpenJDK 版本。
在使用 JBoss Web 服务器集合时,请考虑以下有关安装 JDK 的指南:
-
如果要在目标主机上安装受支持的 Red Hat OpenJDK 版本,您可以将
jws_java_version
变量设置为适当的 JDK 版本(例如1.8.0
、11
或17
)。您随后运行 playbook 时,JBoss Web 服务器集合会在每个目标主机上安装指定的 OpenJDK 版本。 - 如果要安装受支持的 IBM JDK 或 Oracle JDK 版本,您必须在每个目标主机上安装 JDK,或使用您自己的 playbook 自动执行此过程。有关手动安装 IBM JDK 或 Oracle JDK 版本的更多信息,请参阅 Red Hat JBoss Web Server 安装指南。在这种情况下,您不需要设置变量。
- 如果您已在目标主机上安装了受支持的 JDK,则不需要设置变量。
如果您要让 JBoss Web 服务器集合在尚未安装受支持的 JDK 的目标主机上安装 Red Hat OpenJDK,请使用以下步骤。
前提条件
流程
-
在您的 Ansible 控制节点上,打开
vars.yml
文件。 将
jws_java_version
变量设置为您要安装的适当 OpenJDK 版本。例如:
[...] jws_java_version: 1.8.0
根据上例,当运行 playbook 时,JBoss Web Server 集合会在每个目标主机上安装 OpenJDK 8。
注意另外,如果您想要 JBoss Web 服务器集合安装 Red Hat OpenJDK 版本 11 或 17,请将
jws_java_version
变量设置为值11
或17
。-
将您的更改保存到
vars.yml
文件。
3.4. 确保在目标主机上创建了产品用户和组
JBoss Web 服务器要求产品用户帐户和用户组已在您的目标主机上作为前提条件创建。默认情况下,JBoss Web 服务器集合通过在每个目标主机上创建一个 tomcat
用户帐户和一个 tomcat
组来处理这个要求。但是,如果您想要 JBoss Web 服务器集合来创建不同的用户帐户和组,您可以修改 JBoss Web 服务器集合的行为以满足您的设置要求。
产品用户帐户也被分配了 Tomcat 目录的所有权,以运行 Tomcat 服务。
如果要启用 JBoss Web 服务器集合来创建不同的用户帐户和组,而不是 tomcat
默认值,请使用以下步骤。
前提条件
流程
-
在您的 Ansible 控制节点上,打开
vars.yml
文件。 将
jws_user
和jws_group
变量设置为您要创建的相应产品用户名和组名。例如:
[...] jws_user: myuser jws_group: myuser
根据上例,JBoss Web 服务器集合自动创建
myuser
用户帐户和组,而不是创建默认的tomcat
用户帐户和组。-
将您的更改保存到
vars.yml
文件。
3.5. 启用 JBoss Web 服务器与 systemd
的自动化集成
您可以选择启用 JBoss Web 服务器集合将 JBoss Web 服务器设置为系统守护进程可以管理的服务。默认情况下,JBoss Web 服务器集合没有配置为将 JBoss Web 服务器与系统守护进程集成。如果您启用此功能,JBoss Web 服务器集合会在每个目标主机上自动将 JBoss Web 服务器设置为 jws5-tomcat
服务。但是,如果要使用不同的服务名称,您可以修改 JBoss Web 服务器集合的行为以满足您的设置要求。
当您将 JBoss Web 服务器与系统守护进程集成时,系统守护进程可以在系统启动时自动启动 JBoss Web 服务器服务。系统守护进程还提供启动、停止和检查产品状态的功能。默认系统守护进程是 systemd
。
此配置任务是可选的,但推荐使用。
前提条件
流程
-
在您的 Ansible 控制节点上,打开
vars.yml
文件。 要启用与
systemd
集成,将jws_systemd_enabled
变量设置为True
。例如:
[...] jws_systemd_enabled: True
如果您希望 JBoss Web 服务器使用
jws5-tomcat
以外的服务名称,请将jws_service_name
变量设置为适当的值。例如:
[...] jws_service_name: jws
根据上例,JBoss Web 服务器集合在运行 playbook 时,将产品设置为每个目标主机上的
jws
服务。注意如果您没有设置
jws_service_name
变量,JBoss Web 服务器集合会自动将该产品设置为jws5-tomcat
服务。-
将您的更改保存到
vars.yml
文件。
3.6. 启用自动化 JBoss Web 服务器配置任务
JBoss Web 服务器集合提供了一组完整的变量,可启用 JBoss Web 服务器安装的自动化配置。默认情况下,JBoss Web 服务器集合将 JBoss Web 服务器配置为侦听端口 8080
上的非安全 HTTP 连接。
其他产品功能(如以下)默认被禁用:
- 支持安全 HTTPS 连接
-
mod_cluster
支持将 HTTP 服务器请求负载平衡到 JBoss Web 服务器后端 - 在加密的 Java 密钥存储中存储敏感数据的密码库
- 支持 SELinux 策略
要启用更广泛的产品功能,您可以定义变量来修改 JBoss Web 服务器集合的行为以满足您的设置要求。
以下小节只描述了 JBoss Web 服务器集合可以执行的自动配置更新的子集。这些示例更新侧重于启用 HTTPS 连接支持、启用 mod_cluster
支持、启用密码库并启用 SELinux 策略。
有关 JBoss Web 服务器集合提供的变量的完整列表,请参阅红帽自动化中心 中 jws
角色的信息页面。有关配置和使用 JBoss Web 服务器功能的更多信息,请参阅红帽 JBoss Web 服务器文档页面。
3.6.1. 在 JBoss Web 服务器中启用 HTTPS 支持自动配置
您可以配置 JBoss Web 服务器,以支持通过 HTTPS 协议支持 Web 客户端和 Web 服务器之间的安全加密连接。
在使用 JBoss Web 服务器集合时,请考虑以下有关启用 HTTPS 支持的指南:
- 如果要启用 HTTPS 支持,您必须确保每个目标主机上存在 Java 密钥存储,然后再运行 playbook。JBoss Web 服务器集合不会自动提供或创建 Java 密钥存储。在这种情况下,您必须在目标主机上创建新的密钥存储,或将现有密钥存储文件复制到每个目标主机,如下所述。???
-
要启用 HTTPS 支持,您可以将
jws_listen_https_enabled
变量设置为True
。 -
当您启用 HTTPS 支持时,JBoss Web 服务器集合使用 Java 密钥存储的适当路径和密码设置更新每个目标主机上的
server.xml
文件。默认情况下,JBoss Web 服务器集合使用/etc/ssl/keystore.jks
和changeit
的值在server.xml
文件中配置这些路径和密码设置。但是,如果要使用不同的密钥存储路径或密钥存储密码,您可以修改 JBoss Web 服务器集合的行为以满足您的设置要求。
前提条件
流程
如果要创建 Java 密钥存储,请执行以下步骤:
登录您要创建密钥存储的目标主机。
注意确保已安装 JDK,并且目标主机上已设置了
JAVA_HOME
变量。运行以下命令来创建密钥存储:
$JAVA_HOME/bin/keytool -genkeypair -alias tomcat -keyalg RSA -keystore <path_to_keystore>
在前面的命令中,将 & lt;path_to_keystore > 替换为您要创建的密钥存储文件的完整路径。如果没有指定
-keystore
选项,该命令会在一些默认位置创建密钥存储文件,该文件取决于您安装的 JDK 的版本。例如,如果您使用 Red Hat OpenJDK,则密钥存储的默认位置为/etc/ssl/keystore.jks
。前面的 命令生成密钥存储文件,其中包含一对公钥和用于服务器身份验证的单一自签名证书。密钥对和自签名证书存储在单一密钥存储条目中,由
-alias
选项(如tomcat
)标识。当
keytool
命令提示您输入以下信息时,为设置输入适当的值:-
密钥存储密码(默认为,更改
它
) - 有关证书的一般信息
- 证书的密钥密码(默认为 密钥存储密码)
-
密钥存储密码(默认为,更改
注意另外,您可以使用 Linux
scp
命令在不同主机之间复制现有的密钥存储文件,而不是创建新的密钥存储。要启用 HTTPS 连接支持,请执行以下步骤:
-
在 Ansible 控制节点 上,打开
vars.yml
文件。 将
jws_listen_https_enabled
变量设置为True
。例如:
[...] jws_listen_https_enabled: True
如果每个目标主机上的 Java 密钥存储位于
/etc/ssl/keystore.jks
以外的路径中,请将jws_listen_https_keystore_file
变量设置为适当的值。例如:
[...] jws_listen_https_keystore_file: <keystore_path>
在前面的示例中,将 <keystore_path > 替换为每个目标主机上的密钥存储文件的完整路径。
注意如果您没有设置
jws_listen_https_keystore_file
变量,JBoss Web 服务器集合会在 server.xml 文件中自动配置server.xml
文件中的certificateKeystoreFile
设置,值为/etc/ssl/keystore.jks
。如果每个目标主机上的 Java 密钥存储都使用
changeit
以外的密码,请将jws_listen_https_keystore_password
变量设置为适当的值。例如:
[...] jws_listen_https_keystore_password: <keystore_password>
在前面的示例中,将 & lt;keystore_password > 替换为每个目标主机上 Java 密钥存储的正确密码。
注意如果您没有设置
jws_listen_https_keystore_password
变量,则 JBoss Web 服务器集合会在 server.xml 中自动配置server.xml
中的certificateKeystorePassword
设置,值为changeit
。-
将您的更改保存到
vars.yml
文件。
-
在 Ansible 控制节点 上,打开
3.6.2. 在 JBoss Web 服务器中启用 mod_cluster
支持自动配置
mod_cluster
连接器是减少配置和智能解决方案,用于向 JBoss Web 服务器后端负载平衡 Apache HTTP 服务器请求。mod_cluster
连接器还提供诸如实时负载平衡计算、应用程序生命周期管理、自动发现和多种协议支持等功能。要启用 mod_cluster
支持,您可以定义变量来启用 mod_cluster
侦听器,并为 mod_cluster
实例指定 IP 地址和端口值。
前提条件
流程
-
在您的 Ansible 控制节点上,打开
vars.yml
文件。 要启用
mod_cluster
侦听器,请将jws_modcluster_enabled
变量设置为True
。例如:
[...] jws_modcluster_enabled: True
要指定
mod_cluster
实例的 IP 地址和端口,请将jws_modcluster_ip
和jws_modcluster_port
变量设置为适当的值。默认 IP 地址为127.0.0.1
。默认端口为6666
。例如:
[...] jws_modcluster_ip: <ip_address> jws_modcluster_port: <port>
在前面的示例中,将 & lt;ip_address > 替换为目标主机上的
mod_cluster
实例的适当绑定地址,并将 <port > 替换为mod_cluster
实例用于侦听传入请求的适当端口。-
将您的更改保存到
vars.yml
文件。
有关使用 mod_cluster
的更多信息,请参阅 HTTP 连接器和负载平衡指南。
3.6.3. 在 JBoss Web 服务器中启用密码库自动配置
您可以使用 JBoss Web 服务器的密码库来屏蔽密码和其他敏感字符串,并在加密的 Java 密钥存储中存储敏感信息。使用密码库时,您可以在 JBoss Web 服务器配置文件中停止存储明文密码。JBoss Web 服务器可以使用密码库搜索来自密钥存储的密码和其他敏感字符串。要启用密码库,您可以设置一系列变量,以指定密码库使用的各种文件和配置设置。
前提条件
- 已安装 JBoss Web 服务器集合。
-
您已创建了所需的
vault.keystore
、VAULT.dat
和vault.properties
文件。有关创建这些文件的更多信息,请参阅红帽 JBoss Web 服务器安装指南。
流程
-
在您的 Ansible 控制节点上,打开
vars.yml
文件。 要将
vault.keystore
、VAULT.dat
和vault.properties
文件的路径指定为预备步骤的一部分,请将以下变量设置为适当的值:例如:
[...] jws_vault_name: ./vault_files/vault.keystore jws_vault_data: ./vault_files/VAULT.dat jws_vault_properties: ./vault_files/vault.properties
在前面的示例中,请确保指定您配置为先决条件步骤中的正确路径。
要启用 vault 功能,将
jws_tomcat_vault_enabled
变量设置为True
。例如:
[...] jws_tomcat_vault_enabled: True
要指定密钥存储别名、密钥存储密码、迭代数和您为密码库配置的 salt 值,请将以下变量设置为相应的值:
例如:
[...] jws_tomcat_vault_alias: <keystore_alias> jws_tomcat_vault_storepass: <keystore_password> jws_tomcat_vault_iteration: <iteration_count> jws_tomcat_vault_salt: <salt>
在前面的示例中,确保指定您配置为预备步骤中的相应值。
-
将您的更改保存到
vars.yml
文件。
有关使用密码库的更多信息,请参阅红帽 JBoss Web 服务器安装指南。
3.6.4. 在 JBoss Web 服务器中启用 SELinux 策略自动配置
您可以使用安全增强型 Linux (SELinux)策略为 JBoss Web 服务器定义访问控制。这些策略是一组决定对产品的访问权限的规则。要启用 SELinux 策略的使用,您可以将 jws_selinux_enabled
变量设置为 True
。
前提条件
- 已安装 JBoss Web 服务器集合。
-
您已将
jws_native
变量设置为True
,为目标主机上的操作系统启用原生 JBoss Web 服务器存档文件的自动化安装。如需更多信息,请参阅启用 JBoss Web 服务器存档文件 的自动化安装。
流程
-
在您的 Ansible 控制节点上,打开
vars.yml
文件。 将
jws_selinux_enabled
变量设置为True
。例如:
[...] jws_selinux_enabled: True
-
将您的更改保存到
vars.yml
文件。
有关在 JBoss Web 服务器中使用 SELinux 策略的更多信息,请参阅红帽 JBoss Web 服务器安装指南。
核心 Ansible 引擎不支持 SELinux 策略。如果要启用 SELinux 策略,还必须在 Ansible 控制节点上安装来自 Ansible Galaxy 的社区集合。
要在 Ansible 控制节点上安装社区集合,请输入以下命令:
$ ansible-galaxy collection install community.general
3.7. 在目标主机上启用 JBoss Web 服务器应用程序的自动化部署
您还可以通过向 playbook 添加自定义任务,在目标 JBoss Web 服务器主机上自动部署 Web 应用程序。这要求您将 application .war
文件放在适当的目录中。
如果要在 JBoss Web 服务器已在运行时部署新的或更新的应用程序,JBoss Web 服务器集合提供了在部署应用程序时重新启动 Web 服务器的处理程序。
以下步骤假定您已创建了自定义 playbook。
前提条件
流程
- 在您的 Ansible 控制节点上,打开您的自定义 playbook。
在 playbook 的
tasks:
部分中,添加一个任务来部署适当的 Web 应用。例如:
[...] tasks: [...] - name: "Deploy demo webapp" ansible.builtin.get_url: url: 'https://url_path/app_name.war' dest: "{{ jws_home }}/webapps/app_name.war" notify: - Restart Tomcat service [...]
在前面的示例中,将 & lt;url_path > 和 <app_name > 替换为您要部署的应用程序的正确路径和
.war
文件名。- 将您的更改保存到 playbook。
其他资源
第 4 章 运行 playbook
定义变量设置后,您可以运行 playbook 来开始自动化安装过程。您可以通过在控制节点上使用 ansible-playbook
命令或使用 Red Hat Ansible 自动化控制器 来运行 playbook。然后,JBoss Web 服务器集合可自动处理所有安装和部署任务。
以下步骤假设您已经创建和更新了一个自定义 playbook。
前提条件
- 您已 定义了变量设置。
您的 playbook 包括一个指向您定义变量的位置的适当链接。
例如:
--- - name: "Red Hat JBoss Web Server installation and configuration" hosts: all become: true vars_files: - <path_to_vars_file>/vars.yml [...]
前面的示例假定您已在
vars.yml
文件中定义了变量。将 <path_to_vars_file > 替换为适当的路径。- 您的目标主机上已安装了受支持的操作系统。有关 JBoss Web 服务器支持的操作系统版本的完整列表,请参阅 JBoss Web Server 5 支持的配置。
流程
执行以下步骤之一:
在 Ansible 控制节点上输入以下命令:
$ ansible-playbook <playbook_name>.yml
在前面的命令中,将 < ;playbook_name > 替换为已分配给您的 playbook 的名称。
- 使用 Red Hat Ansible 自动化控制器来运行您的 playbook。有关自动化控制器入门的更多信息,请参阅 Red Hat Ansible Automation Platform 文档页面。
第 5 章 验证部署
成功运行 playbook 后,JBoss Web 服务器集合会在目标主机上自动安装红帽 JBoss Web 服务器。如果您已将自定义任务添加到 playbook 中,Ansible 还会根据需要自动在目标主机上部署任何 JBoss Web 服务器应用程序。您可以通过在目标主机上使用 systemctl
命令,或者在远程主机上使用 curl
命令来检查 JBoss Web 服务器的状态。
前提条件
- 您已 运行 playbook。
流程
可选:在 JBoss Web 服务器主机上,以 root 用户身份输入以下命令:
# systemctl status <service_name>
在前面的命令中,将 < ;service_name& gt; 替换为 JBoss Web Server 安装的正确服务名称。默认服务名称为
tomcat
。有关设置服务名称的更多信息,请参阅 使用systemd
自动集成 JBoss Web 服务器。注意此步骤要求 JBoss Web 服务器与
systemd
集成。可选: 在 远程主机 中,以 root 用户身份输入以下命令:
# curl http://<target_host>:8080/
在前面的命令中,将 & lt;target_host > 替换为您要访问的 JBoss Web Server 主机的 IP 地址或主机名。前面的 命令假定可通过默认端口
8080
访问 JBoss Web 服务器,并且目标防火墙和网络允许远程访问该端口。
JBoss Web 服务器集合还在 /playbooks
文件夹中包含 validate.yml
playbook。如果您希望 JBoss Web 服务器集合来执行自动验证检查,您可以运行 validate.yml
playbook。如需有关 validate.yml
playbook 的更多信息,请参阅 Red Hat Automation Hub 中的 jws_validation
角色的 信息页面。