Plugin Hooks & Improvements
Plugins are now able to intercept and mutate incoming and outgoing objects from the syncer. This makes it possible to adjust syncer behaviour without the need to replace the complete syncer. Furthermore you can now label objects with vcluster.loft.sh/controlled-by
to signal vcluster it should not reconcile this object and another party is responsible for handling it.
Other Changes
- cli: vcluster list command now has status column showing state of the vclusters. Now paused vclusters will also be shown in list output
- syncer: Enhanced the vcluster syncer to discover the correct value of the service CIDR range automatically
- syncer: Fixed an issue where vcluster 0.8 and above do not support k8s versions which use discovery.k8s.io/v1beta1 instead of discovery.k8s.io/v1 e.g rancher/k3s:v1.20.15-k3s1 (thanks @Shaked)
- syncer: Updated k8s dependencies to v1.24
- syncer: Fixed an issue where vcluster wouldn't apply init manifests correctly if a target namespace was specified
- syncer: Fixed an issue where enabling the scheduler would not allow provisioning of pvc with a storage class that uses WaitForFirstConsumer
- syncer: vcluster will now fail to start if storage classes sync and legacy storage classes sync are enabled at the same time
- syncer: vcluster now supports 1.24 in k3s and k8s clusters
- syncer: vcluster now uses an index to remember what secrets belong to which pod. This should greatly improve perforamance for large vclusters as not every secrets needs to reiterate over every pod.
- chart: k8s & eks now deploys a regular job instead of using an pre-install hook
- chart: k8s & eks job now uses non root by default
- chart: supports coredns resources in helm chart
- chart: Improved helm chart notes
- chart: vcluster now supports priorityClassName option through helm chart