mirror of
https://github.com/kubernetes-sigs/descheduler.git
synced 2026-01-26 05:14:13 +01:00
Compare commits
6 Commits
cc96a3ee7a
...
deschedule
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c42bd6eaf5 | ||
|
|
795fb54ca0 | ||
|
|
210614cc5b | ||
|
|
21f784b372 | ||
|
|
2f0f8c241a | ||
|
|
c3255c8860 |
15
.github/workflows/release.yaml
vendored
15
.github/workflows/release.yaml
vendored
@@ -11,20 +11,21 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Configure Git
|
- name: Configure Git
|
||||||
run: |
|
run: |
|
||||||
git config user.name "$GITHUB_ACTOR"
|
git config user.name "$GITHUB_ACTOR"
|
||||||
git config user.email "$GITHUB_ACTOR@users.noreply.github.com"
|
git config user.email "$GITHUB_ACTOR@users.noreply.github.com"
|
||||||
|
|
||||||
- name: Fetch history
|
- name: Install Helm
|
||||||
run: git fetch --prune --unshallow
|
uses: azure/setup-helm@v1
|
||||||
|
with:
|
||||||
- name: Add dependency chart repos
|
version: v3.4.0
|
||||||
run: |
|
|
||||||
helm repo add stable https://kubernetes-charts.storage.googleapis.com/
|
|
||||||
|
|
||||||
- name: Run chart-releaser
|
- name: Run chart-releaser
|
||||||
uses: helm/chart-releaser-action@v1.0.0-rc.2
|
uses: helm/chart-releaser-action@v1.1.0
|
||||||
env:
|
env:
|
||||||
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
|
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
|
||||||
|
CR_RELEASE_NAME_TEMPLATE: "descheduler-helm-chart-{{ .Version }}"
|
||||||
|
|||||||
@@ -1,16 +1,14 @@
|
|||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
name: descheduler-helm-chart
|
name: descheduler-helm-chart
|
||||||
version: 0.19.0
|
version: 0.19.1
|
||||||
appVersion: 0.19.0
|
appVersion: 0.19.0
|
||||||
description: Descheduler for Kubernetes is used to rebalance clusters by evicting pods that can potentially be scheduled on better nodes. In the current implementation, descheduler does not schedule replacement of evicted pods but relies on the default scheduler for that.
|
description: DEPRECATED - Descheduler for Kubernetes is used to rebalance clusters by evicting pods that can potentially be scheduled on better nodes. In the current implementation, descheduler does not schedule replacement of evicted pods but relies on the default scheduler for that.
|
||||||
keywords:
|
keywords:
|
||||||
- kubernetes
|
- kubernetes
|
||||||
- descheduler
|
- descheduler
|
||||||
- kube-scheduler
|
- kube-scheduler
|
||||||
home: https://github.com/kubernetes-sigs/descheduler
|
home: https://github.com/kubernetes-sigs/descheduler
|
||||||
icon: https://kubernetes.io/images/favicon.png
|
icon: https://kubernetes.io/images/favicon.png
|
||||||
sources:
|
sources:
|
||||||
- https://github.com/kubernetes-sigs/descheduler
|
- https://github.com/kubernetes-sigs/descheduler
|
||||||
maintainers:
|
deprecated: true
|
||||||
- name: Kubernetes SIG Scheduling
|
|
||||||
email: kubernetes-sig-scheduling@googlegroups.com
|
|
||||||
|
|||||||
@@ -43,17 +43,17 @@ The command removes all the Kubernetes components associated with the chart and
|
|||||||
|
|
||||||
The following table lists the configurable parameters of the _descheduler_ chart and their default values.
|
The following table lists the configurable parameters of the _descheduler_ chart and their default values.
|
||||||
|
|
||||||
| Parameter | Description | Default |
|
| Parameter | Description | Default |
|
||||||
| ------------------------------ | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------ |
|
| ------------------------------ | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------ |
|
||||||
| `image.repository` | Docker repository to use | `k8s.gcr.io/descheduler/descheduler` |
|
| `image.repository` | Docker repository to use | `k8s.gcr.io/descheduler/descheduler` |
|
||||||
| `image.tag` | Docker tag to use | `v[chart appVersion]` |
|
| `image.tag` | Docker tag to use | `v[chart appVersion]` |
|
||||||
| `image.pullPolicy` | Docker image pull policy | `IfNotPresent` |
|
| `image.pullPolicy` | Docker image pull policy | `IfNotPresent` |
|
||||||
| `nameOverride` | String to partially override `descheduler.fullname` template (will prepend the release name) | `""` |
|
| `nameOverride` | String to partially override `descheduler.fullname` template (will prepend the release name) | `""` |
|
||||||
| `fullnameOverride` | String to fully override `descheduler.fullname` template | `""` |
|
| `fullnameOverride` | String to fully override `descheduler.fullname` template | `""` |
|
||||||
| `schedule` | The cron schedule to run the _descheduler_ job on | `"*/2 * * * *"` |
|
| `schedule` | The cron schedule to run the _descheduler_ job on | `"*/2 * * * *"` |
|
||||||
| `cmdOptions` | The options to pass to the _descheduler_ command | _see values.yaml_ |
|
| `cmdOptions` | The options to pass to the _descheduler_ command | _see values.yaml_ |
|
||||||
| `deschedulerPolicy.strategies` | The _descheduler_ strategies to apply | _see values.yaml_ |
|
| `deschedulerPolicy.strategies` | The _descheduler_ strategies to apply | _see values.yaml_ |
|
||||||
| `priorityClassName` | The name of the priority class to add to pods | `system-cluster-critical` |
|
| `priorityClassName` | The name of the priority class to add to pods | `system-cluster-critical` |
|
||||||
| `rbac.create` | If `true`, create & use RBAC resources | `true` |
|
| `rbac.create` | If `true`, create & use RBAC resources | `true` |
|
||||||
| `serviceAccount.create` | If `true`, create a service account for the cron job | `true` |
|
| `serviceAccount.create` | If `true`, create a service account for the cron job | `true` |
|
||||||
| `serviceAccount.name` | The name of the service account to use, if not set and create is true a name is generated using the fullname template | `nil` |
|
| `serviceAccount.name` | The name of the service account to use, if not set and create is true a name is generated using the fullname template | `nil` |
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
- [Go 1.15+](https://golang.org/dl/)
|
- [Go 1.15+](https://golang.org/dl/)
|
||||||
- [Docker](https://docs.docker.com/install/)
|
- [Docker](https://docs.docker.com/install/)
|
||||||
- [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl)
|
- [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl)
|
||||||
- [kind](https://kind.sigs.k8s.io/)
|
- [kind v0.9.0+](https://kind.sigs.k8s.io/)
|
||||||
|
|
||||||
## Build and Run
|
## Build and Run
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
kind: Cluster
|
kind: Cluster
|
||||||
apiVersion: kind.sigs.k8s.io/v1alpha3
|
apiVersion: kind.x-k8s.io/v1alpha4
|
||||||
nodes:
|
nodes:
|
||||||
- role: control-plane
|
- role: control-plane
|
||||||
- role: worker
|
- role: worker
|
||||||
|
|||||||
@@ -200,7 +200,10 @@ func classifyNodes(npm NodePodsMap, thresholds api.ResourceThresholds, targetThr
|
|||||||
klog.V(2).Infof("Node %#v is over utilized with usage: %#v", node.Name, usage)
|
klog.V(2).Infof("Node %#v is over utilized with usage: %#v", node.Name, usage)
|
||||||
targetNodes = append(targetNodes, nuMap)
|
targetNodes = append(targetNodes, nuMap)
|
||||||
} else {
|
} else {
|
||||||
klog.V(2).Infof("Node %#v is appropriately utilized with usage: %#v", node.Name, usage)
|
if nodeutil.IsNodeUnschedulable(node) {
|
||||||
|
klog.V(2).Infof("Node %#v is unschedulable", node.Name)
|
||||||
|
}
|
||||||
|
klog.V(2).Infof("Node %#v is utilized with usage: %#v", node.Name, usage)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return lowNodes, targetNodes
|
return lowNodes, targetNodes
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
if [ -n "$KIND_E2E" ]; then
|
if [ -n "$KIND_E2E" ]; then
|
||||||
K8S_VERSION=${KUBERNETES_VERSION:-v1.18.2}
|
K8S_VERSION=${KUBERNETES_VERSION:-v1.18.2}
|
||||||
curl -Lo kubectl https://storage.googleapis.com/kubernetes-release/release/${K8S_VERSION}/bin/linux/amd64/kubectl && chmod +x kubectl && sudo mv kubectl /usr/local/bin/
|
curl -Lo kubectl https://storage.googleapis.com/kubernetes-release/release/${K8S_VERSION}/bin/linux/amd64/kubectl && chmod +x kubectl && sudo mv kubectl /usr/local/bin/
|
||||||
wget https://github.com/kubernetes-sigs/kind/releases/download/v0.8.1/kind-linux-amd64
|
wget https://github.com/kubernetes-sigs/kind/releases/download/v0.9.0/kind-linux-amd64
|
||||||
chmod +x kind-linux-amd64
|
chmod +x kind-linux-amd64
|
||||||
mv kind-linux-amd64 kind
|
mv kind-linux-amd64 kind
|
||||||
export PATH=$PATH:$PWD
|
export PATH=$PATH:$PWD
|
||||||
|
|||||||
Reference in New Issue
Block a user