Welcome to Pulumi Registry, your window into the cloud. Read the announcement.

Yandex

v0.10.0 published on Thursday, Nov 18, 2021 by Pulumi

KubernetesNodeGroup

Creates a Yandex Kubernetes Node Group.

Example Usage

using Pulumi;
using Yandex = Pulumi.Yandex;

class MyStack : Stack
{
    public MyStack()
    {
        var myNodeGroup = new Yandex.KubernetesNodeGroup("myNodeGroup", new Yandex.KubernetesNodeGroupArgs
        {
            AllocationPolicy = new Yandex.Inputs.KubernetesNodeGroupAllocationPolicyArgs
            {
                Locations = 
                {
                    new Yandex.Inputs.KubernetesNodeGroupAllocationPolicyLocationArgs
                    {
                        Zone = "ru-central1-a",
                    },
                },
            },
            ClusterId = yandex_kubernetes_cluster.My_cluster.Id,
            Description = "description",
            InstanceTemplate = new Yandex.Inputs.KubernetesNodeGroupInstanceTemplateArgs
            {
                BootDisk = new Yandex.Inputs.KubernetesNodeGroupInstanceTemplateBootDiskArgs
                {
                    Size = 64,
                    Type = "network-hdd",
                },
                NetworkInterfaces = 
                {
                    new Yandex.Inputs.KubernetesNodeGroupInstanceTemplateNetworkInterfaceArgs
                    {
                        Nat = true,
                        SubnetIds = 
                        {
                            yandex_vpc_subnet.My_subnet.Id,
                        },
                    },
                },
                PlatformId = "standard-v2",
                Resources = new Yandex.Inputs.KubernetesNodeGroupInstanceTemplateResourcesArgs
                {
                    Cores = 2,
                    Memory = 2,
                },
                SchedulingPolicy = new Yandex.Inputs.KubernetesNodeGroupInstanceTemplateSchedulingPolicyArgs
                {
                    Preemptible = false,
                },
            },
            Labels = 
            {
                { "key", "value" },
            },
            MaintenancePolicy = new Yandex.Inputs.KubernetesNodeGroupMaintenancePolicyArgs
            {
                AutoRepair = true,
                AutoUpgrade = true,
                MaintenanceWindows = 
                {
                    new Yandex.Inputs.KubernetesNodeGroupMaintenancePolicyMaintenanceWindowArgs
                    {
                        Day = "monday",
                        Duration = "3h",
                        StartTime = "15:00",
                    },
                    new Yandex.Inputs.KubernetesNodeGroupMaintenancePolicyMaintenanceWindowArgs
                    {
                        Day = "friday",
                        Duration = "4h30m",
                        StartTime = "10:00",
                    },
                },
            },
            ScalePolicy = new Yandex.Inputs.KubernetesNodeGroupScalePolicyArgs
            {
                FixedScale = new Yandex.Inputs.KubernetesNodeGroupScalePolicyFixedScaleArgs
                {
                    Size = 1,
                },
            },
            Version = "1.17",
        });
    }

}
package main

