【问题标题】:How to achieve hazelcast syncing in kubernetes with different pod (App and Hazel insatnce)?如何在具有不同 pod(App 和 Hazel 实例)的 kubernetes 中实现 hazelcast 同步?
【发布时间】:2018-07-27 22:35:11
【问题描述】:

他们应该能够通信并且更新应该对彼此可见我的意思主要是同步。

DiscoveryStrategyConfig strategyConfig = new DiscoveryStrategyConfig(factory); 块引用

// strategyConfig.addProperty("service-dns", “我的服务名称.my-namespace.svc.cluster.local”); // strategyConfig.addProperty("service-dns-timeout", "300");

strategyConfig.addProperty("服务名称", "我的服务名称"); strategyConfig.addProperty("服务标签名称", “我的服务标签”); strategyConfig.addProperty("服务标签值", true); strategyConfig.addProperty("namespace", "my-namespace");

我遵循https://github.com/hazelcast/hazelcast-kubernetes.I 已经使用了第一种方法能够看到实例(每个 pod 不在一个成员列表中)但他们没有通信(如果我在一个榛树实例中做 crud 它不会反映在其他实例中) )。我想使用 DNS 策略,但无法仅创建实例。

【问题讨论】:

  • 谁投了反对票...任何理由..如果您知道答案,请回答或建议。
  • @All 它正在同步,但需要时间。我能够在这两个实例中看到更新。如果有人需要帮助可以在这里评论。看在上帝的份上,请不要在没有评论的情况下投反对票。

标签: kubernetes hazelcast kubernetes-ingress


【解决方案1】:

请检查以下内容:

1。发现策略

对于 Kubernetes,您需要使用 HazelcastKubernetesDiscoveryStrategy 类。它可以在 XML 配置或代码中定义(如您的情况)。

2。标签

检查您的 Hazelcast 集群的服务是否具有您指定的标签。在服务名称和命名空间方面也是如此。

3。配置

有两种配置发现的方法:DNS LookupREST API。每个都有特殊要求。您提到了 DNS 查找,但您发送的配置实际上使用了 REST API。

DNS 查询

您的 Hazelcast 集群服务必须是headless ClusterIP

    spec:
      type: ClusterIP
      clusterIP: None

REST API

您需要为您的应用授予访问 Kubernetes API 的权限。请查收:https://github.com/hazelcast/hazelcast-code-samples/blob/master/hazelcast-integration/kubernetes/rbac.yaml

其他有用的资源

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多