搜索

第 12 章 为 OpenShift 自定义数据网格

download PDF

将 Data Grid 镜像与自定义配置一起使用,可通过 Source-to-Image(S2I)流程或通过 ConfigMap API 使用。

注意

红帽鼓励您使用 Data Grid for OpenShift 镜像和 datagrid-servicecache-service 模板来创建 Data Grid 集群。虽然可以使用自定义配置创建 Data Grid pod,但 datagrid-servicecache-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 ConfigMap API 动态配置 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## -->

    请参阅 cluster-openshift.xml 查看可用的占位符。

  • 要加密客户端到服务器流量,您必须在 standalone.xml 中配置服务器身份。
  • 对于通过 ConfigMap API 自定义的 OpenShift pod,DATAGRID_SPLIT 环境变量不会与 Data Grid 生效。这些 pod 无法将共享持久性卷用于 DATAGRID_SPLIT

12.1. 克隆数据网格示例

  1. 克隆用于 OpenShift 镜像存储库的 Data Grid。

    $ git clone git@github.com:jboss-container-images/jboss-datagrid-7-openshift-image.git .
  2. 查看 docs/examples 目录的内容,例如:

    $ cd jboss-datagrid-7-openshift-image/docs/examples/s2i/configuration
    
    $ tree
    .
    ├── s2i
    │   └── configuration
    │       └── clustered-openshift.xml
    └── user-configuration
        ├── standalone.xml
        └── user-config-template.yaml
    S2I

    clustered-openshift.xml 注入 ${JBOSS_HOME}/standalone/configuration/ 用于 OpenShift 镜像的 Data Grid。

    提示

    将自定义 logging.propertiesapplication-role.properties 添加到 配置 目录中,以便在构建自定义镜像时包含它们。

    ConfigMap
    standalone.xml 映射到 OpenShift 镜像的 Data Grid 内部的 /opt/datagrid/standalone/configuration/user 目录中。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.