Pause and Resume vclusters
vcluster is now able to pause and resume. Pausing a vcluster means to temporarily scale down the vcluster and delete all its created workloads on the host cluster. This can be useful to save computing resources used by vcluster workloads in the host cluster.
For more information please checkout the vcluster docs
Directly execute a command with vcluster connect
in same shell
vcluster now allows command execution with vcluster context in command vcluster connect
. For example:
# Retrieve vcluster namespaces
vcluster connect test -n test -- kubectl get ns
# New shell with vcluster kube context
vcluster connect test -n test -- bash
Expiring kube configs & automatic service account creation
vcluster is now able to automatically create service account tokens for generated kube configs, which allow you to easily create kube configs for other vcluster users that should not be cluster admin. For example:
# Create a kube config for a cluster viewer
vcluster connect my-vcluster -n my-vcluster --service-account viewer --cluster-role view
# OR: create a kube config for a cluster admin
vcluster connect my-vcluster -n my-vcluster --service-account admin --cluster-role cluster-admin
# OR: create a kube config that expires after an hour
vcluster connect my-vcluster -n my-vcluster --service-account viewer --cluster-role view --token-expiration 3600
This makes it also possible to use vcluster more easily without ingresses that require ssl passthrough. For more information please checkout the vcluster access docs and vcluster ingress docs
Support for VolumeSnapshots
vcluster now supports syncing of volume snapshots between the host and virtual cluster, that can be enabled via a values.yaml
:
rbac:
clusterRole:
enabled: true
role:
extended: true
syncer:
extraArgs:
- --sync=volumesnapshots
and then used via:
vcluster create ... -f values.yaml
Other Changes
- cli: New flag
--insecure
forvcluster connect
to create a kube config withinsecure-skip-tls-verify
- cli: New command
vcluster get service-cidr
to print the current clusters service cidr - cli: Notify the user about incompatible workdir file when running
vcluster create
- cli:
vcluster connect
will now use a random port locally to avoid port conflicts if no--local-port
flag is specified. - cli: Added shortcut
-s
for global flag--silent
- syncer: Use vcluster service as owner instead of deployment / statefulset, because we can set the controller: true in the owner reference for it, which allows node draining (drain #273)
- syncer: Fixed an issue where webhooks were not correctly resolved in vcluster
- syncer: Start controllers after api server started
- syncer: Fixed syncer cache race condition after Service creation
- syncer: Improved node / pod syncer logic to make it more robust
- chart: Fixed a problem where k3s would not startup correctly on cgroupsv2 nodes (#264)
- other: For each release there will be a new
vcluster-images.txt
which holds all the needed images by vcluster. In addition, we include two scripts to download and push the needed images automatically