Skip to main content

types

AnytimeMaintenanceWindow

AttachedVolume

AttachedVolume describes a volume attached to a node

driverName : string

Name of the driver which has attached the volume

volumeHandle : string

Volume handle (cloud disk id)

Cilium

RoutingMode

  • ROUTING_MODE_UNSPECIFIED

  • TUNNEL

routingMode : RoutingMode

Cluster

A Kubernetes cluster.

Status

  • STATUS_UNSPECIFIED

  • PROVISIONING

    Kubernetes cluster is waiting for resources to be allocated.

  • RUNNING

    Kubernetes cluster is running.

  • RECONCILING

    Kubernetes cluster is being reconciled.

  • STOPPING

    Kubernetes cluster is being stopped.

  • STOPPED

    Kubernetes cluster stopped.

  • DELETING

    Kubernetes cluster is being deleted.

  • STARTING

    Kubernetes cluster is being started.

Health

  • HEALTH_UNSPECIFIED

  • HEALTHY

    Kubernetes cluster is alive and well.

  • UNHEALTHY

    Kubernetes cluster is inoperable.

id : string

ID of the Kubernetes cluster.

folderId : string

ID of the folder that the Kubernetes cluster belongs to.

createdAt : google.protobuf.Timestamp

Creation timestamp.

name : string

Name of the Kubernetes cluster.

description : string

Description of the Kubernetes cluster. 0-256 characters long.

labels : string

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

status : Status

Status of the Kubernetes cluster.

health : Health

Health of the Kubernetes cluster.

networkId : string

ID of the network the Kubernetes cluster belongs to.

master : Master

Properties of the master for the Kubernetes cluster.

ipAllocationPolicy : IPAllocationPolicy

Allocation policy for IP addresses of services and pods inside the Kubernetes cluster in different availability zones.

One of internetGateway

  • gatewayIpv4Address : string

    Gateway IPv4 address.

serviceAccountId : string

Service account to be used for provisioning Compute Cloud and VPC resources for Kubernetes cluster.

nodeServiceAccountId : string

Service account to be used by the worker nodes of the Kubernetes cluster to access Container Registry or to push node logs and metrics.

releaseChannel : ReleaseChannel

When creating a Kubernetes cluster, you should specify one of three release channels. The release channel contains several Kubernetes versions. Channels differ in the set of available versions, the management of auto-updates, and the updates received. You can't change the channel once the Kubernetes cluster is created, you can only recreate the Kubernetes cluster and specify a new release channel. For more details see documentation.

networkPolicy : NetworkPolicy
kmsProvider : KMSProvider

KMS provider configuration.

logGroupId : string

Log group where cluster stores cluster system logs, like audit, events, or controlplane logs.

One of networkImplementation

  • cilium : Cilium

Condition

type : string

Type of node condition.

status : string

Status is the status of the condition.

message : string

Human-readable message indicating details about last transition.

lastHeartbeatTime : google.protobuf.Timestamp

Last time we got an update on a given condition.

lastTransitionTime : google.protobuf.Timestamp

Last time the condition transit from one status to another.

DailyMaintenanceWindow

startTime : google.type.TimeOfDay

Window start time, in the UTC timezone.

duration : google.protobuf.Duration

Window duration.

DaysOfWeekMaintenanceWindow

days : google.type.DayOfWeek

Days of the week when automatic updates are allowed.

startTime : google.type.TimeOfDay

Window start time, in the UTC timezone.

duration : google.protobuf.Duration

Window duration.

DeployPolicy

maxUnavailable : 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 max_expansion is not specified or set to zero, max_unavailable must be set to a non-zero value.

maxExpansion : int64

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

DiskSpec

diskTypeId : string

ID of the disk type.

diskSize : int64

Size of the disk, specified in bytes.

DnsRecordSpec

fqdn : string

FQDN (required).

dnsZoneId : string

DNS zone id (optional, if not set, private zone is used).

ttl : int64

DNS record ttl, values in 0-86400 (optional).

ptr : bool

When set to true, also create PTR DNS record (optional).

GpuSettings

GpuEnvironment

  • GPU_ENVIRONMENT_UNSPECIFIED

    Use one of the values below, depending on the default for the specific Cloud installation.

  • RUNC_DRIVERS_CUDA

    Use a node image with the pre-installed GPU toolkit, drivers and CUDA.

  • RUNC

    Use a node image with the pre-installed GPU toolkit but without drivers. You should install drivers on a node yourself in that case. There are tools to help you to do that, for example gpu-operator.

gpuClusterId : string

GPU cluster id, that mk8s node will join.

gpuEnvironment : GpuEnvironment

GPU environment configured on node.

IPAllocationPolicy

clusterIpv4CidrBlock : string

CIDR block. IP range for allocating pod addresses.

It should not overlap with any subnet in the network the Kubernetes cluster located in. Static routes will be set up for this CIDR blocks in node subnets.

nodeIpv4CidrMaskSize : int64

Size of the masks that are assigned for each node in the cluster.

