4.2. 创建缓存服务

使用 cache-service 快速设置集群,以提供在最小配置中最佳性能和易用性。

  1. 使用 new-app 命令创建服务。
  2. 根据情况设置模板参数和环境变量。

例如:

  • 使用最小配置创建 cache-service

    $ oc new-app cache-service \
      -p APPLICATION_USER=${USERNAME} \
      -p APPLICATION_PASSWORD=${PASSWORD}
  • 创建带有三个节点和数据复制的 cache-service 集群:

    $ oc new-app cache-service \
      -p APPLICATION_USER=${USERNAME} \
      -p APPLICATION_PASSWORD=${PASSWORD} \
      -p NUMBER_OF_INSTANCES=3 \
      -p REPLICATION_FACTOR=2

模板参数

  • APPLICATION_NAME 指定应用的名称。默认为 cache-service
  • NUMBER_OF_INSTANCES 设置用于 OpenShift 集群的 Data Grid 中的节点数量。默认值为 1
  • TOTAL_CONTAINER_MEM 配置容器可用的内存大小(以 MiB 为单位)。默认值为 512
  • APPLICATION_USER 创建一个用户以安全访问缓存。没有默认值。您必须始终创建用户。
  • APPLICATION_PASSWORD 指定用户的密码。如果您没有设置密码,服务模板会随机生成一个,并将其存储为 secret。
  • REPLICATION_FACTOR 指定每个缓存条目的副本数。默认值为 1
  • EVICTION_POLICY 定义在 缓存大小 达到 pod 可用内存量时缓存服务的行为。有两个值:

    • 驱除 从缓存中删除条目。这是默认值。
    • 拒绝 引发 ContainerFullException,而不是添加新条目。

环境变量

  • AB_PROMETHEUS_ENABLE 允许您收集 JMX 指标来监控和分析 Data Grid,并具有以下值:

    false
    禁用使用默认 Prometheus 代理的监控。
    true
    使用默认的 Prometheus 代理启用监控。Prometheus Operator 必须已安装并正在运行。在创建服务后,还必须 设置 Monitoring
  • AB_PROMETHEUS_JMX_EXPORTER_PORT 定义数据网格发布 JMX 指标的端口。默认值为 9779

验证应用程序

在创建 cache-service 时命令输出会显示参数值和资源,如下例所示:

--> Deploying template "rhdg-helloworld/cache-service" to project rhdg-helloworld

     Red Hat Cache Service
     ---------
     Red Hat Data Grid is an in-memory, distributed key/value store.

     * With parameters:
        ...

--> Creating resources ...
    secret "cache-service" created
    service "cache-service-ping" created
    service "cache-service" created
    statefulset "cache-service" created
--> Success
    ...