Skip to content

feat(): add HA Kustomize overlay configuration#488

Open
Maximus-08 wants to merge 2 commits into
kubeslice:masterfrom
Maximus-08:feature/ha-kustomize-overlay
Open

feat(): add HA Kustomize overlay configuration#488
Maximus-08 wants to merge 2 commits into
kubeslice:masterfrom
Maximus-08:feature/ha-kustomize-overlay

Conversation

@Maximus-08

Copy link
Copy Markdown

Description

Lays the foundation for running a high-availability worker-operator to prevent single-point-of-failure scenarios, aligning with the KubeSlice HA proposal.
This introduces a dedicated HA Kustomize overlay that allows compiling multi-replica configurations without altering the default single-replica setup.

Proposed Changes:

  • config/ha/kustomization.yaml: Standard Kustomization base chaining resources and merge patches.
  • config/ha/manager_ha_patch.yaml: Strategic merge patch to scale the operator deployment to 2 replicas and adds preferred pod anti-affinity based on the kubernetes.io/hostname topology key to ensure operator pods are scheduled on distinct nodes.
  • config/ha/pdb.yaml: Introduces a PodDisruptionBudget for the worker manager requiring minAvailable: 1 to guarantee high availability during cluster maintenance or node drains.

Fixes #

How Has This Been Tested?

Tested locally by building the Kustomize overlay to verify that the strategic merge patches compile successfully and output the correct resources, replicas, and pod anti-affinity constraints.

Test Cases

  • Run kustomize build config/ha to verify successful manifest compilation.
  • Verify deployment is scaled to 2 replicas with host anti-affinity rules in the compiled manifest.
  • Verify the PodDisruptionBudget is correctly rendered and selects the operator deployment.

Checklist:

  • The title of the PR states what changed and the related issues number (used for the release note).
  • Does this PR requires documentation updates?
  • I've updated documentation as required by this PR.
  • I have ran go fmt
  • I have updated the helm chart as required by this PR.
  • I have performed a self-review of my own code.
  • I have commented my code, particularly in hard-to-understand areas.
  • I have tested it for all user roles.
  • I have added all the required unit test cases.
  • I have verified the E2E test cases with new code changes.
  • I have added all the required E2E test cases.

Does this PR introduce a breaking change?


Signed-off-by: Avnish Jaltare <avnishjaltare8@gmail.com>
Copilot AI review requested due to automatic review settings May 24, 2026 10:07

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Adds a high-availability (HA) kustomize overlay for the operator by increasing replica count, spreading pods across nodes, and introducing a PodDisruptionBudget.

Changes:

  • Added a PodDisruptionBudget to limit voluntary disruptions.
  • Added a Deployment patch to run 2 replicas with pod anti-affinity preferences.
  • Added an HA kustomization overlay that composes default manifests plus HA-specific resources/patches.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments.

File Description
config/ha/pdb.yaml Adds a PodDisruptionBudget intended to protect operator pods during disruptions.
config/ha/manager_ha_patch.yaml Patches the operator Deployment to 2 replicas and adds preferred pod anti-affinity.
config/ha/kustomization.yaml Defines the HA overlay composition (base + PDB + strategic merge patch).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread config/ha/kustomization.yaml Outdated
Comment thread config/ha/manager_ha_patch.yaml
Comment thread config/ha/pdb.yaml Outdated
Comment thread config/ha/operator_pdb.yaml
Signed-off-by: Avnish Jaltare <avnishjaltare8@gmail.com>
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.

2 participants