Yandex Cloud
  • Services
  • Solutions
  • Why Yandex Cloud
  • Pricing
  • Documentation
  • Contact us
Get started
Language / Region
© 2022 Yandex.Cloud LLC
Yandex Managed Service for Kubernetes
  • Comparison with other Yandex Cloud services
  • Getting started
  • Step-by-step instructions
    • All instructions
    • Configuring security groups
    • Connecting to a node over SSH
    • Creating a configuration file
    • Updating Kubernetes
    • Installing applications
      • Basics of working with Cloud Marketplace
      • Installing Metrics Provider
    • Network scenarios
      • Granting access to an app running in a Kubernetes cluster
      • Configuring the Calico network policy controller
      • Configuring the Cilium network policy controller
      • Configuring Node Local DNS for the Cilium network policy controller
    • Encrypting secrets
    • Automatic scaling
    • Working with persistent volumes
      • Dynamic volume provisioning
      • Static volume provisioning
      • Managing storage classes
      • Expanding a pod volume
      • Expanding a StatefulSet controller volume
      • Mounting a volume in Block mode
      • Integration with Object Storage
    • Managing a Kubernetes cluster
      • Adding Kubernetes cluster credentials to the kubectl configuration file
      • Getting information about a Kubernetes cluster
      • Creating a Kubernetes cluster
      • Editing a Kubernetes cluster
      • Creating a namespace in a Kubernetes cluster
      • Deleting a Kubernetes cluster
    • Managing a node group
      • Getting information about a node group
      • Creating a node group
      • Changing a node group
      • Managing cluster node labels
      • Deleting a node group
    • Connecting external nodes to the cluster
  • Practical guidelines
    • All tutorials
    • Integration with Container Registry
    • Running workloads with GPUs
    • Installing the NGINX Ingress controller with Let's Encrypt®
    • Configuring the Application Load Balancer Ingress controller
    • Backup to Object Storage
    • Horizontal application scaling in a cluster
    • Working with snapshots
    • Integration with a corporate DNS zone
    • Automatic DNS scaling by cluster size
    • Setting up local DNS caching
    • Configuring Fluent Bit for Yandex Cloud Logging
    • Syncing with Yandex Lockbox secrets
  • Concepts
    • Relationship between service resources
    • Release channels and updates
    • Encrypting secrets
    • Using Kubernetes API objects
      • Volumes
      • Service
    • Node groups
      • Cluster autoscaler
      • Evicting pods from nodes
      • Dynamic resource allocation for a node
      • Node groups with GPUs
    • Network in Managed Service for Kubernetes
    • External cluster nodes
    • Network settings and cluster policies
    • Automatic scaling
    • Quotas and limits
    • Recommendations for using Managed Service for Kubernetes
  • Access management
  • Pricing policy
  • API reference
    • Authentication in the API
    • gRPC
      • Overview
      • ClusterService
      • NodeGroupService
      • VersionService
      • OperationService
    • REST
      • Overview
      • Cluster
        • Overview
        • create
        • delete
        • get
        • list
        • listNodeGroups
        • listNodes
        • listOperations
        • start
        • stop
        • update
      • NodeGroup
        • Overview
        • create
        • delete
        • get
        • list
        • listNodes
        • listOperations
        • update
      • Version
        • Overview
        • list
  • Questions and answers
    • General questions
    • Data storage
    • Configuring and updating
    • Automatic scaling
    • Resources
    • Logs
    • All questions on one page
  1. API reference
  2. REST
  3. Cluster
  4. listNodeGroups

Method listNodeGroups

Written by
Yandex.Cloud
,
improved by
amatol
  • HTTP request
  • Path parameters
  • Query parameters
  • Response

Lists nodegroup for the specified Kubernetes cluster.

HTTP request

GET https://mks.api.cloud.yandex.net/managed-kubernetes/v1/clusters/{clusterId}/nodeGroups

Path parameters

Parameter Description
clusterId Required. ID of the Kubernetes cluster to list node groups in. To get the Kubernetes cluster ID use a list request.

Query parameters

