Skip to content

Commit

Permalink
version bump, changelog
Browse files Browse the repository at this point in the history
Signed-off-by: adrienjt <[email protected]>
  • Loading branch information
adrienjt committed May 20, 2020
1 parent 96fcc73 commit 45ab633
Show file tree
Hide file tree
Showing 5 changed files with 28 additions and 12 deletions.
16 changes: 16 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,22 @@
-->

## v0.8.2

Note: we're skipping v0.8.1 because the 0.8.1 image tag was erroneously used for a pre-release version.

### Bugfixes

- Fix [#20](https://github.com/admiraltyio/multicluster-scheduler/issues/20). Scheduling was failing altogether if the namespace didn't exist in one of the target clusters. That cluster is now simply filtered out.
- Fix [#21](https://github.com/admiraltyio/multicluster-scheduler/issues/21). The feedback controller wasn't compatible with namespaced targets. It was trying to watch remote pod chaperons at the cluster level, which wasn't allowed by remote RBAC.
- Fix [#25](https://github.com/admiraltyio/multicluster-scheduler/issues/25). The Helm chart values structure was broken, making it difficult to set resource requests/limits.
- Fix [#26](https://github.com/admiraltyio/multicluster-scheduler/issues/26). Init containers weren't stripped from their service account token volume mounts as pods were delegated.
- Fix a race condition that allowed candidate pod chaperons and their pods to be orphaned if scheduling failed. Finalizer is now added to proxy pods at admission vs. asynchronously by the feedback controller.

### Breaking Changes

- Some Helm chart values were broken (see above). As we fixed them, we reorganized all values, so some values that did work now work differently.

## v0.8.0

This release removes the central scheduler, replaced by a decentralized algorithm creating candidate pods in all targets (of which only one becomes the proxy pod's delegate). See the [proposal](proposals/decentralized.md) for details.
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ kubectl --context "$CLUSTER1" create namespace admiralty
helm install multicluster-scheduler admiralty/multicluster-scheduler \
--kube-context "$CLUSTER1" \
--namespace admiralty \
--version 0.8.0 \
--version 0.8.2 \
--set clusterName=c1 \
--set targetSelf=true \
--set targets[0].name=c2
Expand All @@ -71,7 +71,7 @@ kubectl --context "$CLUSTER2" create namespace admiralty
helm install multicluster-scheduler admiralty/multicluster-scheduler \
--kube-context "$CLUSTER2" \
--namespace admiralty \
--version 0.8.0 \
--version 0.8.2 \
--set clusterName=c2
```

Expand Down
4 changes: 2 additions & 2 deletions charts/multicluster-scheduler/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
apiVersion: v2
name: multicluster-scheduler
version: 0.8.0
version: 0.8.2
#kubeVersion: A SemVer range of compatible Kubernetes versions (optional)
description: A system of Kubernetes controllers that intelligently schedules workloads across clusters.
type: application
Expand All @@ -14,5 +14,5 @@ home: https://github.com/admiraltyio/multicluster-scheduler
# email: The maintainer's email (optional for each maintainer)
# url: A URL for the maintainer (optional for each maintainer)
icon: https://admiralty.io/icons/icon-144x144.png
appVersion: 0.8.0
appVersion: 0.8.2
#deprecated: Whether this chart is deprecated (optional, boolean)
12 changes: 6 additions & 6 deletions charts/multicluster-scheduler/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,9 +46,9 @@ Create a namespace for multicluster-scheduler and install the chart in it, using
```sh
kubectl create namespace admiralty
helm install multicluster-scheduler admiralty/multicluster-scheduler \
--version 0.8.0 \
--version 0.8.2 \
-n admiralty \
-f values-scheduler.yaml
-f values.yaml
```

Repeat for other clusters.
Expand All @@ -63,7 +63,7 @@ See [getting started guide](../../README.md#getting-started) for now.
## Post-Delete Hook

Multicluster-scheduler uses [finalizers](https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/#finalizers) for [cross-cluster garbage collection](https://twitter.com/adrienjt/status/1199467878015066112). In particular, it adds finalizers to proxy pods and global services. The finalizers block the deletion of those objects until multicluster-scheduler's scheduler deletes their delegates in other clusters. If the scheduler stopped running and those finalizers weren't removed, object deletions would be blocked indefinitely. Therefore, when multicluster-scheduler is uninstalled, a Kubernetes job will run as a [Helm post-delete hook](https://helm.sh/docs/topics/charts_hooks/) to clean up the finalizers.
Multicluster-scheduler uses [finalizers](https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/#finalizers) for [cross-cluster garbage collection](https://twitter.com/adrienjt/status/1199467878015066112). In particular, it adds finalizers to proxy pods and global services. The finalizers block the deletion of those objects until multicluster-scheduler deletes their delegates in other clusters. If multicluster-scheduler stopped running, and those finalizers weren't removed, object deletions would be blocked indefinitely. Therefore, when multicluster-scheduler is uninstalled, a Kubernetes job will run as a [Helm post-delete hook](https://helm.sh/docs/topics/charts_hooks/) to clean up the finalizers.

## Advanced Use Cases

Expand Down Expand Up @@ -109,23 +109,23 @@ Don't forget to label multicluster-scheduler's namespace (e.g., "admiralty") wit
| targets[].context | string | `""` | if using a custom kubeconfig secret, with multiple contexts, override the kubeconfig's current context |
| imagePullSecretName | string | `""` | |
| controllerManager.image.repository | string | `"quay.io/admiralty/multicluster-scheduler-agent"` | |
| controllerManager.image.tag | string | `"0.8.0"` | |
| controllerManager.image.tag | string | `"0.8.2"` | |
| controllerManager.image.pullPolicy | string | `"IfNotPresent"` | |
| controllerManager.resources | object | `{}` | |
| controllerManager.nodeSelector | object | `{}` | |
| controllerManager.securityContext | object | `{}` | |
| controllerManager.affinity | object | `{}` | |
| controllerManager.tolerations | array | `[]` | |
| scheduler.image.repository | string | `"quay.io/admiralty/multicluster-scheduler-scheduler"` | |
| scheduler.image.tag | string | `"0.8.0"` | |
| scheduler.image.tag | string | `"0.8.2"` | |
| scheduler.image.pullPolicy | string | `"IfNotPresent"` | |
| scheduler.resources | object | `{}` | |
| scheduler.nodeSelector | object | `{}` | |
| scheduler.securityContext | object | `{}` | |
| scheduler.affinity | object | `{}` | |
| scheduler.tolerations | array | `[]` | |
| postDeleteJob.image.repository | string | `"quay.io/admiralty/multicluster-scheduler-remove-finalizers"` | |
| postDeleteJob.image.tag | string | `"0.8.0"` | |
| postDeleteJob.image.tag | string | `"0.8.2"` | |
| postDeleteJob.image.pullPolicy | string | `"IfNotPresent"` | |
| postDeleteJob.resources | object | `{}` | |
| postDeleteJob.nodeSelector | object | `{}` | |
Expand Down
4 changes: 2 additions & 2 deletions charts/multicluster-scheduler/templates/deploy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,8 @@ spec:
items:
- key: {{ default "config" .key }}
path: config
{{- end }}
{{- end }}
{{- end }}
{{- end }}
{{- with .Values.imagePullSecretName }}
imagePullSecrets:
- name: {{ . }}
Expand Down

0 comments on commit 45ab633

Please sign in to comment.