If not specified, 24 is used.

serviceIpv4CidrBlock : string

CIDR block. IP range Kubernetes service Kubernetes cluster IP addresses will be allocated from.

It should not overlap with any subnet in the network the Kubernetes cluster located in.

clusterIpv6CidrBlock : string

IPv6 range for allocating pod IP addresses.

serviceIpv6CidrBlock : string

IPv6 range for allocating Kubernetes service IP addresses

KMSProvider

keyId : string

KMS key ID for secrets encryption. To obtain a KMS key ID use a yandex.cloud.kms.v1.SymmetricKeyService.List request.

Location

zoneId : string

ID of the availability zone where the master resides.

subnetId : string

ID of the VPC network's subnet where the master resides.

MaintenanceWindow

One of policy

Maintenance policy.

  • anytime : AnytimeMaintenanceWindow

    Updating the master at any time.

  • dailyMaintenanceWindow : DailyMaintenanceWindow

    Updating the master on any day during the specified time window.

  • weeklyMaintenanceWindow : WeeklyMaintenanceWindow

    Updating the master on selected days during the specified time window.

Master

One of masterType

  • zonalMaster : ZonalMaster

    Parameters of the availability zone for the master.

  • regionalMaster : RegionalMaster

    Parameters of the region for the master.

locations : Location

Locations specification for Kubernetes control-plane (master) instances.

etcdClusterSize : int64

Number of etcd nodes in cluster.

version : string

Version of Kubernetes components that runs on the master.

endpoints : MasterEndpoints