Parameter Description
pageSize The maximum number of results per page to return. If the number of available results is larger than pageSize, the service returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Default value: 100. Acceptable values are 0 to 1000, inclusive.
pageToken Page token. To get the next page of results, set page_token to the nextPageToken returned by a previous list request. The maximum string length in characters is 100.
filter A filter expression that filters resources listed in the response. Currently you can use filtering only on Cluster.name field. The maximum string length in characters is 1000.

Response

HTTP Code: 200 - OK

{
  "nodeGroups": [
    {
      "id": "string",
      "clusterId": "string",
      "createdAt": "string",
      "name": "string",
      "description": "string",
      "labels": "object",
      "status": "string",
      "nodeTemplate": {
        "platformId": "string",
        "resourcesSpec": {
          "memory": "string",
          "cores": "string",
          "coreFraction": "string",
          "gpus": "string"
        },
        "bootDiskSpec": {
          "diskTypeId": "string",
          "diskSize": "string"
        },
        "metadata": "object",
        "v4AddressSpec": {
          "oneToOneNatSpec": {
            "ipVersion": "string"
          }
        },
        "schedulingPolicy": {
          "preemptible": true
        },
        "networkInterfaceSpecs": [
          {
            "subnetIds": [
              "string"
            ],
            "primaryV4AddressSpec": {
              "oneToOneNatSpec": {
                "ipVersion": "string"
              }
            },
            "primaryV6AddressSpec": {
              "oneToOneNatSpec": {
                "ipVersion": "string"
              }
            },
            "securityGroupIds": [
              "string"
            ]
          }
        ],
        "placementPolicy": {
          "placementGroupId": "string"
        },
        "networkSettings": {
          "type": "string"
        },
        "containerRuntimeSettings": {
          "type": "string"
        }
      },
      "scalePolicy": {

        // `nodeGroups[].scalePolicy` includes only one of the fields `fixedScale`, `autoScale`
        "fixedScale": {
          "size": "string"
        },
        "autoScale": {
          "minSize": "string",
          "maxSize": "string",
          "initialSize": "string"
        },
        // end of the list of possible fields`nodeGroups[].scalePolicy`

      },
      "allocationPolicy": {
        "locations": [
          {
            "zoneId": "string",
            "subnetId": "string"
          }
        ]
      },
      "deployPolicy": {
        "maxUnavailable": "string",
        "maxExpansion": "string"
      },
      "instanceGroupId": "string",
      "nodeVersion": "string",
      "versionInfo": {
        "currentVersion": "string",
        "newRevisionAvailable": true,
        "newRevisionSummary": "string",
        "versionDeprecated": true
      },
      "maintenancePolicy": {
        "autoUpgrade": true,
        "autoRepair": true,
        "maintenanceWindow": {

          // `nodeGroups[].maintenancePolicy.maintenanceWindow` includes only one of the fields `anytime`, `dailyMaintenanceWindow`, `weeklyMaintenanceWindow`
          "anytime": {},
          "dailyMaintenanceWindow": {
            "startTime": {
              "hours": "integer",
              "minutes": "integer",
              "seconds": "integer",
              "nanos": "integer"
            },
            "duration": "string"
          },
          "weeklyMaintenanceWindow": {
            "daysOfWeek": [
              {
                "days": [
                  "string"
                ],
                "startTime": {
                  "hours": "integer",
                  "minutes": "integer",
                  "seconds": "integer",
                  "nanos": "integer"
                },
                "duration": "string"
              }
            ]
          },
          // end of the list of possible fields`nodeGroups[].maintenancePolicy.maintenanceWindow`

        }
      },
      "allowedUnsafeSysctls": [
        "string"
      ],
      "nodeTaints": [
        {
          "key": "string",
          "value": "string",
          "effect": "string"
        }
      ],
      "nodeLabels": "object"
    }
  ],
  "nextPageToken": "string"
}
Field Description
nodeGroups[] object

List of node groups for the specified Kubernetes cluster.

nodeGroups[].
id
string

ID of the node group.

nodeGroups[].
clusterId
string

ID of the cluster that the node group belongs to.

