Skip to content

Conversation

@bjosv
Copy link
Collaborator

@bjosv bjosv commented Dec 2, 2025

This is somewhat a copy and continuation of #10 Build out initial Deployments.

Reconciles a CR to create the simplest Service, ConfigMap and multiple Deployments, where each Deployment provides a single Pod with a Valkey node for the cluster.

  • Includes initial types to "scrape" the current cluster state, which is used to determine what actions to perform.
  • Includes readiness and liveness checks that allows us to use official Valkey containers.
  • Includes a e2e-test that will verify the Valkey instances are created and accessible by valkey-cli from within the K8s. The cluster is initiated, and slots assigned, and we expect a "cluster_state:ok" from nodes.
  • The reconciliation can handle when pods are killed; the recreated Pod (with a new Valkey instance) is added to the cluster, and the killed instance is forgotten by the cluster. This have been tested by randomly killing a pod each 10s without any lost data (minimal dataset).

@sandeepk97
Copy link
Collaborator

  • The reconciliation can recreate killed Pods/Valkey instances, and have been tested by randomly killing a pod each 10s without any lost data (minimal dataset)

i have 1 question on this point. when we kill pod, doesnt deployment controller automatically recreate pods? how is reconciliation responsible for recreating pods?

@bjosv
Copy link
Collaborator Author

bjosv commented Dec 8, 2025

i have 1 question on this point. when we kill pod, doesnt deployment controller automatically recreate pods? how is reconciliation responsible for recreating pods?

Yes, the sentence was misleading. The reconciliation is only adding/removing cluster members. I have updated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants