gpt4 book ai didi

kubernetes - 如何在具有不同 pod(App 和 Hazel 实例)的 kubernetes 中实现 hazelcast 同步?

转载 作者:行者123 更新时间:2023-12-02 12:20:20 29 4
gpt4 key购买 nike

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

DiscoveryStrategyConfig strategyConfig = new DiscoveryStrategyConfig(factory); Blockquote

// strategyConfig.addProperty("service-dns", "my-serice-name.my-namespace.svc.cluster.local"); // strategyConfig.addProperty("service-dns-timeout", "300");

strategyConfig.addProperty("service-name", "my-service-name"); strategyConfig.addProperty("service-label-name", "my-service-label"); strategyConfig.addProperty("service-label-value", true); strategyConfig.addProperty("namespace", "my-namespace");



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

最佳答案

请检查以下内容:
1. 发现策略
对于 Kubernetes,您需要使用 HazelcastKubernetesDiscoveryStrategy类(class)。它可以在 XML 配置或代码中定义(如您的情况)。
2. 标签
检查您的 Hazelcast 集群的服务是否具有您指定的标签。在服务名称和命名空间方面也是如此。
3.配置
有两种配置发现的方法: DNS 查询 REST API .每个都有特殊要求。您提到了 DNS 查找,但您发送的配置实际上使用了 REST API。
DNS 查询
您的 Hazelcast 集群服务必须是 headless 集群 IP .

    spec:
type: ClusterIP
clusterIP: None
REST API
您需要为您的应用授予访问 Kubernetes API 的权限。请查看: https://github.com/hazelcast/hazelcast-code-samples/blob/master/hazelcast-integration/kubernetes/rbac.yaml
其他有用的资源
  • Hazelcast Kubernetes Code Sample
  • Hazelcast OpenShift Client app (也应该在 Kubernetes 中工作)
  • 关于kubernetes - 如何在具有不同 pod(App 和 Hazel 实例)的 kubernetes 中实现 hazelcast 同步?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51480651/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com