Yandex Cloud
Search
Contact UsGet started
  • Pricing
  • Customer Stories
  • Documentation
  • Blog
  • All Services
  • System Status
    • Featured
    • Infrastructure & Network
    • Data Platform
    • Containers
    • Developer tools
    • Serverless
    • Security
    • Monitoring & Resources
    • AI for business
    • Business tools
  • All Solutions
    • By industry
    • By use case
    • Economics and Pricing
    • Security
    • Technical Support
    • Start testing with double trial credits
    • Cloud credits to scale your IT product
    • Gateway to Russia
    • Cloud for Startups
    • Center for Technologies and Society
    • Yandex Cloud Partner program
  • Pricing
  • Customer Stories
  • Documentation
  • Blog
© 2025 Direct Cursus Technology L.L.C.
Yandex Managed Service for Kubernetes
  • Comparing with other Yandex Cloud services
  • Getting started
    • All guides
    • Connecting to a node over SSH
    • Connecting to a node via OS Login
    • Updating Kubernetes
    • Configuring autoscaling
    • Activating a Kubernetes Terraform provider
    • Installing applications from Yandex Cloud Marketplace using Terraform
  • Access management
  • Pricing policy
  • Terraform reference
  • Monitoring metrics
  • Audit Trails events
  • Release notes

In this article:

  • List of available Kubernetes versions
  • Updating a cluster
  • Configuring auto updates when creating or editing a cluster
  • Manually updating the cluster version
  • Updating a node group
  • Configuring auto updates for a node group
  • Manually updating a node group version
  • Updating Kubernetes components without changing the version
  • Updating a cluster with auto updates disabled
  • Updating a node group with auto updates disabled
  1. Step-by-step guides
  2. Updating Kubernetes

Updating Kubernetes

Written by
Yandex Cloud
Improved by
Anton P.
Updated at November 26, 2025
  • List of available Kubernetes versions
  • Updating a cluster
    • Configuring auto updates when creating or editing a cluster
    • Manually updating the cluster version
  • Updating a node group
    • Configuring auto updates for a node group
    • Manually updating a node group version
  • Updating Kubernetes components without changing the version
    • Updating a cluster with auto updates disabled
    • Updating a node group with auto updates disabled

For Managed Service for Kubernetes, both automatic and manual updates are available for clusters and node groups. You can request a manual update of your Managed Service for Kubernetes cluster or its nodes to the latest supported version at any time. Manual updates bypass any pre-configured maintenance windows and maintenance exceptions.

When updating the Kubernetes major version, first update the Managed Service for Kubernetes cluster and then its node group.

You can edit the update policy of Managed Service for Kubernetes clusters and node groups at any time.

For more information, see Release channels.

Note

for compatibility of objects or configurations with the new Kubernetes version is automatically performed before cluster upgrade. If the check finds incompatible objects or configurations, the upgrade will return an error with a list of incompatible resources and a description.

List of available Kubernetes versionsList of available Kubernetes versions

Management console
CLI
API

To get a list of available versions for a Managed Service for Kubernetes cluster:

  1. Navigate to the folder dashboard and select Managed Service for Kubernetes.
  2. Click the name of the Managed Service for Kubernetes cluster.
  3. Click Edit in the top-right corner.
  4. View the list of available versions in the Kubernetes version field under Master configuration.

To get a list of available versions for a Managed Service for Kubernetes node group:

  1. Navigate to the folder dashboard and select Managed Service for Kubernetes.
  2. Click the name of your Managed Service for Kubernetes cluster and open the Node manager tab.
  3. Select the Managed Service for Kubernetes node group from the list and click Edit in the top-right corner.
  4. Get a list of available versions in the Kubernetes version field.

If you do not have the Yandex Cloud CLI installed yet, install and initialize it.

By default, the CLI uses the folder specified when creating the profile. To change the default folder, use the yc config set folder-id <folder_ID> command. You can also set a different folder for any specific command using the --folder-name or --folder-id parameter.

To get a list of available versions, run this command:

yc managed-kubernetes list-versions

To get a list of available versions, use the list method.

Updating a clusterUpdating a cluster

Configuring auto updates when creating or editing a clusterConfiguring auto updates when creating or editing a cluster

Select auto update mode for your Managed Service for Kubernetes cluster and set the update schedule:

Management console
CLI
Terraform
API

