kubernetes - 无法通过 kubernetes 在 hazelcast 中创建集群
问题描述
我正在尝试在 kubernetes 上使用 hazelcast。为此,docker 安装在 windows 上,并且 kubernetes 环境是在 docker 上模拟的。这是配置文件
hazelcast.xml
<?xml version="1.0" encoding="UTF-8"?>
<hazelcast
xsi:schemaLocation="http://www.hazelcast.com/schema/config hazelcast-config-3.7.xsd"
xmlns="http://www.hazelcast.com/schema/config" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<properties>
<property name="hazelcast.discovery.enabled">true</property>
</properties>
<network>
<join>
<multicast enabled="false" />
<tcp-ip enabled="false"/>
<discovery-strategies>
<discovery-strategy enabled="true"
class="com.hazelcast.kubernetes.HazelcastKubernetesDiscoveryStrategy">
<!--
<properties>
<property name="service-dns">cobrapp.default.endpoints.cluster.local</property>
<property name="service-dns-timeout">10</property>
</properties>
-->
</discovery-strategy>
</discovery-strategies>
</join>
</network>
</hazelcast>
问题是它无法在模拟环境中创建集群。根据我的部署文件,它应该创建三个集群。这是部署配置文件:
apiVersion: apps/v1
kind: Deployment
metadata:
name: test-deployment
labels:
app: test
spec:
replicas: 3
selector:
matchLabels:
app: test
template:
metadata:
labels:
app: test
spec:
containers:
- name: test
imagePullPolicy: Never
image: testapp:latest
ports:
- containerPort: 5701
- containerPort: 8085
---
apiVersion: v1
kind: Service
metadata:
name: test-service
spec:
selector:
app: test
type: LoadBalancer
ports:
- name: hazelcast
port: 5701
- name: test
protocol: TCP
port: 8085
targetPort: 8085
执行部署文件时的输出:
Members [1] {
Member [10.1.0.124]:5701 this
}
然而,预期的输出是,根据部署文件,它应该包含三个集群。如果有人可以帮忙?
解决方案
Hazelcast 的默认多播发现不适用于开箱即用的 Kubernetes。你需要一个额外的插件。有两种选择,Kubernetes API 和 DNS 查找。
请查看相关文档以获取更多信息。
推荐阅读
- javascript - 如何通过 ajax 将表单发送到我的 php 页面
- javascript - 如何在不需要 ID 的情况下记录嵌套的输入元素值?
- tensorflow - 具有可变依赖关系的`tf.data.Dataset.map`
- python - 如何使用 python 虚拟环境运行 cronjob?
- sql - 如何将不同表中的其他列值获取到查询中?
- java - 如何将 @Nonnull 注释应用于包括类型使用和类型参数在内的所有内容?
- django - 如何将 django web 应用程序部署到谷歌云?
- c# - 如何让 Nuget Gallery 支持 mysql?
- google-apps-script - 隐藏/取消隐藏列
- c# - 桌面方向更改并保持内容不与桌面定向