This section contains important upgrade notes you should read before upgrading a Kubermatic Virtualization (KubeV) installation to a new version. Read the version-specific guide for the release you are moving to, then follow the general guidelines below.
The following steps apply to every KubeV upgrade.
KubeV installations are declarative, and kubev apply is idempotent: the same command that
installs a cluster also upgrades it. To upgrade, update the KubeV version (and any changed
settings) in your configuration file and re-run kubev apply against it — the installer
reconciles the live system to the desired state, handling installation, upgrades, and repairs.
kubev apply -f cluster.yaml
Keep your cluster.yaml under version control and treat it as the single source of truth. See
Declarative Installation for the full
configuration reference.
Upgrade sequentially through minor versions (for example v1.1.x → v1.2.x) and read the
version-specific guide for each hop. Do not skip minor versions.
Even though regular backups should already be in place, ensure fresh backups exist before you start an upgrade:
cluster.yaml used for the running installation, plus
the generated cluster kubeconfig.export KUBECONFIG=...
while IFS= read -r crd; do
echo "Dumping $crd ..."
kubectl get "$crd" -A -o yaml > "$crd.yaml"
done <<< "$(kubectl get crd -o name)"
kubev apply does not perform a repair and an upgrade in the same run. If nodes are unhealthy,
first run kubev apply with the current version to repair the cluster, and only then change
the version and re-run to upgrade.
In offline mode (offlineSettings.enabled: true) KubeV does not reach the public internet during
upgrades. Every container image, Helm chart, and OS package for the target version must be
pre-loaded into your internal mirrors before you upgrade.
kubev apply runs pre-flight checks and fails fast with a descriptive message if the
configuration is incomplete (for example, missing image-registry credentials) before making
any cluster changes. A failed pre-flight leaves the existing installation untouched — resolve the
reported issue and re-run.
After kubev apply completes, confirm the platform is healthy:
export KUBECONFIG=kubev-cluster-kubeconfig
kubectl get nodes
kubectl get pods -A
All platform components — including kubev-controller-manager, the api-server, and (if enabled)
the dashboard — should reach Running. Investigate any pod stuck in ImagePullBackOff,
CrashLoopBackOff, or Pending.