3
votes

Cassandra sur Kubernetes podManagementPolicy - OrderedReady vs Parallel

Chaque article que j'ai vu sur Internet concernant l'exécution d'un cluster Cassandra sur Kubernetes omettait le champ podManagementPolicy ou le définissait sur OrderedReady , ce qui est essentiellement la même chose car c'est la valeur par défaut.

Je me demandais s'il était possible d'utiliser podManagementPolicy: Parallel pour accélérer le processus de synchronisation lorsque plusieurs nœuds du cluster Cassandra redémarrent.


0 commentaires

3 Réponses :


2
votes

Oui, cela fonctionne bien. Nous utilisons podManagementPolicy: Parallel dans chaque statefulsets qui inclut également le cluster cassandra. Cela nous a vraiment aidés dans tout le scénario de redémarrage du cluster où tous les pods sont lancés et synchronisés en même temps.

Cas d'utilisation de podManagementPolicy: Parallel dans notre cluster:

Nous avons un cluster Baremetal K8 à 3 nœuds et un cluster Cassandra à 3 nœuds au-dessus, exploitant le stockage local du nœud pour PV. En cas de stockage local , PV est lié au nœud. Donc, si nous définissons podManagementPolicy: OrderedReady , le problème est, si nous abaissons 2 nœuds de cluster qui ont disons cds-pod-1 et cds-pod -2 , les deux passent dans un état inconnu. Disons maintenant que nous montons le nœud où réside cds-pod-2 , alors il n'active pas ce pod car il a besoin du cds-pod-1 pour être dans état d'exécution pour amener cds-pod-2 à l'état d'exécution. Par conséquent, nous devons changer le podManagementPolicy: Parallel et vous pouvez ensuite afficher le pod de n'importe quelle manière et ne dépend pas de l'ordre.


0 commentaires

3
votes

Pour autant que je sache, c'est une mauvaise idée. Je l'ai essayé et j'ai obtenu le dernier nœud dans CrashLoopBackoff. Il semble que la raison en est que les nœuds de jonction se bloquent s'ils voient qu'un autre nœud tente de se joindre en même temps.

podManagementPolicy: OrderedReady devrait être la voie à suivre.


0 commentaires

0
votes

Le parallèle de PodManagement est toujours une opération sûre. Comme Cassandra forme un anneau et n'a pas d'architecture maître / esclave, le démarrage des pods en parallèle est valide. Cependant, tant que les gousses de graines ne sont pas démarrées, le reste des répliques rejoindra une boucle de choc jusqu'à ce que les gousses soient en place et en bonne santé. Cela peut prendre quelques redémarrages, mais ils devraient être en place.


0 commentaires