nodeGroups[].
createdAt
string (date-time)

Creation timestamp.

String in RFC3339 text format.

nodeGroups[].
name
string

Name of the node group. The name is unique within the folder.

nodeGroups[].
description
string

Description of the node group. 0-256 characters long.

nodeGroups[].
labels
object

Resource labels as key:value pairs. Maximum of 64 per resource.

nodeGroups[].
status
string

Status of the node group.

  • PROVISIONING: Node group is waiting for resources to be allocated.
  • RUNNING: Node group is running.
  • RECONCILING: Node group is waiting for some work to be done, such as upgrading node software.
  • STOPPING: Node group is being stopped.
  • STOPPED: Node group stopped.
  • DELETING: Node group is being deleted.
  • STARTING: Node group is being started.
nodeGroups[].
nodeTemplate
object

Node template that specifies parameters of the compute instances for the node group.

nodeGroups[].
nodeTemplate.
platformId
string

ID of the hardware platform configuration for the node.

nodeGroups[].
nodeTemplate.
resourcesSpec
object

Computing resources of the node such as the amount of memory and number of cores.

nodeGroups[].
nodeTemplate.
resourcesSpec.
memory
string (int64)

Amount of memory available to the node, specified in bytes.

The minimum value is 0.

nodeGroups[].
nodeTemplate.
resourcesSpec.
cores
string (int64)

Number of cores available to the node.

The minimum value is 0.

nodeGroups[].
nodeTemplate.
resourcesSpec.
coreFraction
string (int64)

Baseline level of CPU performance with the possibility to burst performance above that baseline level. This field sets baseline performance for each core.

Acceptable values are 0 to 100, inclusive.

nodeGroups[].
nodeTemplate.
resourcesSpec.
gpus
string (int64)

Number of GPUs available to the node.

The minimum value is 0.

nodeGroups[].
nodeTemplate.
bootDiskSpec
object

Specification for the boot disk that will be attached to the node.

nodeGroups[].
nodeTemplate.
bootDiskSpec.
diskTypeId
string

ID of the disk type.

Value must match the regular expression |network-ssd|network-hdd|network-ssd-nonreplicated.

nodeGroups[].
nodeTemplate.
bootDiskSpec.
diskSize
string (int64)

Size of the disk, specified in bytes.

Acceptable values are 0 to 4398046511104, inclusive.

nodeGroups[].
nodeTemplate.
metadata
object

The metadata as key:value pairs assigned to this instance template. This includes custom metadata and predefined keys.

For example, you may use the metadata in order to provide your public SSH key to the node. For more information, see Metadata.

No more than 64 per resource. The string length in characters for each key must be 1-63. Each key must match the regular expression [a-z][-_0-9a-z]*. The maximum string length in characters for each value is 131072.

nodeGroups[].
nodeTemplate.
v4AddressSpec
object

Specification for the create network interfaces for the node group compute instances. Deprecated, please use network_interface_specs.

nodeGroups[].
nodeTemplate.
v4AddressSpec.
oneToOneNatSpec
object

One-to-one NAT configuration. Setting up one-to-one NAT ensures that public IP addresses are assigned to nodes, and therefore internet is accessible for all nodes of the node group. If the field is not set, NAT will not be set up.

nodeGroups[].
nodeTemplate.
v4AddressSpec.
oneToOneNatSpec.
ipVersion
string

IP version for the public IP address.

  • IPV4: IPv4 address, for example 192.168.0.0.
  • IPV6: IPv6 address, not available yet.
nodeGroups[].
nodeTemplate.
schedulingPolicy
object

Scheduling policy configuration.

nodeGroups[].
nodeTemplate.
schedulingPolicy.
preemptible
boolean (boolean)

True for preemptible compute instances. Default value is false. Preemptible compute instances are stopped at least once every 24 hours, and can be stopped at any time if their resources are needed by Compute. For more information, see Preemptible Virtual Machines.

nodeGroups[].
nodeTemplate.
networkInterfaceSpecs[]
object

New api, to specify network interfaces for the node group compute instances. Can not be used together with 'v4_address_spec'

