OpenShift上的REDIS集群

我已经为Docker使用了官方 REDIS镜像,并将其部署在OpenShift上。 我部署了6个REDIS实例,并使用REDIS集群教程将它们configuration为以群集模式运行。

我已经在不同的端口上运行了每个实例,并使用服务公开了这些端口。 我也暴露了REDIS的pipe理端口。 我已经将hostNetwork的REDIS实例部署为true。

我现在将这些实例连接到一个集群中。 对于在同一个OpenShift节点上运行的实例,我可以使用运行它的节点IP或使用在服务和REDIS实例端口中定义的clusterIP来发出CLUSTER MEET命令。 两者都很好。

在同一个OpenShift节点上运行的实例在群集中连接,但无法获取正在不同节点上运行的实例以便彼此连接。

示例服务YAML:

spec: ports: - name: 6371-tcp protocol: TCP port: 6371 targetPort: 6371 nodePort: 31790 - name: 16371-tcp protocol: TCP port: 16371 targetPort: 16371 nodePort: 31989 selector: deploymentconfig: redis-cache-node01 clusterIP: 172.30.63.9 type: NodePort sessionAffinity: None