You can specify update settings when creating a Managed Service for Kubernetes cluster or updating its settings.

In the Maintenance frequency / Disable field, select the Managed Service for Kubernetes cluster update policy:

  • Disable: Select this option to disable auto updates.
  • Anytime: Select this option for Managed Service for Kubernetes to manage the update installation schedule.
  • Daily: Set the start time and duration of the update.
  • Custom: Set the day, start time, and duration of the update. You can select multiple options using the Add day and time button.

Set auto update parameters when creating or updating the Managed Service for Kubernetes cluster:

yc managed-kubernetes cluster <create_or_update> <cluster_name_or_ID> \
...
  --auto-upgrade <auto_update_mode> \
  --anytime-maintenance-window \
  --daily-maintenance-window <value> \
  --weekly-maintenance-window <value>

Where:

  • --auto-upgrade: Auto update mode for the Managed Service for Kubernetes cluster. The default value is true (auto updates are enabled).

  • --anytime-maintenance-window: Any update window for the Managed Service for Kubernetes cluster.

  • --daily-maintenance-window: Daily update mode.

    Example of updating a Managed Service for Kubernetes cluster daily at 22:00 UTC, with a duration of up to 10 hours:

    --daily-maintenance-window 'start=22:00,duration=10h'
    
  • --weekly-maintenance-window: Auto update on specified days.

    Example of updating a Managed Service for Kubernetes cluster on Mondays and Tuesdays starting at 22:00 UTC, with a duration of up to 10 hours:

    --weekly-maintenance-window 'days=[monday,tuesday],start=22:00,duration=10h'
    

    To set multiple maintenance windows, provide the settings of each one in a separate --weekly-maintenance-window argument.

    Note

    The --daily-maintenance-window and --weekly-maintenance-window arguments require the --auto-upgrade argument set to true. The update schedule will not be created if you set --auto-upgrade=false.

You can get the Managed Service for Kubernetes cluster ID and name with the list of clusters in the folder.

  1. Open the current configuration file with the Managed Service for Kubernetes cluster description.

    For information about creating this file, see Creating a Managed Service for Kubernetes cluster.

  2. Change auto update settings in the Managed Service for Kubernetes cluster description.

    Note

    You can select either of the update modes: daily or on selected days. Concurrent use of update modes is not allowed.

    • To enable the daily update mode:

      resource "yandex_kubernetes_cluster" "<cluster_name>" {
        name = <cluster_name>
        ...
        maintenance_policy {
          auto_upgrade = true
          maintenance_window {
            start_time = "<update_start_time>"
            duration   = "<update_duration>"
          }
        }
      }
      

      Where:

      • start_time: Update start time in UTC format.
      • duration: Update duration, e.g., 4h30m.
    • To enable updates on selected days (multiple periods are possible):

      resource "yandex_kubernetes_cluster" "<cluster_name>" {
        name = <cluster_name>
        ...
        maintenance_policy {
          auto_upgrade = true
          maintenance_window {
            day        = "<update_start_day>"
            start_time = "<update_start_time>"
            duration   = "<update_duration>"
          }
          maintenance_window {
            day        = "<update_start_day>"
            start_time = "<update_start_time>"
            duration   = "<update_duration>"
          }
        }
      }
      

      Where:

      • day: Day of week, e.g., monday.
      • start_time: Update start time in UTC format.
      • duration: Update duration, e.g., 4h30m.
    • To enable the random update time mode, do not add the maintenance_policy parameter section to the Managed Service for Kubernetes cluster description. If you do not specify auto update settings in the Managed Service for Kubernetes cluster description, updates will take place at a random time.

    • To disable auto updates:

      resource "yandex_kubernetes_cluster" "<cluster_name>" {
        name = "<cluster_name>"
        ...
        maintenance_policy {
          auto_upgrade = false
        }
      }
      
  3. Make sure the configuration files are correct.

    1. In the command line, navigate to the directory that contains the current Terraform configuration files defining the infrastructure.

    2. Run this command:

      terraform validate
      

      Terraform will show any errors found in your configuration files.

  4. Confirm updating the resources.

    1. Run this command to view the planned changes:

      terraform plan
      

      If you described the configuration correctly, the terminal will display a list of the resources to update and their parameters. This is a verification step that does not apply changes to your resources.

    2. If everything looks correct, apply the changes:

      1. Run this command:

        terraform apply
        
      2. Confirm updating the resources.

      3. Wait for the operation to complete.

    Timeouts

    The Terraform provider limits the time for creating and updating a Managed Service for Kubernetes cluster to 30 minutes.

    Operations in excess of this time will be interrupted.

    How do I modify these limits?

    Add a timeouts block to the cluster description, e.g.:

    resource "yandex_kubernetes_cluster" "<cluster_name>" {
      ...
      timeouts {
        create = "60m"
        update = "60m"
      }
    }
    

