0

我在 Kubernetes 环境中设置节奏时遇到问题,以下是详细信息

  • CADENCE_SERVER_IMAGE_VERSION:0.19.2
  • 所有 Cadence 组件都在单个 pod 中运行
  • 似乎 Ringpop 配置需要无头服务,但无头不适用于 Istio
  • 如果我只有一个 Pod,每件事都可以正常工作,但是一旦我创建了 2 个 Pod,它们就会开始为任务列表和分片而战,这就是我的问题是 Ringpop 配置:{ name: RINGPOP_SEEDS, value: 'api-gtp-cadence.api-gtp-cadence.svc.cluster.local:7933,api-gtp-cadence.api-gtp-cadence.svc.cluster.local:7934,api-gtp-cadence.api-gtp-cadence.svc.cluster.local:7935,api-gtp-cadence.api-gtp-cadence.svc.cluster.local:7939'
4

1 回答 1

0

如果我只有一个 Pod,每件事都可以正常工作,但是一旦我创建了 2 个 Pod,它们就会开始为任务列表和分片而战

在 K8s 中,Cadence 需要 Headless。这是因为 Cadence 使用 Ringpop 来管理集群中每个节点的成员资格。Ringpop 使用每个节点的 IP:port 作为身份和地址进行通信。Headless 是给每个 pod 一个 PodIP 的唯一方法(AFAIK)。这就是为什么只有单个 pod 集群才能在没有 headless 的情况下工作——因为在这种情况下,ringpop 中只有一个成员。

于 2022-03-04T19:19:50.097 回答