Skip to content

Upgrade Kubernetes version

Updated 2 min read

NKP supports in-place Kubernetes version upgrades via nic deploy. Edit the kubernetes_version field in your config and re-run deploy — nic handles the rest.

Version constraints and accepted formats vary by provider — see your provider's page before upgrading.

The Nebari Operator and Software Packs run inside the cluster and follow its Kubernetes version. There is no separate compatibility matrix to check before upgrading.

These steps are the same for all providers.

  1. Edit kubernetes_version in your config. See your provider's page for provider specific requirements.

  2. Validate the config:

    Terminal window
    nic validate -f <config-file>
  3. Preview what will change:

    Terminal window
    nic deploy -f <config-file> --dry-run
  4. Apply the upgrade:

    Terminal window
    nic deploy -f <config-file>

During node rolling, pods on the node being replaced are evicted and rescheduled elsewhere:

  • The Nebari Operator may be briefly unavailable while the node it runs on is replaced.
  • Software Packs, ArgoCD, Keycloak, and other foundational apps may be briefly unavailable during the rollout of the node they run on.
  • Once ArgoCD's replacement pod is ready, any apps that fell out of sync during the rollout are restored automatically.

Multi-replica workloads tolerate rolling node replacement without downtime, provided their replicas are spread across nodes. Single-replica packs will have a brief interruption while their pod is rescheduled.

After deploy completes, check that all nodes are running the new version:

Terminal window
kubectl get nodes -o wide

All nodes should show the target version in the VERSION column. Then verify ArgoCD apps are healthy:

Terminal window
kubectl get applications -n argocd

All applications should reach Healthy. Any that are briefly Progressing after the upgrade will self-correct within a few minutes.