nodeGroups[].
nodeTemplate.
networkInterfaceSpecs[].
subnetIds[]
string

IDs of the subnets.

nodeGroups[].
nodeTemplate.
networkInterfaceSpecs[].
primaryV4AddressSpec
object

Primary IPv4 address that is assigned to the instance for this network interface.

nodeGroups[].
nodeTemplate.
networkInterfaceSpecs[].
primaryV4AddressSpec.
oneToOneNatSpec
object

One-to-one NAT configuration. Setting up one-to-one NAT ensures that public IP addresses are assigned to nodes, and therefore internet is accessible for all nodes of the node group. If the field is not set, NAT will not be set up.

nodeGroups[].
nodeTemplate.
networkInterfaceSpecs[].
primaryV4AddressSpec.
oneToOneNatSpec.
ipVersion
string

IP version for the public IP address.

  • IPV4: IPv4 address, for example 192.168.0.0.
  • IPV6: IPv6 address, not available yet.
nodeGroups[].
nodeTemplate.
networkInterfaceSpecs[].
primaryV6AddressSpec
object

Primary IPv6 address that is assigned to the instance for this network interface.

nodeGroups[].
nodeTemplate.
networkInterfaceSpecs[].
primaryV6AddressSpec.
oneToOneNatSpec
object

One-to-one NAT configuration. Setting up one-to-one NAT ensures that public IP addresses are assigned to nodes, and therefore internet is accessible for all nodes of the node group. If the field is not set, NAT will not be set up.

nodeGroups[].
nodeTemplate.
networkInterfaceSpecs[].
primaryV6AddressSpec.
oneToOneNatSpec.
ipVersion
string

IP version for the public IP address.

  • IPV4: IPv4 address, for example 192.168.0.0.
  • IPV6: IPv6 address, not available yet.
nodeGroups[].
nodeTemplate.
networkInterfaceSpecs[].
securityGroupIds[]
string

IDs of security groups.

nodeGroups[].
nodeTemplate.
placementPolicy
object
nodeGroups[].
nodeTemplate.
placementPolicy.
placementGroupId
string

Identifier of placement group

nodeGroups[].
nodeTemplate.
networkSettings
object

this parameter allows to specify type of network acceleration used on nodes (instances)

nodeGroups[].
nodeTemplate.
networkSettings.
type
string

Required.

nodeGroups[].
nodeTemplate.
containerRuntimeSettings
object
nodeGroups[].
nodeTemplate.
containerRuntimeSettings.
type
string

Required.

nodeGroups[].
scalePolicy
object

Scale policy of the node group. For more information, see Scaling policy.

nodeGroups[].
scalePolicy.
fixedScale
object
Fixed scale policy of the node group.
nodeGroups[].scalePolicy includes only one of the fields fixedScale, autoScale

nodeGroups[].
scalePolicy.
fixedScale.
size
string (int64)

Number of nodes in the node group.

Acceptable values are 0 to 100, inclusive.

nodeGroups[].
scalePolicy.
autoScale
object
Auto scale policy of the node group.
nodeGroups[].scalePolicy includes only one of the fields fixedScale, autoScale

nodeGroups[].
scalePolicy.
autoScale.
minSize
string (int64)

Minimum number of nodes in the node group.

Acceptable values are 0 to 100, inclusive.

nodeGroups[].
scalePolicy.
autoScale.
maxSize
string (int64)

Maximum number of nodes in the node group.

Acceptable values are 0 to 100, inclusive.

nodeGroups[].
scalePolicy.
autoScale.
initialSize
string (int64)

Initial number of nodes in the node group.

Acceptable values are 0 to 100, inclusive.

nodeGroups[].
allocationPolicy
object

Allocation policy by which resources for node group are allocated to zones and regions.

nodeGroups[].
allocationPolicy.
locations[]
object

List of locations where resources for the node group will be allocated.

nodeGroups[].
allocationPolicy.
locations[].
zoneId
string

Required. ID of the availability zone where the nodes may reside.

nodeGroups[].
allocationPolicy.
locations[].
subnetId
string