import (
	"github.com/pulumi/pulumi-yandex/sdk/go/yandex"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := yandex.NewKubernetesNodeGroup(ctx, "myNodeGroup", &yandex.KubernetesNodeGroupArgs{
			AllocationPolicy: &KubernetesNodeGroupAllocationPolicyArgs{
				Locations: KubernetesNodeGroupAllocationPolicyLocationArray{
					&KubernetesNodeGroupAllocationPolicyLocationArgs{
						Zone: pulumi.String("ru-central1-a"),
					},
				},
			},
			ClusterId:   pulumi.Any(yandex_kubernetes_cluster.My_cluster.Id),
			Description: pulumi.String("description"),
			InstanceTemplate: &KubernetesNodeGroupInstanceTemplateArgs{
				BootDisk: &KubernetesNodeGroupInstanceTemplateBootDiskArgs{
					Size: pulumi.Int(64),
					Type: pulumi.String("network-hdd"),
				},
				NetworkInterfaces: KubernetesNodeGroupInstanceTemplateNetworkInterfaceArray{
					&KubernetesNodeGroupInstanceTemplateNetworkInterfaceArgs{
						Nat: pulumi.Bool(true),
						SubnetIds: pulumi.StringArray{
							pulumi.Any(yandex_vpc_subnet.My_subnet.Id),
						},
					},
				},
				PlatformId: pulumi.String("standard-v2"),
				Resources: &KubernetesNodeGroupInstanceTemplateResourcesArgs{
					Cores:  pulumi.Int(2),
					Memory: pulumi.Float64(2),
				},
				SchedulingPolicy: &KubernetesNodeGroupInstanceTemplateSchedulingPolicyArgs{
					Preemptible: pulumi.Bool(false),
				},
			},
			Labels: pulumi.StringMap{
				"key": pulumi.String("value"),
			},
			MaintenancePolicy: &KubernetesNodeGroupMaintenancePolicyArgs{
				AutoRepair:  pulumi.Bool(true),
				AutoUpgrade: pulumi.Bool(true),
				MaintenanceWindows: KubernetesNodeGroupMaintenancePolicyMaintenanceWindowArray{
					&KubernetesNodeGroupMaintenancePolicyMaintenanceWindowArgs{
						Day:       pulumi.String("monday"),
						Duration:  pulumi.String("3h"),
						StartTime: pulumi.String("15:00"),
					},
					&KubernetesNodeGroupMaintenancePolicyMaintenanceWindowArgs{
						Day:       pulumi.String("friday"),
						Duration:  pulumi.String("4h30m"),
						StartTime: pulumi.String("10:00"),
					},
				},
			},
			ScalePolicy: &KubernetesNodeGroupScalePolicyArgs{
				FixedScale: &KubernetesNodeGroupScalePolicyFixedScaleArgs{
					Size: pulumi.Int(1),
				},
			},
			Version: pulumi.String("1.17"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
import pulumi
import pulumi_yandex as yandex

my_node_group = yandex.KubernetesNodeGroup("myNodeGroup",
    allocation_policy=yandex.KubernetesNodeGroupAllocationPolicyArgs(
        locations=[yandex.KubernetesNodeGroupAllocationPolicyLocationArgs(
            zone="ru-central1-a",
        )],
    ),
    cluster_id=yandex_kubernetes_cluster["my_cluster"]["id"],
    description="description",
    instance_template=yandex.KubernetesNodeGroupInstanceTemplateArgs(
        boot_disk=yandex.KubernetesNodeGroupInstanceTemplateBootDiskArgs(
            size=64,
            type="network-hdd",
        ),
        network_interfaces=[yandex.KubernetesNodeGroupInstanceTemplateNetworkInterfaceArgs(
            nat=True,
            subnet_ids=[yandex_vpc_subnet["my_subnet"]["id"]],
        )],
        platform_id="standard-v2",
        resources=yandex.KubernetesNodeGroupInstanceTemplateResourcesArgs(
            cores=2,
            memory=2,
        ),
        scheduling_policy=yandex.KubernetesNodeGroupInstanceTemplateSchedulingPolicyArgs(
            preemptible=False,
        ),
    ),
    labels={
        "key": "value",
    },
    maintenance_policy=yandex.KubernetesNodeGroupMaintenancePolicyArgs(
        auto_repair=True,
        auto_upgrade=True,
        maintenance_windows=[
            yandex.KubernetesNodeGroupMaintenancePolicyMaintenanceWindowArgs(
                day="monday",
                duration="3h",
                start_time="15:00",
            ),
            yandex.KubernetesNodeGroupMaintenancePolicyMaintenanceWindowArgs(
                day="friday",
                duration="4h30m",
                start_time="10:00",
            ),
        ],
    ),
    scale_policy=yandex.KubernetesNodeGroupScalePolicyArgs(
        fixed_scale=yandex.KubernetesNodeGroupScalePolicyFixedScaleArgs(
            size=1,
        ),
    ),
    version="1.17")
import * as pulumi from "@pulumi/pulumi";
import * as yandex from "@pulumi/yandex";

const myNodeGroup = new yandex.KubernetesNodeGroup("my_node_group", {
    allocationPolicy: {
        locations: [{
            zone: "ru-central1-a",
        }],
    },
    clusterId: yandex_kubernetes_cluster_my_cluster.id,
    description: "description",
    instanceTemplate: {
        bootDisk: {
            size: 64,
            type: "network-hdd",
        },
        networkInterfaces: [{
            nat: true,
            subnetIds: [yandex_vpc_subnet_my_subnet.id],
        }],
        platformId: "standard-v2",
        resources: {
            cores: 2,
            memory: 2,
        },
        schedulingPolicy: {
            preemptible: false,
        },
    },
    labels: {
        key: "value",
    },
    maintenancePolicy: {
        autoRepair: true,
        autoUpgrade: true,
        maintenanceWindows: [
            {
                day: "monday",
                duration: "3h",
                startTime: "15:00",
            },
            {
                day: "friday",
                duration: "4h30m",
                startTime: "10:00",
            },
        ],
    },
    scalePolicy: {
        fixedScale: {
            size: 1,
        },
    },
    version: "1.17",
});

Create a KubernetesNodeGroup Resource

new KubernetesNodeGroup(name: string, args: KubernetesNodeGroupArgs, opts?: CustomResourceOptions);
@overload
def KubernetesNodeGroup(resource_name: str,
                        opts: Optional[ResourceOptions] = None,
                        allocation_policy: Optional[KubernetesNodeGroupAllocationPolicyArgs] = None,
                        allowed_unsafe_sysctls: Optional[Sequence[str]] = None,
                        cluster_id: Optional[str] = None,
                        deploy_policy: Optional[KubernetesNodeGroupDeployPolicyArgs] = None,
                        description: Optional[str] = None,
                        instance_template: Optional[KubernetesNodeGroupInstanceTemplateArgs] = None,
                        labels: Optional[Mapping[str, str]] = None,
                        maintenance_policy: Optional[KubernetesNodeGroupMaintenancePolicyArgs] = None,
                        name: Optional[str] = None,
                        node_labels: Optional[Mapping[str, str]] = None,
                        node_taints: Optional[Sequence[str]] = None,
                        scale_policy: Optional[KubernetesNodeGroupScalePolicyArgs] = None,
                        version: Optional[str] = None)
@overload
def KubernetesNodeGroup(resource_name: str,
                        args: KubernetesNodeGroupArgs,
                        opts: Optional[ResourceOptions] = None)
func NewKubernetesNodeGroup(ctx *Context, name string, args KubernetesNodeGroupArgs, opts ...ResourceOption) (*KubernetesNodeGroup, error)
public KubernetesNodeGroup(string name, KubernetesNodeGroupArgs args, CustomResourceOptions? opts = null)
name string
The unique name of the resource.
args KubernetesNodeGroupArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
args KubernetesNodeGroupArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args KubernetesNodeGroupArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args KubernetesNodeGroupArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.

KubernetesNodeGroup Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

The KubernetesNodeGroup resource accepts the following input properties:

ClusterId string
The ID of the Kubernetes cluster that this node group belongs to.
InstanceTemplate KubernetesNodeGroupInstanceTemplateArgs
Template used to create compute instances in this Kubernetes node group. The structure is documented below.
ScalePolicy KubernetesNodeGroupScalePolicyArgs
Scale policy of the node group. The structure is documented below.
AllocationPolicy KubernetesNodeGroupAllocationPolicyArgs
This argument specify subnets (zones), that will be used by node group compute instances. The structure is documented below.
AllowedUnsafeSysctls List<string>
A list of allowed unsafe sysctl parameters for this node group. For more details see documentation.
DeployPolicy KubernetesNodeGroupDeployPolicyArgs
Deploy policy of the node group. The structure is documented below.
Description string
A description of the Kubernetes node group.
Labels Dictionary<string, string>
A set of key/value label pairs assigned to the Kubernetes node group.
MaintenancePolicy KubernetesNodeGroupMaintenancePolicyArgs
(Computed) Maintenance policy for this Kubernetes node group. If policy is omitted, automatic revision upgrades are enabled and could happen at any time. Revision upgrades are performed only within the same minor version, e.g. 1.13. Minor version upgrades (e.g. 1.13->1.14) should be performed manually. The structure is documented below.
Name string
Name of a specific Kubernetes node group.
NodeLabels Dictionary<string, string>
A set of key/value label pairs, that are assigned to all the nodes of this Kubernetes node group.
NodeTaints List<string>
A list of Kubernetes taints, that are applied to all the nodes of this Kubernetes node group.
Version string
Version of Kubernetes that will be used for Kubernetes node group.
ClusterId string
The ID of the Kubernetes cluster that this node group belongs to.
InstanceTemplate KubernetesNodeGroupInstanceTemplateArgs
Template used to create compute instances in this Kubernetes node group. The structure is documented below.
ScalePolicy KubernetesNodeGroupScalePolicyArgs
Scale policy of the node group. The structure is documented below.
AllocationPolicy KubernetesNodeGroupAllocationPolicyArgs
This argument specify subnets (zones), that will be used by node group compute instances. The structure is documented below.
AllowedUnsafeSysctls []string
A list of allowed unsafe sysctl parameters for this node group. For more details see documentation.
DeployPolicy KubernetesNodeGroupDeployPolicyArgs
Deploy policy of the node group. The structure is documented below.
Description string
A description of the Kubernetes node group.
Labels map[string]string
A set of key/value label pairs assigned to the Kubernetes node group.
MaintenancePolicy KubernetesNodeGroupMaintenancePolicyArgs
(Computed) Maintenance policy for this Kubernetes node group. If policy is omitted, automatic revision upgrades are enabled and could happen at any time. Revision upgrades are performed only within the same minor version, e.g. 1.13. Minor version upgrades (e.g. 1.13->1.14) should be performed manually. The structure is documented below.
Name string
Name of a specific Kubernetes node group.
NodeLabels map[string]string
A set of key/value label pairs, that are assigned to all the nodes of this Kubernetes node group.
NodeTaints []string
A list of Kubernetes taints, that are applied to all the nodes of this Kubernetes node group.
Version string
Version of Kubernetes that will be used for Kubernetes node group.
clusterId string
The ID of the Kubernetes cluster that this node group belongs to.
instanceTemplate KubernetesNodeGroupInstanceTemplateArgs
Template used to create compute instances in this Kubernetes node group. The structure is documented below.
scalePolicy KubernetesNodeGroupScalePolicyArgs
Scale policy of the node group. The structure is documented below.
allocationPolicy KubernetesNodeGroupAllocationPolicyArgs
This argument specify subnets (zones), that will be used by node group compute instances. The structure is documented below.
allowedUnsafeSysctls string[]
A list of allowed unsafe sysctl parameters for this node group. For more details see documentation.
deployPolicy KubernetesNodeGroupDeployPolicyArgs
Deploy policy of the node group. The structure is documented below.
description string
A description of the Kubernetes node group.
labels {[key: string]: string}
A set of key/value label pairs assigned to the Kubernetes node group.
maintenancePolicy KubernetesNodeGroupMaintenancePolicyArgs
(Computed) Maintenance policy for this Kubernetes node group. If policy is omitted, automatic revision upgrades are enabled and could happen at any time. Revision upgrades are performed only within the same minor version, e.g. 1.13. Minor version upgrades (e.g. 1.13->1.14) should be performed manually. The structure is documented below.
name string
Name of a specific Kubernetes node group.
nodeLabels {[key: string]: string}
A set of key/value label pairs, that are assigned to all the nodes of this Kubernetes node group.
nodeTaints string[]
A list of Kubernetes taints, that are applied to all the nodes of this Kubernetes node group.
version string
Version of Kubernetes that will be used for Kubernetes node group.
cluster_id str
The ID of the Kubernetes cluster that this node group belongs to.
instance_template KubernetesNodeGroupInstanceTemplateArgs
Template used to create compute instances in this Kubernetes node group. The structure is documented below.
scale_policy KubernetesNodeGroupScalePolicyArgs
Scale policy of the node group. The structure is documented below.
allocation_policy KubernetesNodeGroupAllocationPolicyArgs
This argument specify subnets (zones), that will be used by node group compute instances. The structure is documented below.
allowed_unsafe_sysctls Sequence[str]
A list of allowed unsafe sysctl parameters for this node group. For more details see documentation.
deploy_policy KubernetesNodeGroupDeployPolicyArgs
Deploy policy of the node group. The structure is documented below.
description str
A description of the Kubernetes node group.
labels Mapping[str, str]
A set of key/value label pairs assigned to the Kubernetes node group.
maintenance_policy KubernetesNodeGroupMaintenancePolicyArgs
(Computed) Maintenance policy for this Kubernetes node group. If policy is omitted, automatic revision upgrades are enabled and could happen at any time. Revision upgrades are performed only within the same minor version, e.g. 1.13. Minor version upgrades (e.g. 1.13->1.14) should be performed manually. The structure is documented below.
name str
Name of a specific Kubernetes node group.
node_labels Mapping[str, str]
A set of key/value label pairs, that are assigned to all the nodes of this Kubernetes node group.
node_taints Sequence[str]
A list of Kubernetes taints, that are applied to all the nodes of this Kubernetes node group.
version str
Version of Kubernetes that will be used for Kubernetes node group.

Outputs

All input properties are implicitly available as output properties. Additionally, the KubernetesNodeGroup resource produces the following output properties:

CreatedAt string
(Computed) The Kubernetes node group creation timestamp.
Id string
The provider-assigned unique ID for this managed resource.
InstanceGroupId string
ID of instance group that is used to manage this Kubernetes node group.
Status string
(Computed) Status of the Kubernetes node group.
VersionInfo KubernetesNodeGroupVersionInfo
Information about Kubernetes node group version. The structure is documented below.
CreatedAt string
(Computed) The Kubernetes node group creation timestamp.
Id string
The provider-assigned unique ID for this managed resource.
InstanceGroupId string
ID of instance group that is used to manage this Kubernetes node group.
Status string
(Computed) Status of the Kubernetes node group.
VersionInfo KubernetesNodeGroupVersionInfo
Information about Kubernetes node group version. The structure is documented below.
createdAt string
(Computed) The Kubernetes node group creation timestamp.
id string
The provider-assigned unique ID for this managed resource.
instanceGroupId string
ID of instance group that is used to manage this Kubernetes node group.
status string
(Computed) Status of the Kubernetes node group.
versionInfo KubernetesNodeGroupVersionInfo
Information about Kubernetes node group version. The structure is documented below.
created_at str
(Computed) The Kubernetes node group creation timestamp.
id str
The provider-assigned unique ID for this managed resource.
instance_group_id str
ID of instance group that is used to manage this Kubernetes node group.
status str
(Computed) Status of the Kubernetes node group.
version_info KubernetesNodeGroupVersionInfo
Information about Kubernetes node group version. The structure is documented below.

Look up an Existing KubernetesNodeGroup Resource

Get an existing KubernetesNodeGroup resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: KubernetesNodeGroupState, opts?: CustomResourceOptions): KubernetesNodeGroup
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        allocation_policy: Optional[KubernetesNodeGroupAllocationPolicyArgs] = None,
        allowed_unsafe_sysctls: Optional[Sequence[str]] = None,
        cluster_id: Optional[str] = None,
        created_at: Optional[str] = None,
        deploy_policy: Optional[KubernetesNodeGroupDeployPolicyArgs] = None,
        description: Optional[str] = None,
        instance_group_id: Optional[str] = None,
        instance_template: Optional[KubernetesNodeGroupInstanceTemplateArgs] = None,
        labels: Optional[Mapping[str, str]] = None,
        maintenance_policy: Optional[KubernetesNodeGroupMaintenancePolicyArgs] = None,
        name: Optional[str] = None,
        node_labels: Optional[Mapping[str, str]] = None,
        node_taints: Optional[Sequence[str]] = None,
        scale_policy: Optional[KubernetesNodeGroupScalePolicyArgs] = None,
        status: Optional[str] = None,
        version: Optional[str] = None,
        version_info: Optional[KubernetesNodeGroupVersionInfoArgs] = None) -> KubernetesNodeGroup
func GetKubernetesNodeGroup(ctx *Context, name string, id IDInput, state *KubernetesNodeGroupState, opts ...ResourceOption) (*KubernetesNodeGroup, error)
public static KubernetesNodeGroup Get(string name, Input<string> id, KubernetesNodeGroupState? state, CustomResourceOptions? opts = null)
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.

The following state arguments are supported:

AllocationPolicy KubernetesNodeGroupAllocationPolicyArgs
This argument specify subnets (zones), that will be used by node group compute instances. The structure is documented below.
AllowedUnsafeSysctls List<string>
A list of allowed unsafe sysctl parameters for this node group. For more details see documentation.
ClusterId string
The ID of the Kubernetes cluster that this node group belongs to.
CreatedAt string
(Computed) The Kubernetes node group creation timestamp.
DeployPolicy KubernetesNodeGroupDeployPolicyArgs
Deploy policy of the node group. The structure is documented below.
Description string
A description of the Kubernetes node group.
InstanceGroupId string
ID of instance group that is used to manage this Kubernetes node group.
InstanceTemplate KubernetesNodeGroupInstanceTemplateArgs
Template used to create compute instances in this Kubernetes node group. The structure is documented below.
Labels Dictionary<string, string>
A set of key/value label pairs assigned to the Kubernetes node group.
MaintenancePolicy KubernetesNodeGroupMaintenancePolicyArgs
(Computed) Maintenance policy for this Kubernetes node group. If policy is omitted, automatic revision upgrades are enabled and could happen at any time. Revision upgrades are performed only within the same minor version, e.g. 1.13. Minor version upgrades (e.g. 1.13->1.14) should be performed manually. The structure is documented below.
Name string
Name of a specific Kubernetes node group.
NodeLabels Dictionary<string, string>
A set of key/value label pairs, that are assigned to all the nodes of this Kubernetes node group.
NodeTaints List<string>
A list of Kubernetes taints, that are applied to all the nodes of this Kubernetes node group.
ScalePolicy KubernetesNodeGroupScalePolicyArgs
Scale policy of the node group. The structure is documented below.
Status string
(Computed) Status of the Kubernetes node group.
Version string
Version of Kubernetes that will be used for Kubernetes node group.
VersionInfo KubernetesNodeGroupVersionInfoArgs
Information about Kubernetes node group version. The structure is documented below.
AllocationPolicy KubernetesNodeGroupAllocationPolicyArgs
This argument specify subnets (zones), that will be used by node group compute instances. The structure is documented below.
AllowedUnsafeSysctls []string
A list of allowed unsafe sysctl parameters for this node group. For more details see documentation.
ClusterId string
The ID of the Kubernetes cluster that this node group belongs to.
CreatedAt string
(Computed) The Kubernetes node group creation timestamp.
DeployPolicy KubernetesNodeGroupDeployPolicyArgs
Deploy policy of the node group. The structure is documented below.
Description string
A description of the Kubernetes node group.
InstanceGroupId string
ID of instance group that is used to manage this Kubernetes node group.
InstanceTemplate KubernetesNodeGroupInstanceTemplateArgs
Template used to create compute instances in this Kubernetes node group. The structure is documented below.
Labels map[string]string
A set of key/value label pairs assigned to the Kubernetes node group.
MaintenancePolicy KubernetesNodeGroupMaintenancePolicyArgs
(Computed) Maintenance policy for this Kubernetes node group. If policy is omitted, automatic revision upgrades are enabled and could happen at any time. Revision upgrades are performed only within the same minor version, e.g. 1.13. Minor version upgrades (e.g. 1.13->1.14) should be performed manually. The structure is documented below.
Name string
Name of a specific Kubernetes node group.
NodeLabels map[string]string
A set of key/value label pairs, that are assigned to all the nodes of this Kubernetes node group.
NodeTaints []string
A list of Kubernetes taints, that are applied to all the nodes of this Kubernetes node group.
ScalePolicy KubernetesNodeGroupScalePolicyArgs
Scale policy of the node group. The structure is documented below.
Status string
(Computed) Status of the Kubernetes node group.
Version string
Version of Kubernetes that will be used for Kubernetes node group.
VersionInfo KubernetesNodeGroupVersionInfoArgs
Information about Kubernetes node group version. The structure is documented below.
allocationPolicy KubernetesNodeGroupAllocationPolicyArgs
This argument specify subnets (zones), that will be used by node group compute instances. The structure is documented below.
allowedUnsafeSysctls string[]
A list of allowed unsafe sysctl parameters for this node group. For more details see documentation.
clusterId string
The ID of the Kubernetes cluster that this node group belongs to.
createdAt string
(Computed) The Kubernetes node group creation timestamp.
deployPolicy KubernetesNodeGroupDeployPolicyArgs
Deploy policy of the node group. The structure is documented below.
description string
A description of the Kubernetes node group.
instanceGroupId string
ID of instance group that is used to manage this Kubernetes node group.
instanceTemplate KubernetesNodeGroupInstanceTemplateArgs
Template used to create compute instances in this Kubernetes node group. The structure is documented below.
labels {[key: string]: string}
A set of key/value label pairs assigned to the Kubernetes node group.
maintenancePolicy KubernetesNodeGroupMaintenancePolicyArgs
(Computed) Maintenance policy for this Kubernetes node group. If policy is omitted, automatic revision upgrades are enabled and could happen at any time. Revision upgrades are performed only within the same minor version, e.g. 1.13. Minor version upgrades (e.g. 1.13->1.14) should be performed manually. The structure is documented below.
name string
Name of a specific Kubernetes node group.
nodeLabels {[key: string]: string}
A set of key/value label pairs, that are assigned to all the nodes of this Kubernetes node group.
nodeTaints string[]
A list of Kubernetes taints, that are applied to all the nodes of this Kubernetes node group.
scalePolicy KubernetesNodeGroupScalePolicyArgs
Scale policy of the node group. The structure is documented below.
status string
(Computed) Status of the Kubernetes node group.
version string
Version of Kubernetes that will be used for Kubernetes node group.
versionInfo KubernetesNodeGroupVersionInfoArgs
Information about Kubernetes node group version. The structure is documented below.
allocation_policy KubernetesNodeGroupAllocationPolicyArgs
This argument specify subnets (zones), that will be used by node group compute instances. The structure is documented below.
allowed_unsafe_sysctls Sequence[str]
A list of allowed unsafe sysctl parameters for this node group. For more details see documentation.
cluster_id str
The ID of the Kubernetes cluster that this node group belongs to.
created_at str
(Computed) The Kubernetes node group creation timestamp.
deploy_policy KubernetesNodeGroupDeployPolicyArgs
Deploy policy of the node group. The structure is documented below.
description str
A description of the Kubernetes node group.
instance_group_id str
ID of instance group that is used to manage this Kubernetes node group.
instance_template KubernetesNodeGroupInstanceTemplateArgs
Template used to create compute instances in this Kubernetes node group. The structure is documented below.
labels Mapping[str, str]
A set of key/value label pairs assigned to the Kubernetes node group.
maintenance_policy KubernetesNodeGroupMaintenancePolicyArgs
(Computed) Maintenance policy for this Kubernetes node group. If policy is omitted, automatic revision upgrades are enabled and could happen at any time. Revision upgrades are performed only within the same minor version, e.g. 1.13. Minor version upgrades (e.g. 1.13->1.14) should be performed manually. The structure is documented below.
name str
Name of a specific Kubernetes node group.
node_labels Mapping[str, str]
A set of key/value label pairs, that are assigned to all the nodes of this Kubernetes node group.
node_taints Sequence[str]
A list of Kubernetes taints, that are applied to all the nodes of this Kubernetes node group.
scale_policy KubernetesNodeGroupScalePolicyArgs
Scale policy of the node group. The structure is documented below.
status str
(Computed) Status of the Kubernetes node group.
version str
Version of Kubernetes that will be used for Kubernetes node group.
version_info KubernetesNodeGroupVersionInfoArgs
Information about Kubernetes node group version. The structure is documented below.

Supporting Types

KubernetesNodeGroupAllocationPolicy

Locations List<KubernetesNodeGroupAllocationPolicyLocation>
Repeated field, that specify subnets (zones), that will be used by node group compute instances. The structure is documented below.
Locations []KubernetesNodeGroupAllocationPolicyLocation
Repeated field, that specify subnets (zones), that will be used by node group compute instances. The structure is documented below.
locations KubernetesNodeGroupAllocationPolicyLocation[]
Repeated field, that specify subnets (zones), that will be used by node group compute instances. The structure is documented below.
locations Sequence[KubernetesNodeGroupAllocationPolicyLocation]
Repeated field, that specify subnets (zones), that will be used by node group compute instances. The structure is documented below.

KubernetesNodeGroupAllocationPolicyLocation

SubnetId string
ID of the subnet, that will be used by one compute instance in node group.

Deprecated: The ‘subnet_id’ field has been deprecated. Please use ‘subnet_ids under network_interface’ instead.

Zone string
ID of the availability zone where for one compute instance in node group.
SubnetId string
ID of the subnet, that will be used by one compute instance in node group.

Deprecated: The ‘subnet_id’ field has been deprecated. Please use ‘subnet_ids under network_interface’ instead.

Zone string
ID of the availability zone where for one compute instance in node group.
subnetId string
ID of the subnet, that will be used by one compute instance in node group.

Deprecated: The ‘subnet_id’ field has been deprecated. Please use ‘subnet_ids under network_interface’ instead.

zone string
ID of the availability zone where for one compute instance in node group.
subnet_id str
ID of the subnet, that will be used by one compute instance in node group.

Deprecated: The ‘subnet_id’ field has been deprecated. Please use ‘subnet_ids under network_interface’ instead.

zone str
ID of the availability zone where for one compute instance in node group.

KubernetesNodeGroupDeployPolicy

MaxExpansion int
The maximum number of instances that can be temporarily allocated above the group’s target size during the update.
MaxUnavailable int
The maximum number of running instances that can be taken offline during update.
MaxExpansion int
The maximum number of instances that can be temporarily allocated above the group’s target size during the update.
MaxUnavailable int
The maximum number of running instances that can be taken offline during update.
maxExpansion number
The maximum number of instances that can be temporarily allocated above the group’s target size during the update.
maxUnavailable number
The maximum number of running instances that can be taken offline during update.
max_expansion int
The maximum number of instances that can be temporarily allocated above the group’s target size during the update.
max_unavailable int
The maximum number of running instances that can be taken offline during update.

KubernetesNodeGroupInstanceTemplate

BootDisk KubernetesNodeGroupInstanceTemplateBootDisk
The specifications for boot disks that will be attached to the instance. The structure is documented below.
Metadata Dictionary<string, string>

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

  • resources.0.memory - The memory size allocated to the instance.
  • resources.0.cores - Number of CPU cores allocated to the instance.
  • resources.0.core_fraction - Baseline core performance as a percent.
  • resources.0.gpus - Number of GPU cores allocated to the instance.
Nat bool
A public address that can be used to access the internet over NAT.

Deprecated: The ‘nat’ field has been deprecated. Please use ‘nat under network_interface’ instead.

NetworkAccelerationType string
Type of network acceleration. Values: standard, software_accelerated.
NetworkInterfaces List<KubernetesNodeGroupInstanceTemplateNetworkInterface>
An array with the network interfaces that will be attached to the instance. The structure is documented below.
PlacementPolicy KubernetesNodeGroupInstanceTemplatePlacementPolicy
The placement policy configuration. The structure is documented below.
PlatformId string
The ID of the hardware platform configuration for the node group compute instances.
Resources KubernetesNodeGroupInstanceTemplateResources
SchedulingPolicy KubernetesNodeGroupInstanceTemplateSchedulingPolicy
The scheduling policy for the instances in node group. The structure is documented below.
BootDisk KubernetesNodeGroupInstanceTemplateBootDisk
The specifications for boot disks that will be attached to the instance. The structure is documented below.
Metadata map[string]string

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

  • resources.0.memory - The memory size allocated to the instance.
  • resources.0.cores - Number of CPU cores allocated to the instance.
  • resources.0.core_fraction - Baseline core performance as a percent.
  • resources.0.gpus - Number of GPU cores allocated to the instance.
Nat bool
A public address that can be used to access the internet over NAT.

Deprecated: The ‘nat’ field has been deprecated. Please use ‘nat under network_interface’ instead.

NetworkAccelerationType string
Type of network acceleration. Values: standard, software_accelerated.
NetworkInterfaces []KubernetesNodeGroupInstanceTemplateNetworkInterface
An array with the network interfaces that will be attached to the instance. The structure is documented below.
PlacementPolicy KubernetesNodeGroupInstanceTemplatePlacementPolicy
The placement policy configuration. The structure is documented below.
PlatformId string
The ID of the hardware platform configuration for the node group compute instances.
Resources KubernetesNodeGroupInstanceTemplateResources
SchedulingPolicy KubernetesNodeGroupInstanceTemplateSchedulingPolicy
The scheduling policy for the instances in node group. The structure is documented below.
bootDisk KubernetesNodeGroupInstanceTemplateBootDisk
The specifications for boot disks that will be attached to the instance. The structure is documented below.
metadata {[key: string]: string}

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

  • resources.0.memory - The memory size allocated to the instance.
  • resources.0.cores - Number of CPU cores allocated to the instance.
  • resources.0.core_fraction - Baseline core performance as a percent.
  • resources.0.gpus - Number of GPU cores allocated to the instance.
nat boolean
A public address that can be used to access the internet over NAT.

Deprecated: The ‘nat’ field has been deprecated. Please use ‘nat under network_interface’ instead.

networkAccelerationType string
Type of network acceleration. Values: standard, software_accelerated.
networkInterfaces KubernetesNodeGroupInstanceTemplateNetworkInterface[]
An array with the network interfaces that will be attached to the instance. The structure is documented below.
placementPolicy KubernetesNodeGroupInstanceTemplatePlacementPolicy
The placement policy configuration. The structure is documented below.
platformId string
The ID of the hardware platform configuration for the node group compute instances.
resources KubernetesNodeGroupInstanceTemplateResources
schedulingPolicy KubernetesNodeGroupInstanceTemplateSchedulingPolicy
The scheduling policy for the instances in node group. The structure is documented below.
boot_disk KubernetesNodeGroupInstanceTemplateBootDisk
The specifications for boot disks that will be attached to the instance. The structure is documented below.
metadata Mapping[str, str]

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

  • resources.0.memory - The memory size allocated to the instance.
  • resources.0.cores - Number of CPU cores allocated to the instance.
  • resources.0.core_fraction - Baseline core performance as a percent.
  • resources.0.gpus - Number of GPU cores allocated to the instance.
nat bool
A public address that can be used to access the internet over NAT.

Deprecated: The ‘nat’ field has been deprecated. Please use ‘nat under network_interface’ instead.

network_acceleration_type str
Type of network acceleration. Values: standard, software_accelerated.
network_interfaces Sequence[KubernetesNodeGroupInstanceTemplateNetworkInterface]
An array with the network interfaces that will be attached to the instance. The structure is documented below.
placement_policy KubernetesNodeGroupInstanceTemplatePlacementPolicy
The placement policy configuration. The structure is documented below.
platform_id str
The ID of the hardware platform configuration for the node group compute instances.
resources KubernetesNodeGroupInstanceTemplateResources
scheduling_policy KubernetesNodeGroupInstanceTemplateSchedulingPolicy
The scheduling policy for the instances in node group. The structure is documented below.

KubernetesNodeGroupInstanceTemplateBootDisk

Size int
The number of instances in the node group.
Type string
The disk type.
Size int
The number of instances in the node group.
Type string
The disk type.
size number
The number of instances in the node group.
type string
The disk type.
size int
The number of instances in the node group.
type str
The disk type.

KubernetesNodeGroupInstanceTemplateNetworkInterface

SubnetIds List<string>
The IDs of the subnets.
Ipv4 bool
Allocate an IPv4 address for the interface. The default value is true.
Ipv6 bool
If true, allocate an IPv6 address for the interface. The address will be automatically assigned from the specified subnet.
Nat bool
A public address that can be used to access the internet over NAT.
SecurityGroupIds List<string>
Security group ids for network interface.
SubnetIds []string
The IDs of the subnets.
Ipv4 bool
Allocate an IPv4 address for the interface. The default value is true.
Ipv6 bool
If true, allocate an IPv6 address for the interface. The address will be automatically assigned from the specified subnet.
Nat bool
A public address that can be used to access the internet over NAT.
SecurityGroupIds []string
Security group ids for network interface.
subnetIds string[]
The IDs of the subnets.
ipv4 boolean
Allocate an IPv4 address for the interface. The default value is true.
ipv6 boolean
If true, allocate an IPv6 address for the interface. The address will be automatically assigned from the specified subnet.
nat boolean
A public address that can be used to access the internet over NAT.
securityGroupIds string[]
Security group ids for network interface.
subnet_ids Sequence[str]
The IDs of the subnets.
ipv4 bool
Allocate an IPv4 address for the interface. The default value is true.
ipv6 bool
If true, allocate an IPv6 address for the interface. The address will be automatically assigned from the specified subnet.
nat bool
A public address that can be used to access the internet over NAT.
security_group_ids Sequence[str]
Security group ids for network interface.

KubernetesNodeGroupInstanceTemplatePlacementPolicy

PlacementGroupId string
Specifies the id of the Placement Group to assign to the instances.
PlacementGroupId string
Specifies the id of the Placement Group to assign to the instances.
placementGroupId string
Specifies the id of the Placement Group to assign to the instances.
placement_group_id str
Specifies the id of the Placement Group to assign to the instances.

KubernetesNodeGroupInstanceTemplateResources

CoreFraction int
Cores int
Gpus int
Memory double
CoreFraction int
Cores int
Gpus int
Memory float64
coreFraction number
cores number
gpus number
memory number

KubernetesNodeGroupInstanceTemplateSchedulingPolicy

Preemptible bool

Specifies if the instance is preemptible. Defaults to false.

Preemptible bool

Specifies if the instance is preemptible. Defaults to false.

preemptible boolean

Specifies if the instance is preemptible. Defaults to false.

preemptible bool

Specifies if the instance is preemptible. Defaults to false.

KubernetesNodeGroupMaintenancePolicy

AutoRepair bool
Boolean flag that specifies if node group can be repaired automatically. When omitted, default value is TRUE.
AutoUpgrade bool
Boolean flag that specifies if node group can be upgraded automatically. When omitted, default value is TRUE.
MaintenanceWindows List<KubernetesNodeGroupMaintenancePolicyMaintenanceWindow>
(Computed) Set of day intervals, when maintenance is allowed for this node group. When omitted, it defaults to any time.
AutoRepair bool
Boolean flag that specifies if node group can be repaired automatically. When omitted, default value is TRUE.
AutoUpgrade bool
Boolean flag that specifies if node group can be upgraded automatically. When omitted, default value is TRUE.
MaintenanceWindows []KubernetesNodeGroupMaintenancePolicyMaintenanceWindow
(Computed) Set of day intervals, when maintenance is allowed for this node group. When omitted, it defaults to any time.
autoRepair boolean
Boolean flag that specifies if node group can be repaired automatically. When omitted, default value is TRUE.
autoUpgrade boolean
Boolean flag that specifies if node group can be upgraded automatically. When omitted, default value is TRUE.
maintenanceWindows KubernetesNodeGroupMaintenancePolicyMaintenanceWindow[]
(Computed) Set of day intervals, when maintenance is allowed for this node group. When omitted, it defaults to any time.
auto_repair bool
Boolean flag that specifies if node group can be repaired automatically. When omitted, default value is TRUE.
auto_upgrade bool
Boolean flag that specifies if node group can be upgraded automatically. When omitted, default value is TRUE.
maintenance_windows Sequence[KubernetesNodeGroupMaintenancePolicyMaintenanceWindow]
(Computed) Set of day intervals, when maintenance is allowed for this node group. When omitted, it defaults to any time.

KubernetesNodeGroupMaintenancePolicyMaintenanceWindow

Duration string
StartTime string
Day string
Duration string
StartTime string
Day string
duration string
startTime string
day string

KubernetesNodeGroupScalePolicy

AutoScale KubernetesNodeGroupScalePolicyAutoScale
Scale policy for an autoscaled node group. The structure is documented below.
FixedScale KubernetesNodeGroupScalePolicyFixedScale
Scale policy for a fixed scale node group. The structure is documented below.
AutoScale KubernetesNodeGroupScalePolicyAutoScale
Scale policy for an autoscaled node group. The structure is documented below.
FixedScale KubernetesNodeGroupScalePolicyFixedScale
Scale policy for a fixed scale node group. The structure is documented below.
autoScale KubernetesNodeGroupScalePolicyAutoScale
Scale policy for an autoscaled node group. The structure is documented below.
fixedScale KubernetesNodeGroupScalePolicyFixedScale
Scale policy for a fixed scale node group. The structure is documented below.
auto_scale KubernetesNodeGroupScalePolicyAutoScale
Scale policy for an autoscaled node group. The structure is documented below.
fixed_scale KubernetesNodeGroupScalePolicyFixedScale
Scale policy for a fixed scale node group. The structure is documented below.

KubernetesNodeGroupScalePolicyAutoScale

Initial int
Initial number of instances in the node group.
Max int
Maximum number of instances in the node group.
Min int
Minimum number of instances in the node group.
Initial int
Initial number of instances in the node group.
Max int
Maximum number of instances in the node group.
Min int
Minimum number of instances in the node group.
initial number
Initial number of instances in the node group.
max number
Maximum number of instances in the node group.
min number
Minimum number of instances in the node group.
initial int
Initial number of instances in the node group.
max int
Maximum number of instances in the node group.
min int
Minimum number of instances in the node group.

KubernetesNodeGroupScalePolicyFixedScale

Size int
The number of instances in the node group.
Size int
The number of instances in the node group.
size number
The number of instances in the node group.
size int
The number of instances in the node group.

KubernetesNodeGroupVersionInfo

CurrentVersion string
Current Kubernetes version, major.minor (e.g. 1.15).
NewRevisionAvailable bool
True/false flag. 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.
NewRevisionSummary string
Human readable description of the changes to be applied when updating to the latest revision. Empty if new_revision_available is false.
VersionDeprecated bool
True/false flag. The current version is on the deprecation schedule, component (master or node group) should be upgraded.
CurrentVersion string
Current Kubernetes version, major.minor (e.g. 1.15).
NewRevisionAvailable bool
True/false flag. 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.
NewRevisionSummary string
Human readable description of the changes to be applied when updating to the latest revision. Empty if new_revision_available is false.
VersionDeprecated bool
True/false flag. The current version is on the deprecation schedule, component (master or node group) should be upgraded.
currentVersion string
Current Kubernetes version, major.minor (e.g. 1.15).
newRevisionAvailable boolean
True/false flag. 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.
newRevisionSummary string
Human readable description of the changes to be applied when updating to the latest revision. Empty if new_revision_available is false.
versionDeprecated boolean
True/false flag. The current version is on the deprecation schedule, component (master or node group) should be upgraded.
current_version str
Current Kubernetes version, major.minor (e.g. 1.15).
new_revision_available bool
True/false flag. 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.
new_revision_summary str
Human readable description of the changes to be applied when updating to the latest revision. Empty if new_revision_available is false.
version_deprecated bool
True/false flag. The current version is on the deprecation schedule, component (master or node group) should be upgraded.

Import

A Yandex Kubernetes Node Group can be imported using the id of the resource, e.g.

 $ pulumi import yandex:index/kubernetesNodeGroup:KubernetesNodeGroup default node_group_id

Package Details

Repository
https://github.com/pulumi/pulumi-yandex
License
Apache-2.0
Notes
This Pulumi package is based on the yandex Terraform Provider.