---
title: Upgrade
url: https://docs.vultr.com/products/compute/kubernetes/management/upgrade
description: A guide explaining how to update your Vultr Kubernetes Engine (VKE) cluster to a newer version
publish_date: 2024-09-23T20:20:45.901177Z
last_updated: 2026-05-26T18:59:34.092586Z
---

# How to Upgrade the Cluster Version for Vultr Kubernetes Engine Cluster

Upgrading a Vultr Kubernetes Engine (VKE) cluster version involves updating both the control plane and worker nodes to a newer Kubernetes version. This ensures that your cluster benefits from the latest features, improvements, and security patches. Vultr Kubernetes Engine simplifies the upgrade process, allowing you to maintain your VKE cluster’s efficiency and compatibility with new Kubernetes releases.

> [!WARNING]
> Upgrading your VKE cluster will result in new worker nodes being provisioned, causing node IPs to change. Ensure that any dependencies relying on static node IPs are updated accordingly to prevent disruptions.

Follow this guide to upgrade your Vultr Kubernetes Engine cluster version on your Vultr account using the Vultr Console, API, CLI, or Terraform.

=== "Vultr Console"

    1. Navigate to **Products** and click **Kubernetes**.
    2. Click your target VKE cluster to open its management page.
    3. Click **Manage Upgrades**.
    4. If any upgrades are available for the VKE cluster, they will be displayed on the right side with a **Start Upgrade** button.
    5. Click **Start Upgrade**. The upgrade process may take a few minutes.

=== "Vultr API"

    1. Send a `GET` request to the [**List all Kubernetes Clusters** endpoint](https://www.vultr.com/api/#tag/kubernetes/operation/list-kubernetes-clusters) and note the target VKE cluster's ID.

        ```console
        $ curl "https://api.vultr.com/v2/kubernetes/clusters" \
            -X GET \
            -H "Authorization: Bearer ${VULTR_API_KEY}"
        ```

    1. Send a `GET` request to the [**Get Kubernetes Available Upgrades** endpoint](https://www.vultr.com/api/#tag/kubernetes/operation/get-kubernetes-available-upgrades) to list available upgrades for your VKE cluster.

        ```console
        $ curl "https://api.vultr.com/v2/kubernetes/clusters/{cluster-id}/available-upgrades" \
            -X GET \
            -H "Authorization: Bearer ${VULTR_API_KEY}"
        ```

    1. Send a `POST` request to the [**Start Kubernetes Cluster Upgrade** endpoint](https://www.vultr.com/api/#tag/kubernetes/operation/start-kubernetes-cluster-upgrade) to start the VKE cluster upgrade.

        ```console
        $ curl "https://api.vultr.com/v2/kubernetes/clusters/{cluster-id}/upgrades" \
            -X POST \
            -H "Authorization: Bearer ${VULTR_API_KEY}" \
            -H "Content-Type: application/json" \
            --data '{
                "upgrade_version" : "{target-kubernetes-version}"
            }'
        ```

=== "Vultr CLI"

    1. List the available VKE clusters in your Vultr account and note the target VKE cluster's ID.

        ```console
        $ vultr-cli kubernetes list --summarize
        ```

    1. List all the available upgrades for the target VKE cluster.

        ```console
        $ vultr-cli kubernetes upgrades list <cluster-id>
        ```

    1. Start the upgrade process for the target VKE cluster.

        ```console
        $ vultr-cli kubernetes upgrades start <cluster-id> --version "<target-kubernetes-version>"
        ```

=== "Terraform"

    1. Open your Terraform configuration for the existing VKE cluster.

    1. Set the cluster `version` to the desired target and apply. Worker nodes will be recreated.

        ```terraform
        resource "vultr_kubernetes" "vke" {
            # ...existing fields (label, region, node_pools)
            version = "1.29.3+1"   # target version
        }
        ```

    1. Apply the configuration and observe the following output:

        ```
        Apply complete! Resources: 0 added, 1 changed, 0 destroyed.
        ```