ID of the subnet. If a network chosen for the Kubernetes cluster has only one subnet in the specified zone, subnet ID may be omitted.

nodeGroups[].
deployPolicy
object

Deploy policy according to which the updates are rolled out.

nodeGroups[].
deployPolicy.
maxUnavailable
string (int64)

The maximum number of running instances that can be taken offline (i.e., stopped or deleted) at the same time during the update process. If maxExpansion is not specified or set to zero, maxUnavailable must be set to a non-zero value.

Acceptable values are 0 to 100, inclusive.

nodeGroups[].
deployPolicy.
maxExpansion
string (int64)

The maximum number of instances that can be temporarily allocated above the group's target size during the update process. If maxUnavailable is not specified or set to zero, maxExpansion must be set to a non-zero value.

Acceptable values are 0 to 100, inclusive.

nodeGroups[].
instanceGroupId
string

ID of the managed instance group associated with this node group.

nodeGroups[].
nodeVersion
string

Version of Kubernetes components that runs on the nodes. Deprecated. Use version_info.current_version.

nodeGroups[].
versionInfo
object

Detailed information about the Kubernetes version that is running on the node.

nodeGroups[].
versionInfo.
currentVersion
string

Current Kubernetes version, format: major.minor (e.g. 1.15).

nodeGroups[].
versionInfo.
newRevisionAvailable
boolean (boolean)

Newer revisions may include Kubernetes patches (e.g 1.15.1 -> 1.15.2) as well as some internal component updates - new features or bug fixes in Yandex specific components either on the master or nodes.

nodeGroups[].
versionInfo.
newRevisionSummary
string

Description of the changes to be applied when updating to the latest revision. Empty if new_revision_available is false.

nodeGroups[].
versionInfo.
versionDeprecated
boolean (boolean)

The current version is on the deprecation schedule, component (master or node group) should be upgraded.

nodeGroups[].
maintenancePolicy
object

Maintenance policy of the node group.

nodeGroups[].
maintenancePolicy.
autoUpgrade
boolean (boolean)

If set to true, automatic updates are installed in the specified period of time with no interaction from the user. If set to false, automatic upgrades are disabled.

nodeGroups[].
maintenancePolicy.
autoRepair
boolean (boolean)

If set to true, automatic repairs are enabled. Default value is false.

nodeGroups[].
maintenancePolicy.
maintenanceWindow
object

Maintenance window settings. Update will start at the specified time and last no more than the specified duration. The time is set in UTC.

nodeGroups[].
maintenancePolicy.
maintenanceWindow.
anytime
object
Updating the master at any time.
nodeGroups[].maintenancePolicy.maintenanceWindow includes only one of the fields anytime, dailyMaintenanceWindow, weeklyMaintenanceWindow

nodeGroups[].
maintenancePolicy.
maintenanceWindow.
dailyMaintenanceWindow
object
Updating the master on any day during the specified time window.
nodeGroups[].maintenancePolicy.maintenanceWindow includes only one of the fields anytime, dailyMaintenanceWindow, weeklyMaintenanceWindow

nodeGroups[].
maintenancePolicy.
maintenanceWindow.
dailyMaintenanceWindow.
startTime
object

Required. Window start time, in the UTC timezone.

Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and google.protobuf.Timestamp.

nodeGroups[].
maintenancePolicy.
maintenanceWindow.
dailyMaintenanceWindow.
startTime.
hours
integer (int32)

Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.

nodeGroups[].
maintenancePolicy.
maintenanceWindow.
dailyMaintenanceWindow.
startTime.
minutes
integer (int32)

Minutes of hour of day. Must be from 0 to 59.

nodeGroups[].
maintenancePolicy.
maintenanceWindow.
dailyMaintenanceWindow.
startTime.
seconds
integer (int32)

Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.

nodeGroups[].
maintenancePolicy.
maintenanceWindow.
dailyMaintenanceWindow.
startTime.
nanos
integer (int32)

Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.

nodeGroups[].
maintenancePolicy.
maintenanceWindow.
dailyMaintenanceWindow.
duration
string

Window duration.

