3.14. OpenShift
Red Hat build of Keycloak SAML 支持 JBoss EAP 8.0
在发布适配器时,支持将红帽构建的 Keycloak SAML 适配器与 JBoss EAP 8.0 Source-to-Image (S2I)镜像搭配使用。如需更多信息,请参阅 OpenShift、SSO SAML 对 EAP 8 的支持。
使用 Maven 插件调配 JBoss EAP 服务器
现在,您可以使用 OpenShift 上的 JBoss EAP Maven 插件:
- 使用 Galleon 置备修剪的服务器。
- 在置备的服务器上安装您的应用程序。
- 使用 JBoss EAP 管理 CLI 调整服务器配置。
-
将额外文件打包到服务器安装中,如
keystore
文件。 - 将插件集成到 JBoss EAP 8.0 source-to-image 应用构建中。
如需更多信息,请参阅使用 Maven 插件置备 JBoss EAP 服务器。
JBoss EAP Source-to-image 的 OpenID Connect 支持
现在,您可以使用新的 elytron-oidc-client
子系统来保护部署到带有 OpenID Connect (OIDC)的应用程序,而不是安装之前所需的 Keycloak 客户端适配器。您可以使用环境变量配置 elytron-oidc-client
子系统,以使用 OIDC 保护应用程序。这个版本不提供 Red Hat build of Keycloak Client Adapter。如需更多信息,请参阅使用 OpenID Connect 来保护 OpenShift 上的 JBoss EAP 应用。
使用 Source-to-Image 构建应用程序镜像
在 JBoss EAP 8.0 中,已安装的服务器已从 Source-to-Image (S2I)构建器镜像中删除。Galleon 功能包和层现在用于在 S2I 构建阶段置备服务器。若要调配服务器,请将 JBoss EAP Maven 插件包含在应用的 pom.xml
文件中。如需更多信息,请参阅在 OpenShift 中使用 Source-to-image 构建应用程序镜像。
使用环境变量覆盖管理属性
若要更轻松地将 JBoss EAP 服务器配置适应您的服务器环境,您可以使用环境变量覆盖任何管理属性的值,而无需编辑配置文件。您不能覆盖类型为 LIST
、OBJECT
或 PROPERTY
的管理属性。在 JBoss EAP 8.0 OpenShift 运行时镜像中,这个功能会被默认启用。如需更多信息,请参阅使用环境变量 覆盖管理属性。
环境变量检查来解析管理模型表达式
JBoss EAP 现在在解析管理模型表达式时支持环境变量检查。在以前的 JBoss EAP 版本中,JBoss EAP 服务器仅检查管理表达式中是否有 Java 系统属性。现在,服务器会检查相关的环境变量和系统属性。如果同时使用这两个属性,JBoss EAP 将使用 Java 系统属性而不是 环境变量来解析管理模型表达式。有关使用环境变量解析管理模型表达式的更多信息,请参阅使用环境变量和模型表达式解析。
Maven 兼容性
Maven 版本 3.8.5 或更早版本,包括早于 3.3.2 的 Apache Maven WAR 插件版本。这会导致使用 eap-maven-plugin
打包错误。要解决这个问题,您必须升级到 Maven 版本 3.8.6 或更高版本。或者,您可以将 maven-war-plugin
依赖项(版本 3.3.2 或更高版本)添加到应用程序 pom.xml
中。
节点命名的改进
jboss.node.name
系统属性的值是从 pod 主机名生成的,可以使用 JBOSS_NODE_NAME
环境变量进行自定义。此系统属性不再充当事务 ID,并且长度没有限制 23 个字符,因为它在之前的 JBoss EAP 版本中使用。
但是,在 JBoss EAP 8.0 中,新的系统属性 jboss.tx.node.id
也会从 pod 主机名生成,并可使用 JBOSS_NODE_NAME
环境变量进行自定义。这个系统属性现在长度限制为 23 个字符,并充当事务 ID。
JBoss EAP 8.0 镜像中的 Java 选项更改
JVM 在 JBoss EAP 8.0 镜像中自动调整内存和 cpu 限制和垃圾收集器配置。镜像不使用计算 -Xms
和 -Xmx
选项,使用 -XX:InitialRAMPercentage
和 -XX:MaxRAMPercentage
选项来动态实现相同的功能。CONTAINER_CORE_LIMIT
和 JAVA_CORE_LIMIT
已被删除。另外,-XX:ParallelGCThreads,
-Djava.util.concurrent.ForkJoinPool.common.parallelism
, 和 -XX:CICompilerCount
不再使用。
在 OpenShift 上部署第三方应用程序
使用 JBoss EAP 8.0,您可以使用编译的 WAR 文件或 EAR 归档为 OpenShift 部署创建应用程序镜像。通过使用 Dockerfile,您可以使用完整的运行时堆栈(包括操作系统、Java 和 JBoss EAP 组件)将这些存档部署到 JBoss EAP 服务器中。您可以根据 Source-to-Image (S2I)创建应用程序镜像。
OpenShift 上的 JBoss EAP 8.0 服务器安装中排除的文件
在 OpenShift 上安装 JBoss EAP 8.0 服务器时,不需要以下文件,并被有意排除:
-
bin/appclient.sh
-
bin/wsprovide.sh
-
bin/wsconsume.sh
-
bin/jconsole.sh
-
bin/client