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

Something is wrong with Helm Chart v0.29.0... #1383

Closed
timetofaceit opened this issue Apr 24, 2024 · 9 comments
Closed

Something is wrong with Helm Chart v0.29.0... #1383

timetofaceit opened this issue Apr 24, 2024 · 9 comments
Labels
kind/support Categorizes issue or PR as a support question.

Comments

@timetofaceit
Copy link

Hi!

I'm trying to install descheduler using Helm Chart v0.29.0 and set policy profiles in my K8s cluster, but for some reason none of these are working when pods are up... 😢

I see that helm is still installing descheduler with v1alpha1 policy and not accepting v1alpha2. 🤔

Can this be updated / fixed? 🙏

@timetofaceit timetofaceit added the kind/bug Categorizes issue or PR as related to a bug. label Apr 24, 2024
@a7i
Copy link
Contributor

a7i commented Apr 27, 2024

Hi @timetofaceit

Please see duplicate issue here #1268

As mentioned, you need to unset default value of strategies in order for profiles to take over

deschedulerPolicy:
  strategies:

@a7i
Copy link
Contributor

a7i commented Apr 27, 2024

/kind support

@k8s-ci-robot k8s-ci-robot added the kind/support Categorizes issue or PR as a support question. label Apr 27, 2024
@a7i
Copy link
Contributor

a7i commented Apr 27, 2024

Going to close Issue, but please feel free to re-open if the mentioned solution does not work for you. Thanks!

/close

@k8s-ci-robot
Copy link
Contributor

@a7i: Closing this issue.

In response to this:

Going to close Issue, but please feel free to re-open if the mentioned solution does not work for you. Thanks!

/close

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@a7i a7i removed the kind/bug Categorizes issue or PR as related to a bug. label Apr 27, 2024
@timetofaceit
Copy link
Author

timetofaceit commented Apr 29, 2024

Hi! @a7i

Yes, it works when you unset strategies, but the problem is that there is no support for minReplicas variable because I get this error:

I0429 08:30:02.818166 1 tlsconfig.go:240] "Starting DynamicServingCertificateController" E0429 08:30:02.819117 1 server.go:96] "descheduler server" err="failed decoding descheduler's policy config \"/policy-dir/policy.yaml\": strict decoding error: unknown field \"minReplicas\"" E0429 08:30:02.819145 1 run.go:74] "command failed" err="failed decoding descheduler's policy config \"/policy-dir/policy.yaml\": strict decoding error: unknown field \"minReplicas\""

Also topologySpreadConstraints is also not supported, because this helm version - 0.29.0 just doesn't have this variable and uses old helm config... 😢

Another question is why to make code updates to master branch but don't create a new release version?

/reopen

@a7i
Copy link
Contributor

a7i commented May 2, 2024

Hi @timetofaceit can you please share your policy yaml so I can guide you on setting it up for v1alpha2?

minReplicas is available, please see README.md

Example:

profiles:
  - name: default
    pluginConfig:
    - name: "DefaultEvictor"
      args:
        minReplicas: 2

@timetofaceit
Copy link
Author

Hi! @a7i

Sure!

Yes I see that they are available, but I'm getting the same error that I mentioned previously. 😕

My helm chart values file config looks like this now:

deschedulerPolicyAPIVersion: descheduler/v1alpha2

deschedulerPolicy:
  strategies: {}
  profiles:
    - name: Default
      pluginConfig:
        - name: DefaultEvictor
          args:
            evictLocalStoragePods: false
            evictSystemCriticalPods: false
            ignorePvcPods: false
            evictFailedBarePods: false
            nodeFit: true
            minReplicas: 1
        - name: RemoveDuplicates
          args:
            excludeOwnerKinds:
              - ReplicaSet
        - name: LowNodeUtilization
          args:
            thresholds:
              cpu : 30
              memory: 30
              pods: 20
            targetThresholds:
              cpu : 80
              memory: 80
              pods: 50
        - name: HighNodeUtilization
          args:
            thresholds:
              cpu : 80
              memory: 80
              pods: 50
        - name: RemovePodsViolatingInterPodAntiAffinity
        - name: RemovePodsViolatingNodeAffinity
          args:
            nodeAffinityType:
              - requiredDuringSchedulingIgnoredDuringExecution
        - name: RemovePodsViolatingTopologySpreadConstraint
          args:
            topologyBalanceNodeFit: true
            constraints:
              - DoNotSchedule
              - ScheduleAnyway
      plugins:
        balance:
          enabled:
            - RemoveDuplicates
            - LowNodeUtilization
            - HighNodeUtilization
            - RemovePodsViolatingTopologySpreadConstraint
        deschedule:
          enabled:
            - RemovePodsViolatingInterPodAntiAffinity
            - RemovePodsViolatingNodeAffinity

@a7i
Copy link
Contributor

a7i commented May 2, 2024

oh right!

minReplicas capability was added by me here: #1257

This is not part of release v0.29 and is scheduled for release v0.30 (should be out soon).

Please use the README from this release branch: https://github.com/kubernetes-sigs/descheduler/tree/release-1.29

@timetofaceit
Copy link
Author

Ok, thanks for the info! 👍

Will close this now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/support Categorizes issue or PR as a support question.
Projects
None yet
Development

No branches or pull requests

4 participants