For more information, see this Terraform provider guide.

Set up auto updates in the masterSpec.maintenancePolicy section when creating a Managed Service for Kubernetes cluster or updating its settings.

Use the update API method and provide the following in the request:

  • Managed Service for Kubernetes cluster ID in the clusterId parameter. To find out the Managed Service for Kubernetes cluster ID, get a list of clusters in the folder.
  • Auto update settings in the masterSpec.maintenancePolicy parameter.
  • List of settings to update in the updateMask parameter.

Warning

The API method will assign default values to all the parameters of the object you are modifying unless you explicitly provide them in your request. To avoid this, list the settings you want to change in the updateMask parameter as a single comma-separated string.

To disable auto updates, provide the false value in the masterSpec.maintenancePolicy.autoUpgrade parameter.

To enable and configure the update window, provide one of the allowed values of the maintenanceWindow parameter:

  • For a Managed Service for Kubernetes cluster to update at a random time, provide the "anytime": {} value.

  • To set up daily updates, add the dailyMaintenanceWindow section:

    "dailyMaintenanceWindow": {
      "startTime": {
        "hours": "<update_start_hour>",
        "minutes": "<update_start_minute>",
        "seconds": "<update_start_second>",
        "nanos": "<update_start_fraction_of_second>"
      },
      "duration": "<duration_of_update_period>"
    }
    

    Where:

    • hours: Update start hour in UTC format.
    • nanos: Fraction of a second of the update start, in nanoseconds.
    • duration: Duration of update period, in hours.
  • For updates to take place on selected days, add the weeklyMaintenanceWindow section:

    "weeklyMaintenanceWindow": {
      "daysOfWeek": [
        {
          "days": [
            "<list_of_days>"
          ],
          "startTime": {
            "hours": "<update_start_hour>",
            "minutes": "<update_start_minute>",
            "seconds": "<update_start_second>",
            "nanos": "<update_start_fraction_of_second>"
          },
          "duration": "<duration_of_update_period>"
        }
      ]
    }
    

    Where:

    • days: List of days, e.g., monday, tuesday.
    • hours: Update start hour in UTC format.
    • nanos: Fraction of a second of the update start, in nanoseconds.
    • duration: Duration of update period, in hours.

Manually updating the cluster versionManually updating the cluster version

You can update the Managed Service for Kubernetes cluster version manually. You can only update your Managed Service for Kubernetes cluster in a single step to the next minor version from the current one. Upgrading to newer versions is done in multiple steps, e.g., 1.19 → 1.20 → 1.21.

Management console
CLI
Terraform
API
  1. Navigate to the folder dashboard and select Managed Service for Kubernetes.
  2. Click the name of the Managed Service for Kubernetes cluster.
  3. Click Edit in the top-right corner.
  4. In the Kubernetes version field, select the Upgrade to version <version_number> option.
  5. Click Save.

Specify the new Kubernetes version in the --version argument:

yc managed-kubernetes cluster update <cluster_name_or_ID> \
  --version <new_version>

