Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for PDB and TopologySpreadConstraints #9

Open
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

micrOsman
Copy link

@micrOsman micrOsman commented Jun 26, 2023

  • Breaking change? (if so, please describe the impact and migration path for existing application instances)

What changes did you make? (Give an overview)

This PR is created to add support for Pod Disruption Budget, Pod Topology Spread Constraints and Pod Priority Class. The reason is to enhance the availability, reliability, and resiliency of the Kafka-UI, especially during updates and unexpected situations.
Fixes #3

Is there anything you'd like reviewers to focus on?

How Has This Been Tested? (put an "x" (case-sensitive!) next to an item)

  • No need to
  • Manually (please, describe, if necessary)
  • Unit checks
  • Integration checks
  • Covered by existing automation

It was tested locally using a local cluster and another remote cluster.

Values added to value.yaml file used for my local tests were the following:

## Set Pod Priority Class - importance of Pod relatives to other pods.
##
priorityClassName: default

## Application controller Pod Disruption Budget
## Ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
podDisruptionBudget:
  enabled: true
  minAvailable: "50%"
  maxUnavailable: ""

topologySpreadConstraints:
  - maxSkew: 1
    topologyKey: kubernetes.io/hostname
    whenUnsatisfiable: DoNotSchedule

This is the command used to execute the Helm Chart:
helm install kafka-ui -f .\kafka-ui\values.yaml .\kafka-ui\ -n kafka

Checklist (put an "x" (case-sensitive!) next to all the items, otherwise the build will fail)

  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation (e.g. ENVIRONMENT VARIABLES)
  • My changes generate no new warnings (e.g. Sonar is happy)
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged

Check out Contributing and Code of Conduct

A picture of a cute animal (not mandatory but encouraged)

@micrOsman micrOsman marked this pull request as ready for review July 24, 2023 14:31
@micrOsman micrOsman requested a review from a team as a code owner July 24, 2023 14:31
@Narekmat
Copy link
Collaborator

Hello @micrOsman
Please change version in Chart.yaml file to 0.7.3

@micrOsman
Copy link
Author

Hello @micrOsman Please change version in Chart.yaml file to 0.7.3

Hello @Narekmat, thank you for the review. The version has been increased to 0.7.3 and the app version increased to the current one.

@micrOsman
Copy link
Author

Hello, Is there anything I can do to help implement these changes?

@Haarolean
Copy link
Contributor

@micrOsman hey, sorry, figured out I haven't subscribed to this particular repo for some reason. We'll take a look

@Narekmat
Copy link
Collaborator

@micrOsman please check this.
Seems some issue with k8s 1.18.0 version.
https://github.com/provectus/kafka-ui-charts/pull/9/checks

@micrOsman
Copy link
Author

Narekmat could you please run one more build-and-test job?

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.

Helm: Support PDB and Topology Spread Constraints
3 participants