他们应该能够沟通和更新应该相互可见,我是说,主要是同步。
DiscoveryStrategyConfig strategyConfig =新DiscoveryStrategyConfig(工厂);区块报价 // strategyConfig.addProperty("service-dns","my-serice-name.my-namespace.svc.cluster.local");// strategyConfig.addProperty("service-dns-timeout","300"); strategyConfig.addProperty("service-label-name",“my strategyConfig.addProperty”;“strategyConfig.addProperty("service-label-value",-strategyConfig.addProperty”;strategyConfig.addProperty(“命名空间”,“my-命名空间”);
我遵循了https://github.com/hazelcast/hazelcast-kubernetes.I,使用了第一种方法能够看到实例(不是在一个成员列表中的每个荚),但是他们没有通信(如果我在一个hazel实例中执行crud,它在另一个成员列表中没有反映)。我想使用DNS策略,但无法创建实例。
发布于 2018-07-27 14:35:11
请核对下列文件:
1.发现战略
对于Kubernetes,您需要使用HazelcastKubernetesDiscoveryStrategy类。它可以在XML配置或代码中定义(就像在您的例子中那样)。
2.标签
检查您的Hazelcast群集的服务是否有您指定的标签。在服务名称和命名空间方面也是如此。
3.配置
配置发现的方法有两种:DNS查找和REST 。每一个都有特殊的要求。您提到了DNS查找,但是您发送的配置实际上使用了REST。
DNS查找
您的Hazelcast群集服务必须是无头ClusterIP。
spec:
type: ClusterIP
clusterIP: NoneREST API
您需要为您的应用程序授予访问权限,以访问Kubernetes API。请查看:https://github.com/hazelcast/hazelcast-code-samples/blob/master/hazelcast-integration/kubernetes/rbac.yaml
其他有用资源
https://stackoverflow.com/questions/51480651
复制相似问题