You can get the Managed Service for Kubernetes cluster ID and name with the list of clusters in the folder.

  1. Open the current configuration file with the Managed Service for Kubernetes cluster description.

    For more information about creating this file, see Creating a Managed Service for Kubernetes cluster.

  2. Change the version in the Managed Service for Kubernetes cluster description:

    resource "yandex_kubernetes_cluster" "<cluster_name>" {
      name = <cluster_name>
      ...
      version = "<new_version>"
    }
    
  3. Make sure the configuration files are correct.

    1. In the command line, navigate to the directory that contains the current Terraform configuration files defining the infrastructure.

    2. Run this command:

      terraform validate
      

      Terraform will show any errors found in your configuration files.

  4. Confirm updating the resources.

    1. Run this command to view the planned changes:

      terraform plan
      

      If you described the configuration correctly, the terminal will display a list of the resources to update and their parameters. This is a verification step that does not apply changes to your resources.

    2. If everything looks correct, apply the changes:

      1. Run this command:

        terraform apply
        
      2. Confirm updating the resources.

      3. Wait for the operation to complete.

    Timeouts

    The Terraform provider limits the time for creating and updating a Managed Service for Kubernetes cluster to 30 minutes.

    Operations in excess of this time will be interrupted.

    How do I modify these limits?

    Add a timeouts block to the cluster description, e.g.:

    resource "yandex_kubernetes_cluster" "<cluster_name>" {
      ...
      timeouts {
        create = "60m"
        update = "60m"
      }
    }
    

For more information, see this Terraform provider guide.

Use the update API method and provide the following in the request:

  • Managed Service for Kubernetes cluster ID in the clusterId parameter. To find out the Managed Service for Kubernetes cluster ID, get the list of clusters in the folder.
  • Required Kubernetes version in the masterSpec.version.version parameter.
  • List of settings to update in the updateMask parameter.

Warning

The API method will assign default values to all the parameters of the object you are modifying unless you explicitly provide them in your request. To avoid this, list the settings you want to change in the updateMask parameter as a single comma-separated string.

Updating a node groupUpdating a node group

Warning

Starting from Kubernetes version 1.30, in the RAPID release channel, the basic node image is changed from Ubuntu 20.04 to Ubuntu 22.04. In the existing clusters and node groups, the OS version will be upgraded using the method you select. This upgrade will later become available in the REGULAR and STABLE release channels.

For OS upgrade details and recommendations, see Updating node group OS.

Configuring auto updates for a node groupConfiguring auto updates for a node group

Select auto update mode for the Managed Service for Kubernetes node group and set the required update schedule:

Management console
CLI
Terraform
API

You can specify update settings when creating a Managed Service for Kubernetes node group or updating its settings.

In the Changes during creation and updates field, specify scaling settings for your Managed Service for Kubernetes node group:

  • Max group size expansion: Specify the maximum number of nodes by which you can exceed the size of the group when updating it.

    Warning

    If the node group settings allow the group to scale up automatically during updates, make sure your cloud has enough available resources. Increase quotas, if required.

  • Max group size reduction: Specify the maximum number of unavailable nodes the group may have during updates.

In the Maintenance frequency / Disable field, select the Managed Service for Kubernetes node group update policy:

  • Disable: Select this option to disable auto updates.
  • Anytime: Select this option for Managed Service for Kubernetes to manage the update installation schedule.
  • Daily: Set the start time and duration of the update.
  • Custom: Set the day, start time, and duration of the update. You can select multiple options using the Add day and time button.

Set auto update parameters when creating or updating a Managed Service for Kubernetes node group:

yc managed-kubernetes node-group <create_or_update> <node_group_name_or_ID> \
...
  --max-expansion <increasing_group_size_when_updating> \
  --max-unavailable <number_of_unavailable_nodes_when_updating> \
  --auto-upgrade <auto_update_mode> \
  --auto-repair <recreation_mode> \
  --anytime-maintenance-window \
  --daily-maintenance-window <value> \
  --weekly-maintenance-window <value>

Where:

  • --max-expansion: Maximum number of nodes by which you can increase the size of the group when updating it.

    Warning

    If the node group settings allow the group to scale up automatically during updates, make sure your cloud has enough available resources. Increase quotas, if required.

  • --max-unavailable: Maximum number of unavailable nodes in the group when updating it.

    Note

    The --max-expansion and --max-unavailable parameters should be used together.

  • --auto-upgrade: Auto update mode for the Managed Service for Kubernetes node group. The default value is true (auto updates are enabled). The possible values are true or false.

  • --auto-repair: Failed node recreation mode. The possible values are true or false.

    --auto-repair is at the Preview stage.

  • --anytime-maintenance-window: Any update time for the Managed Service for Kubernetes node group.

  • --daily-maintenance-window: Daily update mode.

    Example of updating a Managed Service for Kubernetes node group daily at 22:00 UTC, with a duration of up to 10 hours:

    --daily-maintenance-window 'start=22:00,duration=10h'
    
  • --weekly-maintenance-window: Auto update on specified days.

    Example of updating a Managed Service for Kubernetes node group on Mondays and Tuesdays from 22:00 UTC, with a duration of up to 10 hours:

    --weekly-maintenance-window 'days=[monday,tuesday],start=22:00,duration=10h'
    

    To set multiple maintenance windows, provide the settings of each one in a separate --weekly-maintenance-window argument.

    Note

    The --daily-maintenance-window and --weekly-maintenance-window arguments require the --auto-upgrade argument set to true.

    The update schedule will not be created if you set --auto-upgrade=false.