Acceptable values are 3600 seconds to 86400 seconds, inclusive.

nodeGroups[].
maintenancePolicy.
maintenanceWindow.
weeklyMaintenanceWindow
object
Updating the master on selected days during the specified time window.
nodeGroups[].maintenancePolicy.maintenanceWindow includes only one of the fields anytime, dailyMaintenanceWindow, weeklyMaintenanceWindow

nodeGroups[].
maintenancePolicy.
maintenanceWindow.
weeklyMaintenanceWindow.
daysOfWeek[]
object

Required. Days of the week and the maintenance window for these days when automatic updates are allowed.

The number of elements must be in the range 1-7.

nodeGroups[].
maintenancePolicy.
maintenanceWindow.
weeklyMaintenanceWindow.
daysOfWeek[].
days[]
string

Represents a day of week.

  • DAY_OF_WEEK_UNSPECIFIED: The unspecified day-of-week.
  • MONDAY: The day-of-week of Monday.
  • TUESDAY: The day-of-week of Tuesday.
  • WEDNESDAY: The day-of-week of Wednesday.
  • THURSDAY: The day-of-week of Thursday.
  • FRIDAY: The day-of-week of Friday.
  • SATURDAY: The day-of-week of Saturday.
  • SUNDAY: The day-of-week of Sunday.
nodeGroups[].
maintenancePolicy.
maintenanceWindow.
weeklyMaintenanceWindow.
daysOfWeek[].
startTime
object

Required. Window start time, in the UTC timezone.

Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and google.protobuf.Timestamp.

nodeGroups[].
maintenancePolicy.
maintenanceWindow.
weeklyMaintenanceWindow.
daysOfWeek[].
startTime.
hours
integer (int32)

Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.

nodeGroups[].
maintenancePolicy.
maintenanceWindow.
weeklyMaintenanceWindow.
daysOfWeek[].
startTime.
minutes
integer (int32)

Minutes of hour of day. Must be from 0 to 59.

nodeGroups[].
maintenancePolicy.
maintenanceWindow.
weeklyMaintenanceWindow.
daysOfWeek[].
startTime.
seconds
integer (int32)

Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.

nodeGroups[].
maintenancePolicy.
maintenanceWindow.
weeklyMaintenanceWindow.
daysOfWeek[].
startTime.
nanos
integer (int32)

Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.

nodeGroups[].
maintenancePolicy.
maintenanceWindow.
weeklyMaintenanceWindow.
daysOfWeek[].
duration
string

Window duration.

Acceptable values are 3600 seconds to 86400 seconds, inclusive.

nodeGroups[].
allowedUnsafeSysctls[]
string

Support for unsafe sysctl parameters. For more details see documentation.

nodeGroups[].
nodeTaints[]
object

Taints that are applied to the nodes of the node group at creation time.

nodeGroups[].
nodeTaints[].
key
string

The taint key to be applied to a node.

nodeGroups[].
nodeTaints[].
value
string

The taint value corresponding to the taint key.

nodeGroups[].
nodeTaints[].
effect
string

The effect of the taint on pods that do not tolerate the taint.

  • NO_SCHEDULE: Do not allow new pods to schedule onto the node unless they tolerate the taint, but allow all pods submitted to Kubelet without going through the scheduler to start, and allow all already-running pods to continue running.
  • PREFER_NO_SCHEDULE: Like NO_SCHEDULE, but the scheduler tries not to schedule new pods onto the node, rather than prohibiting new pods from scheduling onto the node entirely. Enforced by the scheduler.
  • NO_EXECUTE: Evict any already-running pods that do not tolerate the taint.
nodeGroups[].
nodeLabels
object

Labels that are assigned to the nodes of the node group at creation time.

nextPageToken string

This token allows you to get the next page of results for list requests. If the number of results is larger than pageSize, use the next_page_token as the value for the pageToken query parameter in the next list request. Each subsequent list request will have its own next_page_token to continue paging through the results.

Was the article helpful?

Language / Region
© 2022 Yandex.Cloud LLC
In this article:
  • HTTP request
  • Path parameters
  • Query parameters
  • Response