Cassandra on Kubernetes podManagementPolicy - OrderedReady 与 Parallel
Cassandra on Kubernetes podManagementPolicy - OrderedReady vs. Parallel
我在互联网上看到的关于 运行 Kubernetes 上的 Cassandra 集群的每篇文章要么省略 podManagementPolicy
字段,要么将其设置为 OrderedReady
,这本质上是一样的因为它是默认值。
我想知道是否可以使用podManagementPolicy: Parallel
来加快Cassandra集群的多个节点重启时的同步过程。
是的,效果很好。我们在每个有状态集中使用 podManagementPolicy: Parallel
,其中也包括 cassandra 集群。这在整个集群重启场景中确实帮助了我们,其中所有 pods 同时出现并同步。
我们集群中 podManagementPolicy: Parallel
的用例:
我们在其上有 3 个节点的裸机 K8s 集群和 3 个节点的 cassandra 集群,利用节点的 local-storage
进行 PV。在 local-storage
的情况下,PV 绑定到节点。因此,如果我们设置 podManagementPolicy: OrderedReady
那么问题是,如果我们关闭集群的 2 个节点,让我们说 cds-pod-1
和 cds-pod-2
,它们都会进入未知状态。现在假设我们将节点启动到 cds-pod-2
所在的位置然后它不会启动该 pod 因为它需要 cds-pod-1
处于 运行 状态才能将 cds-pod-2
带到运行 状态。因此我们必须更改 podManagementPolicy: Parallel
然后您可以以任何方式调出 pod,而不依赖于顺序。
据我所知,这是个坏主意。我试过了,最后一个节点进入了 CrashLoopBackoff。原因似乎是,如果加入节点看到另一个节点同时尝试加入,则加入节点会崩溃。
podManagementPolicy: OrderedReady
应该是要走的路。
PodManagement parallel 仍然是一个安全的操作。由于 Cassandra 形成一个环并且没有 master/slave 架构,因此并行启动 pods 是有效的。然而,只要种子 pods 没有启动,其余的副本就会加入崩溃循环,直到种子 pods 正常运行。可能需要重新启动几次,但它们应该会启动。
我在互联网上看到的关于 运行 Kubernetes 上的 Cassandra 集群的每篇文章要么省略 podManagementPolicy
字段,要么将其设置为 OrderedReady
,这本质上是一样的因为它是默认值。
我想知道是否可以使用podManagementPolicy: Parallel
来加快Cassandra集群的多个节点重启时的同步过程。
是的,效果很好。我们在每个有状态集中使用 podManagementPolicy: Parallel
,其中也包括 cassandra 集群。这在整个集群重启场景中确实帮助了我们,其中所有 pods 同时出现并同步。
我们集群中 podManagementPolicy: Parallel
的用例:
我们在其上有 3 个节点的裸机 K8s 集群和 3 个节点的 cassandra 集群,利用节点的 local-storage
进行 PV。在 local-storage
的情况下,PV 绑定到节点。因此,如果我们设置 podManagementPolicy: OrderedReady
那么问题是,如果我们关闭集群的 2 个节点,让我们说 cds-pod-1
和 cds-pod-2
,它们都会进入未知状态。现在假设我们将节点启动到 cds-pod-2
所在的位置然后它不会启动该 pod 因为它需要 cds-pod-1
处于 运行 状态才能将 cds-pod-2
带到运行 状态。因此我们必须更改 podManagementPolicy: Parallel
然后您可以以任何方式调出 pod,而不依赖于顺序。
据我所知,这是个坏主意。我试过了,最后一个节点进入了 CrashLoopBackoff。原因似乎是,如果加入节点看到另一个节点同时尝试加入,则加入节点会崩溃。
podManagementPolicy: OrderedReady
应该是要走的路。
PodManagement parallel 仍然是一个安全的操作。由于 Cassandra 形成一个环并且没有 master/slave 架构,因此并行启动 pods 是有效的。然而,只要种子 pods 没有启动,其余的副本就会加入崩溃循环,直到种子 pods 正常运行。可能需要重新启动几次,但它们应该会启动。