You can get the Managed Service for Kubernetes node group ID and name with the list of groups in the cluster.

  1. Open the current configuration file describing the Managed Service for Kubernetes node group.

    For more information about creating this file, see Creating a node group.

  2. Change auto update settings in the Managed Service for Kubernetes node group description.

    Note

    You can select either of the update modes: daily or on selected days. Concurrent use of update modes is not allowed.

    • To enable the daily update mode:

      resource "yandex_kubernetes_node_group" "<node_group_name>" {
        name = <node_group_name>
        ...
        maintenance_policy {
          auto_upgrade = true
          maintenance_window {
            start_time = "<update_start_time>"
            duration   = "<update_duration>"
          }
        }
      }
      

      Where:

      • start_time: Update start time in UTC format.
      • duration: Update duration, e.g., 4h30m.
    • To enable updates on selected days (multiple periods are possible):

      resource "yandex_kubernetes_node_group" "<node_group_name>" {
        name = <node_group_name>
        ...
        maintenance_policy {
          auto_upgrade = true
          maintenance_window {
            day        = "<update_start_day>"
            start_time = "<update_start_time>"
            duration   = "<update_duration>"
          }
          maintenance_window {
            day        = "<update_start_day>"
            start_time = "<update_start_time>"
            duration   = "<update_duration>"
          }
        }
      }
      

      Where:

      • day: Day of week, e.g., monday.
      • start_time: Update start time in UTC format.
      • duration: Update duration, e.g., 4h30m.
    • To enable the random update time mode, do not add the maintenance_policy parameter section to the Managed Service for Kubernetes node group description. If you do not specify auto update settings in the Managed Service for Kubernetes node group description, updates will take place at a random time.

    • To configure the settings for Managed Service for Kubernetes node group deployment during updates:

      resource "yandex_kubernetes_node_group" "<node_group_name>" {
        name = <node_group_name>
        ...
        deploy_policy {
          max_expansion   = <expanding_group_size_when_updating>
          max_unavailable = <number_of_unavailable_nodes_when_updating>
        }
      }
      

      Where:

      • max_expansion: Maximum number of nodes by which you can increase the size of the group when updating it.

        Warning

        If the node group settings allow the group to scale up automatically during updates, make sure your cloud has enough available resources. Increase quotas, if required.

      • max_unavailable: Maximum number of unavailable nodes in the group when updating it.

      Note

      The max_expansion and max_unavailable parameters should be used together.

    • To disable auto updates:

      resource "yandex_kubernetes_node_group" "<node_group_name>" {
        name = "<node_group_name>"
        ...
        maintenance_policy {
          auto_upgrade = false
        }
      }
      
  3. Make sure the configuration files are correct.

    1. In the command line, navigate to the directory that contains the current Terraform configuration files defining the infrastructure.

    2. Run this command:

      terraform validate
      

      Terraform will show any errors found in your configuration files.

  4. Confirm updating the resources.

    1. Run this command to view the planned changes:

      terraform plan
      

      If you described the configuration correctly, the terminal will display a list of the resources to update and their parameters. This is a verification step that does not apply changes to your resources.

    2. If everything looks correct, apply the changes:

      1. Run this command:

        terraform apply
        
      2. Confirm updating the resources.

      3. Wait for the operation to complete.

    Timeouts

    The Terraform provider sets time limits for operations with Managed Service for Kubernetes cluster node groups:

    • Creating and editing: 60 minutes.
    • Deleting: 20 minutes.

    Operations in excess of this time will be interrupted.

    How do I modify these limits?

    Add the timeouts section to the cluster node group description, e.g.:

    resource "yandex_kubernetes_node_group" "<node_group_name>" {
      ...
      timeouts {
        create = "1h30m"
        update = "1h30m"
        delete = "60m"
      }
    }
    