Endpoints of the master. Endpoints constitute of scheme and port (i.e. https://ip-address:port) and can be used by the clients to communicate with the Kubernetes API of the Kubernetes cluster.

masterAuth : MasterAuth

Master authentication parameters are used to establish trust between the master and a client.

versionInfo : VersionInfo

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

maintenancePolicy : MasterMaintenancePolicy

Maintenance policy of the master.

securityGroupIds : string

Master security groups.

masterLogging : MasterLogging

Cloud Logging for master components.

MasterAuth

clusterCaCertificate : string

PEM-encoded public certificate that is the root of trust for the Kubernetes cluster.

MasterEndpoints

internalV4Endpoint : string

Internal endpoint that can be used to connect to the master from cloud networks.

externalV4Endpoint : string

External endpoint that can be used to access Kubernetes cluster API from the internet (outside of the cloud).

externalV6Endpoint : string

External IPv6 endpoint that can be used to access Kubernetes cluster API from the internet (outside of the cloud).

MasterLogging

enabled : bool

Identifies whether Cloud Logging is enabled for master components.

One of destination

The destination of master components' logs.

  • logGroupId : string

    ID of the log group where logs of master components should be stored.

  • folderId : string

    ID of the folder where logs should be stored (in default group).

auditEnabled : bool

Identifies whether Cloud Logging is enabled for audit logs.

clusterAutoscalerEnabled : bool

Identifies whether Cloud Logging is enabled for cluster-autoscaler.

kubeApiserverEnabled : bool

Identifies whether Cloud Logging is enabled for kube-apiserver.

eventsEnabled : bool

Identifies whether Cloud Logging is enabled for events.

MasterMaintenancePolicy

autoUpgrade : bool

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.

maintenanceWindow : MaintenanceWindow

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

NetworkInterfaceSpec

subnetIds : string

IDs of the subnets.

primaryV4AddressSpec : NodeAddressSpec

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

primaryV6AddressSpec : NodeAddressSpec

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

securityGroupIds : string

IDs of security groups.

NetworkPolicy

Provider

  • PROVIDER_UNSPECIFIED

  • CALICO

provider : Provider

Node

KubernetesStatus

Kubernetes node info

id : string

Node id (and instance name)

conditions : Condition

Conditions is an array of current observed node conditions. More info: https://kubernetes.io/docs/concepts/nodes/node/#condition

taints : Taint

If specified, the node's taints.

attachedVolumes : AttachedVolume

List of volumes that are attached to the node.

CloudStatus

Cloud instance info

id : string

Compute instance id

status : string

IG instance status

statusMessage : string

IG instance status message

Status

Computed node status.

  • STATUS_UNSPECIFIED

    Computed node status.

  • PROVISIONING

    Node instance is not yet created (e.g. in progress).

  • NOT_CONNECTED

    Node instance is created but not registered (e.g. is still initializing).

  • NOT_READY

    Node has connected but is not ready for workload (see conditions for details).

  • READY

    Node has connected and ready for workload.

  • MISSING

    Node is still registered but its instance is deleted (this is our bug).

  • STOPPED

    Node is stopped

  • UNKNOWN

    Backend request to kubernetes api was unsuccessful.

Spec

Node specification.

resources : ResourcesSpec

Node group specified resources.

disk : DiskSpec

Node group specified disk.

status : Status

Computed node status.

spec : Spec

Node specificaion.

cloudStatus : CloudStatus

Cloud instance status. Not available in MISSING status.

kubernetesStatus : KubernetesStatus

Kubernetes node status. Not available in PROVISIONING and NOT_CONNECTED states.

NodeAddressSpec

oneToOneNatSpec : OneToOneNatSpec

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.

dnsRecordSpecs : DnsRecordSpec

Internal DNS configuration.

NodeGroup

Status

  • STATUS_UNSPECIFIED

  • 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.

id : string

ID of the node group.

clusterId : string

ID of the cluster that the node group belongs to.

createdAt : google.protobuf.Timestamp

Creation timestamp.

name : string

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

description : string

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

labels : string

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

status : Status

Status of the node group.

nodeTemplate : NodeTemplate

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

scalePolicy : ScalePolicy

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

allocationPolicy : NodeGroupAllocationPolicy

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

deployPolicy : DeployPolicy

Deploy policy according to which the updates are rolled out.

instanceGroupId : string

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

nodeVersion : string

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

versionInfo : VersionInfo

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

maintenancePolicy : NodeGroupMaintenancePolicy

Maintenance policy of the node group.

allowedUnsafeSysctls : string

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

nodeTaints : Taint

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

nodeLabels : string

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

NodeGroupAllocationPolicy

locations : NodeGroupLocation

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

NodeGroupLocation

zoneId : string

ID of the availability zone where the nodes may reside.

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.

NodeGroupMaintenancePolicy

autoUpgrade : bool

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.

autoRepair : bool

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

maintenanceWindow : MaintenanceWindow

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

NodeTemplate

NetworkSettings

Type
  • TYPE_UNSPECIFIED

  • STANDARD

  • SOFTWARE_ACCELERATED

type : Type

ContainerRuntimeSettings

Type
  • TYPE_UNSPECIFIED

  • DOCKER

  • CONTAINERD

type : Type

ContainerNetworkSettings

podMtu : int64
name : string

Name of the instance. In order to be unique it must contain at least on of instance unique placeholders: {instance.short_id} {instance.index} combination of {instance.zone_id} and {instance.index_in_zone} Example: my-instance-{instance.index} If not set, default is used: {instance_group.id}-{instance.short_id} It may also contain another placeholders, see metadata doc for full list.

labels : string

these labels will be assigned to compute nodes (instances), created by the nodegroup

platformId : string

ID of the hardware platform configuration for the node.

resourcesSpec : ResourcesSpec

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

bootDiskSpec : DiskSpec

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

metadata : string

The metadata as key:value pairs assigned to this instance template. Only SSH keys are supported as metadata.

For more information, see Connecting to a node over SSH.

v4AddressSpec : NodeAddressSpec

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

schedulingPolicy : SchedulingPolicy

Scheduling policy configuration.

networkInterfaceSpecs : NetworkInterfaceSpec

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

placementPolicy : PlacementPolicy
networkSettings : NetworkSettings

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

containerRuntimeSettings : ContainerRuntimeSettings
containerNetworkSettings : ContainerNetworkSettings
gpuSettings : GpuSettings

GPU settings

OneToOneNatSpec

ipVersion : IpVersion

IP version for the public IP address.

PlacementPolicy

placementGroupId : string

Identifier of placement group

RegionalMaster

regionId : string

ID of the region where the master resides.

internalV4Address : string

IPv4 internal network address that is assigned to the master.

externalV4Address : string

IPv4 external network address that is assigned to the master.

externalV6Address : string

IPv6 external network address that is assigned to the master.

ResourcesSpec

memory : int64

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

cores : int64

Number of cores available to the node.

coreFraction : int64

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

gpus : int64

Number of GPUs available to the node.

ScalePolicy

FixedScale

size : int64

Number of nodes in the node group.

AutoScale

minSize : int64

Minimum number of nodes in the node group.

maxSize : int64

Maximum number of nodes in the node group.

initialSize : int64

Initial number of nodes in the node group.

One of scaleType

  • fixedScale : FixedScale

    Fixed scale policy of the node group.

  • autoScale : AutoScale

    Auto scale policy of the node group.

SchedulingPolicy

preemptible : bool

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.

Taint

Effect

  • EFFECT_UNSPECIFIED

  • 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.

key : string

The taint key to be applied to a node.

value : string

The taint value corresponding to the taint key.

effect : Effect

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

UpdateVersionSpec

One of specifier

  • version : string

    Request update to a newer version of Kubernetes (1.x -> 1.y).

  • latestRevision : bool

    Request update to the latest revision for the current version.

VersionInfo

currentVersion : string

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

newRevisionAvailable : bool

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 platform specific components either on the master or nodes.

newRevisionSummary : string

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

versionDeprecated : bool

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

WeeklyMaintenanceWindow

daysOfWeek : DaysOfWeekMaintenanceWindow

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

ZonalMaster

zoneId : string

ID of the availability zone where the master resides.

internalV4Address : string

IPv4 internal network address that is assigned to the master.

externalV4Address : string

IPv4 external network address that is assigned to the master.