第 12 章 为 OpenShift 自定义数据网格
将 Data Grid 镜像与自定义配置一起使用,可通过 Source-to-Image(S2I)流程或通过 ConfigMap API 使用。
红帽鼓励您使用 Data Grid for OpenShift 镜像和 datagrid-service 和 cache-service 模板来创建 Data Grid 集群。虽然可以使用自定义配置创建 Data Grid pod,但 datagrid-service 和 cache-service 是高性能设计的,它适用于不需要配置的各种用例。
请参阅为 OpenShift 服务设置数据网格, 了解如何快速创建数据网格集群。
- Source-to-Image(S2I)
使用 S2I 流程和二进制构建来创建自定义 Data Grid 镜像。
在
openshift-clustered.xml中添加缓存定义和端点配置,然后使用 S2I 功能构建使用该配置文件的自定义 Data Grid 镜像。然后,您可以根据需要创建带有镜像的 Data Grid pod。要修改配置,您必须构建新镜像。但是,当您重建自定义镜像时,Data Grid pod 会自动使用新配置更改重新部署。
- ConfigMap API
使用 Red Hat OpenShift
ConfigMapAPI 动态配置 Data Grid pod。在
standalone.xml中定义自定义配置,该配置映射到命名空间中的ConfigMap对象,作为 Data Grid pod。您可以修改 Data Grid 配置,然后重新部署 pod 以加载配置更改。但是,当修改standalone.xml时,Data Grid pod 不会自动重新部署。您必须手动重新部署 pod 才能加载配置更改。在创建 Data Grid pod 前,您应该在
standalone.xml中显式定义所有缓存和端点配置。除非在部署前存在占位符,否则缓存和端点配置的环境变量不会生效。例如,以下是
JGROUPS_PING_PROTOCOL的占位符:<!-- ##JGROUPS_PING_PROTOCOL## -->
<!-- ##JGROUPS_PING_PROTOCOL## -->Copy to Clipboard Copied! Toggle word wrap Toggle overflow 请参阅 cluster-openshift.xml 查看可用的占位符。
-
要加密客户端到服务器流量,您必须在
standalone.xml中配置服务器身份。 -
对于通过
ConfigMapAPI 自定义的 OpenShift pod,DATAGRID_SPLIT环境变量不会与 Data Grid 生效。这些 pod 无法将共享持久性卷用于DATAGRID_SPLIT。
12.1. 克隆数据网格示例 复制链接链接已复制到粘贴板!
克隆用于 OpenShift 镜像存储库的 Data Grid。
git clone git@github.com:jboss-container-images/jboss-datagrid-7-openshift-image.git .
$ git clone git@github.com:jboss-container-images/jboss-datagrid-7-openshift-image.git .Copy to Clipboard Copied! Toggle word wrap Toggle overflow 查看
docs/examples目录的内容,例如:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - S2I
将
clustered-openshift.xml注入${JBOSS_HOME}/standalone/configuration/用于 OpenShift 镜像的 Data Grid。提示将自定义 logging.properties 和 application-role.properties 添加到
配置目录中,以便在构建自定义镜像时包含它们。- ConfigMap
-
将
standalone.xml映射到 OpenShift 镜像的 Data Grid 内部的/opt/datagrid/standalone/configuration/user目录中。