For more information, see this Terraform provider guide.

You can set up auto updates under maintenancePolicy when creating a Managed Service for Kubernetes node group or updating its settings.

Use the update API method and provide the following in the request:

  • Managed Service for Kubernetes node group ID in the nodeGroupId parameter. To find out the Managed Service for Kubernetes node group ID, get the list of groups in the cluster.
  • Auto update settings in the maintenancePolicy parameter.
  • List of settings to update in the updateMask parameter.

Warning

The API method will assign default values to all the parameters of the object you are modifying unless you explicitly provide them in your request. To avoid this, list the settings you want to change in the updateMask parameter as a single comma-separated string.

To disable auto updates, provide the false value in the maintenancePolicy.autoUpgrade parameter.

To enable and configure the update window, provide one of the allowed values of the maintenanceWindow parameter:

  • For a Managed Service for Kubernetes node group to update at a random time, provide the "anytime": {} value.

  • To set up daily updates, add the dailyMaintenanceWindow section:

    "dailyMaintenanceWindow": {
      "startTime": {
        "hours": "<update_start_hour>",
        "minutes": "<update_start_minute>",
        "seconds": "<update_start_second>",
        "nanos": "<update_start_fraction_of_second>"
      },
      "duration": "<duration_of_update_period>"
    }
    

    Where:

    • hours: Update start hour in UTC format.
    • nanos: Fraction of a second of the update start, in nanoseconds.
    • duration: Duration of update period, in hours.
  • For updates to take place on selected days, add the weeklyMaintenanceWindow section:

    "weeklyMaintenanceWindow": {
      "daysOfWeek": [
        {
          "days": [
            "<list_of_days>"
          ],
          "startTime": {
            "hours": "<update_start_hour>",
            "minutes": "<update_start_minute>",
            "seconds": "<update_start_second>",
            "nanos": "<update_start_fraction_of_second>"
          },
          "duration": "<duration_of_update_period>"
        }
      ]
    }
    

    Where:

    • days: List of days, e.g., monday, tuesday.
    • hours: Update start hour in UTC format.
    • nanos: Fraction of a second of the update start, in nanoseconds.
    • duration: Duration of update period, in hours.

To configure the settings for Managed Service for Kubernetes node group deployment during updates, add the deployPolicy section:

"deployPolicy": {
  "maxUnavailable": "<number_of_unavailable_nodes_when_updating>",
  "maxExpansion": "<expanding_group_size_when_updating>"
}

Where:

  • maxUnavailable: Maximum number of unavailable nodes in the group when updating it.

  • maxExpansion: Maximum number of nodes by which you can increase the size of the group when updating it.

    Warning

    If the node group settings allow the group to scale up automatically during updates, make sure your cloud has enough available resources. Increase quotas, if required.

Manually updating a node group versionManually updating a node group version

You can update the Managed Service for Kubernetes node group version manually. You can only update to the next minor version. Updating to newer versions is done in steps, e.g., 1.19 → 1.20 → 1.21.

Warning

Update the Managed Service for Kubernetes cluster version before updating the node group.

Management console
CLI
Terraform
API
  1. Navigate to the folder dashboard and select Managed Service for Kubernetes.
  2. Click the name of the Managed Service for Kubernetes cluster.
  3. Navigate to the Node manager tab.
  4. Select the Managed Service for Kubernetes node group from the list.
  5. Click Edit in the top-right corner.
  6. In the Kubernetes version field, select the Upgrade to version <version_number> option.
  7. Click Save.

Set auto update parameters:

yc managed-kubernetes node-group update <node_group_ID_or_name> \
...
  --version <new_version>

You can get the Managed Service for Kubernetes node group ID and name with the list of groups in the cluster.

  1. Open the current configuration file describing the Managed Service for Kubernetes node group.

    For more information about creating this file, see Creating a node group.

  2. Change the version in the Managed Service for Kubernetes node group description:

    resource "yandex_kubernetes_node_group" "<node_group_name>" {
      name = <node_group_name>
      ...
      version = "<new_version>"
    }
    
  3. Make sure the configuration files are correct.

    1. In the command line, navigate to the directory that contains the current Terraform configuration files defining the infrastructure.

    2. Run this command:

      terraform validate
      

      Terraform will show any errors found in your configuration files.

  4. Confirm updating the resources.

    1. Run this command to view the planned changes:

      terraform plan
      

      If you described the configuration correctly, the terminal will display a list of the resources to update and their parameters. This is a verification step that does not apply changes to your resources.

    2. If everything looks correct, apply the changes:

      1. Run this command:

        terraform apply
        
      2. Confirm updating the resources.

      3. Wait for the operation to complete.

    Timeouts

    The Terraform provider sets time limits for operations with Managed Service for Kubernetes cluster node groups:

    • Creating and editing: 60 minutes.
    • Deleting: 20 minutes.

    Operations in excess of this time will be interrupted.

    How do I modify these limits?

    Add the timeouts section to the cluster node group description, e.g.:

    resource "yandex_kubernetes_node_group" "<node_group_name>" {
      ...
      timeouts {
        create = "1h30m"
        update = "1h30m"
        delete = "60m"
      }
    }
    

For more information, see this Terraform provider guide.

Use the update API method and provide the following in the request:

  • Managed Service for Kubernetes node group ID in the nodeGroupId parameter. To find out the Managed Service for Kubernetes node group ID, get the list of groups in the cluster.
  • Required Kubernetes version in the version.version parameter.
  • List of settings to update in the updateMask parameter.

Warning

The API method will assign default values to all the parameters of the object you are modifying unless you explicitly provide them in your request. To avoid this, list the settings you want to change in the updateMask parameter as a single comma-separated string.

Updating Kubernetes components without changing the versionUpdating Kubernetes components without changing the version

You can update a Managed Service for Kubernetes cluster and node group within the same Kubernetes version. When installing the update, the major version of Kubernetes does not change.

This update enables you to:

  • Install new packages.
  • Update the Kubernetes image.
  • Updating the Kubernetes patch version.

The Managed Service for Kubernetes cluster and node groups will be updated if any of the auto update options are enabled in their settings.

Updating a cluster with auto updates disabledUpdating a cluster with auto updates disabled

Management console
CLI
API
  1. Navigate to the folder dashboard and select Managed Service for Kubernetes.
  2. Click the name of the Managed Service for Kubernetes cluster.
  3. Click Edit in the top-right corner.
  4. In the Kubernetes version field, select Get the latest improvements and fixes for version...
  5. Click Save.

Run your Managed Service for Kubernetes cluster update:

yc managed-kubernetes cluster update <cluster_name_or_ID> \
  --latest-revision

You can get the Managed Service for Kubernetes cluster ID and name with the list of clusters in the folder.

Use the update API method and provide the following in the request:

  • Managed Service for Kubernetes cluster ID in the clusterId parameter. To find out the Managed Service for Kubernetes cluster ID, get the list of clusters in the folder.
  • true in the masterSpec.version.version parameter.
  • List of settings to update in the updateMask parameter.

Warning

The API method will assign default values to all the parameters of the object you are modifying unless you explicitly provide them in your request. To avoid this, list the settings you want to change in the updateMask parameter as a single comma-separated string.

Updating a node group with auto updates disabledUpdating a node group with auto updates disabled

Management console
CLI
API
  1. Navigate to the folder dashboard and select Managed Service for Kubernetes.
  2. Click the name of the Managed Service for Kubernetes cluster.
  3. Navigate to the Node manager tab.
  4. Select the Managed Service for Kubernetes node group from the list.
  5. Click Edit in the top-right corner.
  6. In the Kubernetes version field, select Get the latest improvements and fixes for version...
  7. Click Save.

Update the Managed Service for Kubernetes node group:

yc managed-kubernetes node-group update <node_group_ID_or_name> \
  --latest-revision

You can get the Managed Service for Kubernetes node group ID and name with the list of groups in the cluster.

Use the update API method and provide the following in the request:

  • Managed Service for Kubernetes node group ID in the nodeGroupId parameter. To find out the Managed Service for Kubernetes node group ID, get the list of groups in the cluster.
  • true in the version.latestRevision parameter.
  • List of settings to update in the updateMask parameter.

Warning

The API method will assign default values to all the parameters of the object you are modifying unless you explicitly provide them in your request. To avoid this, list the settings you want to change in the updateMask parameter as a single comma-separated string.

Was the article helpful?

Previous
Connecting to a node via OS Login
Next
Configuring autoscaling
© 2025 Direct Cursus Technology L.L.C.