1. Packages
  2. AWS Cloud Control
  3. API Docs
  4. eks
  5. Nodegroup

We recommend new projects start with resources from the AWS provider.

AWS Cloud Control v1.27.0 published on Monday, Apr 14, 2025 by Pulumi

aws-native.eks.Nodegroup

Explore with Pulumi AI

We recommend new projects start with resources from the AWS provider.

AWS Cloud Control v1.27.0 published on Monday, Apr 14, 2025 by Pulumi

Resource schema for AWS::EKS::Nodegroup

Example Usage

Example

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AwsNative = Pulumi.AwsNative;

return await Deployment.RunAsync(() => 
{
    var eksNodegroup = new AwsNative.Eks.Nodegroup("eksNodegroup", new()
    {
        ClusterName = "prod",
        NodeRole = "arn:aws:iam::012345678910:role/eksInstanceRole",
        ScalingConfig = new AwsNative.Eks.Inputs.NodegroupScalingConfigArgs
        {
            MinSize = 3,
            DesiredSize = 5,
            MaxSize = 7,
        },
        Labels = 
        {
            { "key1", "Value1" },
            { "key2", "Value2" },
        },
        Subnets = new[]
        {
            "subnet-6782e71e",
            "subnet-e7e761ac",
        },
    });

});
Copy
package main

import (
	"github.com/pulumi/pulumi-aws-native/sdk/go/aws/eks"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := eks.NewNodegroup(ctx, "eksNodegroup", &eks.NodegroupArgs{
			ClusterName: pulumi.String("prod"),
			NodeRole:    pulumi.String("arn:aws:iam::012345678910:role/eksInstanceRole"),
			ScalingConfig: &eks.NodegroupScalingConfigArgs{
				MinSize:     pulumi.Int(3),
				DesiredSize: pulumi.Int(5),
				MaxSize:     pulumi.Int(7),
			},
			Labels: pulumi.StringMap{
				"key1": pulumi.String("Value1"),
				"key2": pulumi.String("Value2"),
			},
			Subnets: pulumi.StringArray{
				pulumi.String("subnet-6782e71e"),
				pulumi.String("subnet-e7e761ac"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy

Coming soon!

import * as pulumi from "@pulumi/pulumi";
import * as aws_native from "@pulumi/aws-native";

const eksNodegroup = new aws_native.eks.Nodegroup("eksNodegroup", {
    clusterName: "prod",
    nodeRole: "arn:aws:iam::012345678910:role/eksInstanceRole",
    scalingConfig: {
        minSize: 3,
        desiredSize: 5,
        maxSize: 7,
    },
    labels: {
        key1: "Value1",
        key2: "Value2",
    },
    subnets: [
        "subnet-6782e71e",
        "subnet-e7e761ac",
    ],
});
Copy
import pulumi
import pulumi_aws_native as aws_native

eks_nodegroup = aws_native.eks.Nodegroup("eksNodegroup",
    cluster_name="prod",
    node_role="arn:aws:iam::012345678910:role/eksInstanceRole",
    scaling_config={
        "min_size": 3,
        "desired_size": 5,
        "max_size": 7,
    },
    labels={
        "key1": "Value1",
        "key2": "Value2",
    },
    subnets=[
        "subnet-6782e71e",
        "subnet-e7e761ac",
    ])
Copy

Coming soon!

Example

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AwsNative = Pulumi.AwsNative;

return await Deployment.RunAsync(() => 
{
    var eksNodegroup = new AwsNative.Eks.Nodegroup("eksNodegroup", new()
    {
        ClusterName = "prod",
        NodeRole = "arn:aws:iam::012345678910:role/eksInstanceRole",
        ScalingConfig = new AwsNative.Eks.Inputs.NodegroupScalingConfigArgs
        {
            MinSize = 3,
            DesiredSize = 5,
            MaxSize = 7,
        },
        Labels = 
        {
            { "key1", "Value1" },
            { "key2", "Value2" },
        },
        Subnets = new[]
        {
            "subnet-6782e71e",
            "subnet-e7e761ac",
        },
    });

});
Copy
package main

import (
	"github.com/pulumi/pulumi-aws-native/sdk/go/aws/eks"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := eks.NewNodegroup(ctx, "eksNodegroup", &eks.NodegroupArgs{
			ClusterName: pulumi.String("prod"),
			NodeRole:    pulumi.String("arn:aws:iam::012345678910:role/eksInstanceRole"),
			ScalingConfig: &eks.NodegroupScalingConfigArgs{
				MinSize:     pulumi.Int(3),
				DesiredSize: pulumi.Int(5),
				MaxSize:     pulumi.Int(7),
			},
			Labels: pulumi.StringMap{
				"key1": pulumi.String("Value1"),
				"key2": pulumi.String("Value2"),
			},
			Subnets: pulumi.StringArray{
				pulumi.String("subnet-6782e71e"),
				pulumi.String("subnet-e7e761ac"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy

Coming soon!

import * as pulumi from "@pulumi/pulumi";
import * as aws_native from "@pulumi/aws-native";

const eksNodegroup = new aws_native.eks.Nodegroup("eksNodegroup", {
    clusterName: "prod",
    nodeRole: "arn:aws:iam::012345678910:role/eksInstanceRole",
    scalingConfig: {
        minSize: 3,
        desiredSize: 5,
        maxSize: 7,
    },
    labels: {
        key1: "Value1",
        key2: "Value2",
    },
    subnets: [
        "subnet-6782e71e",
        "subnet-e7e761ac",
    ],
});
Copy
import pulumi
import pulumi_aws_native as aws_native

eks_nodegroup = aws_native.eks.Nodegroup("eksNodegroup",
    cluster_name="prod",
    node_role="arn:aws:iam::012345678910:role/eksInstanceRole",
    scaling_config={
        "min_size": 3,
        "desired_size": 5,
        "max_size": 7,
    },
    labels={
        "key1": "Value1",
        "key2": "Value2",
    },
    subnets=[
        "subnet-6782e71e",
        "subnet-e7e761ac",
    ])
Copy

Coming soon!

Create Nodegroup Resource

Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

Constructor syntax

new Nodegroup(name: string, args: NodegroupArgs, opts?: CustomResourceOptions);
@overload
def Nodegroup(resource_name: str,
              args: NodegroupArgs,
              opts: Optional[ResourceOptions] = None)

@overload
def Nodegroup(resource_name: str,
              opts: Optional[ResourceOptions] = None,
              node_role: Optional[str] = None,
              subnets: Optional[Sequence[str]] = None,
              cluster_name: Optional[str] = None,
              node_repair_config: Optional[NodegroupNodeRepairConfigArgs] = None,
              nodegroup_name: Optional[str] = None,
              instance_types: Optional[Sequence[str]] = None,
              labels: Optional[Mapping[str, str]] = None,
              launch_template: Optional[NodegroupLaunchTemplateSpecificationArgs] = None,
              ami_type: Optional[str] = None,
              disk_size: Optional[int] = None,
              force_update_enabled: Optional[bool] = None,
              release_version: Optional[str] = None,
              remote_access: Optional[NodegroupRemoteAccessArgs] = None,
              scaling_config: Optional[NodegroupScalingConfigArgs] = None,
              capacity_type: Optional[str] = None,
              tags: Optional[Mapping[str, str]] = None,
              taints: Optional[Sequence[NodegroupTaintArgs]] = None,
              update_config: Optional[NodegroupUpdateConfigArgs] = None,
              version: Optional[str] = None)
func NewNodegroup(ctx *Context, name string, args NodegroupArgs, opts ...ResourceOption) (*Nodegroup, error)
public Nodegroup(string name, NodegroupArgs args, CustomResourceOptions? opts = null)
public Nodegroup(String name, NodegroupArgs args)
public Nodegroup(String name, NodegroupArgs args, CustomResourceOptions options)
type: aws-native:eks:Nodegroup
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args This property is required. NodegroupArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. NodegroupArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args This property is required. NodegroupArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. NodegroupArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. NodegroupArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

Nodegroup Resource Properties

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

Inputs

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The Nodegroup resource accepts the following input properties:

ClusterName This property is required. string
Name of the cluster to create the node group in.
NodeRole This property is required. string
The Amazon Resource Name (ARN) of the IAM role to associate with your node group.
Subnets This property is required. List<string>
The subnets to use for the Auto Scaling group that is created for your node group.
AmiType string
The AMI type for your node group.
CapacityType string
The capacity type of your managed node group.
DiskSize int
The root device disk size (in GiB) for your node group instances.
ForceUpdateEnabled bool
Force the update if the existing node group's pods are unable to be drained due to a pod disruption budget issue.
InstanceTypes List<string>
Specify the instance types for a node group.
Labels Dictionary<string, string>
The Kubernetes labels to be applied to the nodes in the node group when they are created.
LaunchTemplate Pulumi.AwsNative.Eks.Inputs.NodegroupLaunchTemplateSpecification
An object representing a node group's launch template specification.
NodeRepairConfig Pulumi.AwsNative.Eks.Inputs.NodegroupNodeRepairConfig
The node auto repair configuration for node group.
NodegroupName string
The unique name to give your node group.
ReleaseVersion string
The AMI version of the Amazon EKS-optimized AMI to use with your node group.
RemoteAccess Pulumi.AwsNative.Eks.Inputs.NodegroupRemoteAccess
The remote access (SSH) configuration to use with your node group.
ScalingConfig Pulumi.AwsNative.Eks.Inputs.NodegroupScalingConfig
The scaling configuration details for the Auto Scaling group that is created for your node group.
Tags Dictionary<string, string>
The metadata, as key-value pairs, to apply to the node group to assist with categorization and organization. Follows same schema as Labels for consistency.
Taints List<Pulumi.AwsNative.Eks.Inputs.NodegroupTaint>
The Kubernetes taints to be applied to the nodes in the node group when they are created.
UpdateConfig Pulumi.AwsNative.Eks.Inputs.NodegroupUpdateConfig
The node group update configuration.
Version string
The Kubernetes version to use for your managed nodes.
ClusterName This property is required. string
Name of the cluster to create the node group in.
NodeRole This property is required. string
The Amazon Resource Name (ARN) of the IAM role to associate with your node group.
Subnets This property is required. []string
The subnets to use for the Auto Scaling group that is created for your node group.
AmiType string
The AMI type for your node group.
CapacityType string
The capacity type of your managed node group.
DiskSize int
The root device disk size (in GiB) for your node group instances.
ForceUpdateEnabled bool
Force the update if the existing node group's pods are unable to be drained due to a pod disruption budget issue.
InstanceTypes []string
Specify the instance types for a node group.
Labels map[string]string
The Kubernetes labels to be applied to the nodes in the node group when they are created.
LaunchTemplate NodegroupLaunchTemplateSpecificationArgs
An object representing a node group's launch template specification.
NodeRepairConfig NodegroupNodeRepairConfigArgs
The node auto repair configuration for node group.
NodegroupName string
The unique name to give your node group.
ReleaseVersion string
The AMI version of the Amazon EKS-optimized AMI to use with your node group.
RemoteAccess NodegroupRemoteAccessArgs
The remote access (SSH) configuration to use with your node group.
ScalingConfig NodegroupScalingConfigArgs
The scaling configuration details for the Auto Scaling group that is created for your node group.
Tags map[string]string
The metadata, as key-value pairs, to apply to the node group to assist with categorization and organization. Follows same schema as Labels for consistency.
Taints []NodegroupTaintArgs
The Kubernetes taints to be applied to the nodes in the node group when they are created.
UpdateConfig NodegroupUpdateConfigArgs
The node group update configuration.
Version string
The Kubernetes version to use for your managed nodes.
clusterName This property is required. String
Name of the cluster to create the node group in.
nodeRole This property is required. String
The Amazon Resource Name (ARN) of the IAM role to associate with your node group.
subnets This property is required. List<String>
The subnets to use for the Auto Scaling group that is created for your node group.
amiType String
The AMI type for your node group.
capacityType String
The capacity type of your managed node group.
diskSize Integer
The root device disk size (in GiB) for your node group instances.
forceUpdateEnabled Boolean
Force the update if the existing node group's pods are unable to be drained due to a pod disruption budget issue.
instanceTypes List<String>
Specify the instance types for a node group.
labels Map<String,String>
The Kubernetes labels to be applied to the nodes in the node group when they are created.
launchTemplate NodegroupLaunchTemplateSpecification
An object representing a node group's launch template specification.
nodeRepairConfig NodegroupNodeRepairConfig
The node auto repair configuration for node group.
nodegroupName String
The unique name to give your node group.
releaseVersion String
The AMI version of the Amazon EKS-optimized AMI to use with your node group.
remoteAccess NodegroupRemoteAccess
The remote access (SSH) configuration to use with your node group.
scalingConfig NodegroupScalingConfig
The scaling configuration details for the Auto Scaling group that is created for your node group.
tags Map<String,String>
The metadata, as key-value pairs, to apply to the node group to assist with categorization and organization. Follows same schema as Labels for consistency.
taints List<NodegroupTaint>
The Kubernetes taints to be applied to the nodes in the node group when they are created.
updateConfig NodegroupUpdateConfig
The node group update configuration.
version String
The Kubernetes version to use for your managed nodes.
clusterName This property is required. string
Name of the cluster to create the node group in.
nodeRole This property is required. string
The Amazon Resource Name (ARN) of the IAM role to associate with your node group.
subnets This property is required. string[]
The subnets to use for the Auto Scaling group that is created for your node group.
amiType string
The AMI type for your node group.
capacityType string
The capacity type of your managed node group.
diskSize number
The root device disk size (in GiB) for your node group instances.
forceUpdateEnabled boolean
Force the update if the existing node group's pods are unable to be drained due to a pod disruption budget issue.
instanceTypes string[]
Specify the instance types for a node group.
labels {[key: string]: string}
The Kubernetes labels to be applied to the nodes in the node group when they are created.
launchTemplate NodegroupLaunchTemplateSpecification
An object representing a node group's launch template specification.
nodeRepairConfig NodegroupNodeRepairConfig
The node auto repair configuration for node group.
nodegroupName string
The unique name to give your node group.
releaseVersion string
The AMI version of the Amazon EKS-optimized AMI to use with your node group.
remoteAccess NodegroupRemoteAccess
The remote access (SSH) configuration to use with your node group.
scalingConfig NodegroupScalingConfig
The scaling configuration details for the Auto Scaling group that is created for your node group.
tags {[key: string]: string}
The metadata, as key-value pairs, to apply to the node group to assist with categorization and organization. Follows same schema as Labels for consistency.
taints NodegroupTaint[]
The Kubernetes taints to be applied to the nodes in the node group when they are created.
updateConfig NodegroupUpdateConfig
The node group update configuration.
version string
The Kubernetes version to use for your managed nodes.
cluster_name This property is required. str
Name of the cluster to create the node group in.
node_role This property is required. str
The Amazon Resource Name (ARN) of the IAM role to associate with your node group.
subnets This property is required. Sequence[str]
The subnets to use for the Auto Scaling group that is created for your node group.
ami_type str
The AMI type for your node group.
capacity_type str
The capacity type of your managed node group.
disk_size int
The root device disk size (in GiB) for your node group instances.
force_update_enabled bool
Force the update if the existing node group's pods are unable to be drained due to a pod disruption budget issue.
instance_types Sequence[str]
Specify the instance types for a node group.
labels Mapping[str, str]
The Kubernetes labels to be applied to the nodes in the node group when they are created.
launch_template NodegroupLaunchTemplateSpecificationArgs
An object representing a node group's launch template specification.
node_repair_config NodegroupNodeRepairConfigArgs
The node auto repair configuration for node group.
nodegroup_name str
The unique name to give your node group.
release_version str
The AMI version of the Amazon EKS-optimized AMI to use with your node group.
remote_access NodegroupRemoteAccessArgs
The remote access (SSH) configuration to use with your node group.
scaling_config NodegroupScalingConfigArgs
The scaling configuration details for the Auto Scaling group that is created for your node group.
tags Mapping[str, str]
The metadata, as key-value pairs, to apply to the node group to assist with categorization and organization. Follows same schema as Labels for consistency.
taints Sequence[NodegroupTaintArgs]
The Kubernetes taints to be applied to the nodes in the node group when they are created.
update_config NodegroupUpdateConfigArgs
The node group update configuration.
version str
The Kubernetes version to use for your managed nodes.
clusterName This property is required. String
Name of the cluster to create the node group in.
nodeRole This property is required. String
The Amazon Resource Name (ARN) of the IAM role to associate with your node group.
subnets This property is required. List<String>
The subnets to use for the Auto Scaling group that is created for your node group.
amiType String
The AMI type for your node group.
capacityType String
The capacity type of your managed node group.
diskSize Number
The root device disk size (in GiB) for your node group instances.
forceUpdateEnabled Boolean
Force the update if the existing node group's pods are unable to be drained due to a pod disruption budget issue.
instanceTypes List<String>
Specify the instance types for a node group.
labels Map<String>
The Kubernetes labels to be applied to the nodes in the node group when they are created.
launchTemplate Property Map
An object representing a node group's launch template specification.
nodeRepairConfig Property Map
The node auto repair configuration for node group.
nodegroupName String
The unique name to give your node group.
releaseVersion String
The AMI version of the Amazon EKS-optimized AMI to use with your node group.
remoteAccess Property Map
The remote access (SSH) configuration to use with your node group.
scalingConfig Property Map
The scaling configuration details for the Auto Scaling group that is created for your node group.
tags Map<String>
The metadata, as key-value pairs, to apply to the node group to assist with categorization and organization. Follows same schema as Labels for consistency.
taints List<Property Map>
The Kubernetes taints to be applied to the nodes in the node group when they are created.
updateConfig Property Map
The node group update configuration.
version String
The Kubernetes version to use for your managed nodes.

Outputs

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

Arn string
The Amazon Resource Name (ARN) associated with the managed node group.
AwsId string
Id string
The provider-assigned unique ID for this managed resource.
Arn string
The Amazon Resource Name (ARN) associated with the managed node group.
AwsId string
Id string
The provider-assigned unique ID for this managed resource.
arn String
The Amazon Resource Name (ARN) associated with the managed node group.
awsId String
id String
The provider-assigned unique ID for this managed resource.
arn string
The Amazon Resource Name (ARN) associated with the managed node group.
awsId string
id string
The provider-assigned unique ID for this managed resource.
arn str
The Amazon Resource Name (ARN) associated with the managed node group.
aws_id str
id str
The provider-assigned unique ID for this managed resource.
arn String
The Amazon Resource Name (ARN) associated with the managed node group.
awsId String
id String
The provider-assigned unique ID for this managed resource.

Supporting Types

NodegroupLaunchTemplateSpecification
, NodegroupLaunchTemplateSpecificationArgs

Id string

The ID of the launch template.

You must specify either the launch template ID or the launch template name in the request, but not both. After node group creation, you cannot use a different ID.

Name string

The name of the launch template.

You must specify either the launch template name or the launch template ID in the request, but not both. After node group creation, you cannot use a different name.

Version string
The version number of the launch template to use. If no version is specified, then the template's default version is used. You can use a different version for node group updates.
Id string

The ID of the launch template.

You must specify either the launch template ID or the launch template name in the request, but not both. After node group creation, you cannot use a different ID.

Name string

The name of the launch template.

You must specify either the launch template name or the launch template ID in the request, but not both. After node group creation, you cannot use a different name.

Version string
The version number of the launch template to use. If no version is specified, then the template's default version is used. You can use a different version for node group updates.
id String

The ID of the launch template.

You must specify either the launch template ID or the launch template name in the request, but not both. After node group creation, you cannot use a different ID.

name String

The name of the launch template.

You must specify either the launch template name or the launch template ID in the request, but not both. After node group creation, you cannot use a different name.

version String
The version number of the launch template to use. If no version is specified, then the template's default version is used. You can use a different version for node group updates.
id string

The ID of the launch template.

You must specify either the launch template ID or the launch template name in the request, but not both. After node group creation, you cannot use a different ID.

name string

The name of the launch template.

You must specify either the launch template name or the launch template ID in the request, but not both. After node group creation, you cannot use a different name.

version string
The version number of the launch template to use. If no version is specified, then the template's default version is used. You can use a different version for node group updates.
id str

The ID of the launch template.

You must specify either the launch template ID or the launch template name in the request, but not both. After node group creation, you cannot use a different ID.

name str

The name of the launch template.

You must specify either the launch template name or the launch template ID in the request, but not both. After node group creation, you cannot use a different name.

version str
The version number of the launch template to use. If no version is specified, then the template's default version is used. You can use a different version for node group updates.
id String

The ID of the launch template.

You must specify either the launch template ID or the launch template name in the request, but not both. After node group creation, you cannot use a different ID.

name String

The name of the launch template.

You must specify either the launch template name or the launch template ID in the request, but not both. After node group creation, you cannot use a different name.

version String
The version number of the launch template to use. If no version is specified, then the template's default version is used. You can use a different version for node group updates.

NodegroupNodeRepairConfig
, NodegroupNodeRepairConfigArgs

Enabled bool
Set this value to true to enable node auto repair for the node group.
Enabled bool
Set this value to true to enable node auto repair for the node group.
enabled Boolean
Set this value to true to enable node auto repair for the node group.
enabled boolean
Set this value to true to enable node auto repair for the node group.
enabled bool
Set this value to true to enable node auto repair for the node group.
enabled Boolean
Set this value to true to enable node auto repair for the node group.

NodegroupRemoteAccess
, NodegroupRemoteAccessArgs

Ec2SshKey This property is required. string
The Amazon EC2 SSH key name that provides access for SSH communication with the nodes in the managed node group. For more information, see Amazon EC2 key pairs and Linux instances in the Amazon Elastic Compute Cloud User Guide for Linux Instances . For Windows, an Amazon EC2 SSH key is used to obtain the RDP password. For more information, see Amazon EC2 key pairs and Windows instances in the Amazon Elastic Compute Cloud User Guide for Windows Instances .
SourceSecurityGroups List<string>
The security group IDs that are allowed SSH access (port 22) to the nodes. For Windows, the port is 3389. If you specify an Amazon EC2 SSH key but don't specify a source security group when you create a managed node group, then the port on the nodes is opened to the internet ( 0.0.0.0/0 ). For more information, see Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide .
Ec2SshKey This property is required. string
The Amazon EC2 SSH key name that provides access for SSH communication with the nodes in the managed node group. For more information, see Amazon EC2 key pairs and Linux instances in the Amazon Elastic Compute Cloud User Guide for Linux Instances . For Windows, an Amazon EC2 SSH key is used to obtain the RDP password. For more information, see Amazon EC2 key pairs and Windows instances in the Amazon Elastic Compute Cloud User Guide for Windows Instances .
SourceSecurityGroups []string
The security group IDs that are allowed SSH access (port 22) to the nodes. For Windows, the port is 3389. If you specify an Amazon EC2 SSH key but don't specify a source security group when you create a managed node group, then the port on the nodes is opened to the internet ( 0.0.0.0/0 ). For more information, see Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide .
ec2SshKey This property is required. String
The Amazon EC2 SSH key name that provides access for SSH communication with the nodes in the managed node group. For more information, see Amazon EC2 key pairs and Linux instances in the Amazon Elastic Compute Cloud User Guide for Linux Instances . For Windows, an Amazon EC2 SSH key is used to obtain the RDP password. For more information, see Amazon EC2 key pairs and Windows instances in the Amazon Elastic Compute Cloud User Guide for Windows Instances .
sourceSecurityGroups List<String>
The security group IDs that are allowed SSH access (port 22) to the nodes. For Windows, the port is 3389. If you specify an Amazon EC2 SSH key but don't specify a source security group when you create a managed node group, then the port on the nodes is opened to the internet ( 0.0.0.0/0 ). For more information, see Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide .
ec2SshKey This property is required. string
The Amazon EC2 SSH key name that provides access for SSH communication with the nodes in the managed node group. For more information, see Amazon EC2 key pairs and Linux instances in the Amazon Elastic Compute Cloud User Guide for Linux Instances . For Windows, an Amazon EC2 SSH key is used to obtain the RDP password. For more information, see Amazon EC2 key pairs and Windows instances in the Amazon Elastic Compute Cloud User Guide for Windows Instances .
sourceSecurityGroups string[]
The security group IDs that are allowed SSH access (port 22) to the nodes. For Windows, the port is 3389. If you specify an Amazon EC2 SSH key but don't specify a source security group when you create a managed node group, then the port on the nodes is opened to the internet ( 0.0.0.0/0 ). For more information, see Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide .
ec2_ssh_key This property is required. str
The Amazon EC2 SSH key name that provides access for SSH communication with the nodes in the managed node group. For more information, see Amazon EC2 key pairs and Linux instances in the Amazon Elastic Compute Cloud User Guide for Linux Instances . For Windows, an Amazon EC2 SSH key is used to obtain the RDP password. For more information, see Amazon EC2 key pairs and Windows instances in the Amazon Elastic Compute Cloud User Guide for Windows Instances .
source_security_groups Sequence[str]
The security group IDs that are allowed SSH access (port 22) to the nodes. For Windows, the port is 3389. If you specify an Amazon EC2 SSH key but don't specify a source security group when you create a managed node group, then the port on the nodes is opened to the internet ( 0.0.0.0/0 ). For more information, see Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide .
ec2SshKey This property is required. String
The Amazon EC2 SSH key name that provides access for SSH communication with the nodes in the managed node group. For more information, see Amazon EC2 key pairs and Linux instances in the Amazon Elastic Compute Cloud User Guide for Linux Instances . For Windows, an Amazon EC2 SSH key is used to obtain the RDP password. For more information, see Amazon EC2 key pairs and Windows instances in the Amazon Elastic Compute Cloud User Guide for Windows Instances .
sourceSecurityGroups List<String>
The security group IDs that are allowed SSH access (port 22) to the nodes. For Windows, the port is 3389. If you specify an Amazon EC2 SSH key but don't specify a source security group when you create a managed node group, then the port on the nodes is opened to the internet ( 0.0.0.0/0 ). For more information, see Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide .

NodegroupScalingConfig
, NodegroupScalingConfigArgs

DesiredSize int

The current number of nodes that the managed node group should maintain.

If you use the Kubernetes Cluster Autoscaler , you shouldn't change the desiredSize value directly, as this can cause the Cluster Autoscaler to suddenly scale up or scale down.

Whenever this parameter changes, the number of worker nodes in the node group is updated to the specified size. If this parameter is given a value that is smaller than the current number of running worker nodes, the necessary number of worker nodes are terminated to match the given value. When using CloudFormation, no action occurs if you remove this parameter from your CFN template.

This parameter can be different from minSize in some cases, such as when starting with extra hosts for testing. This parameter can also be different when you want to start with an estimated number of needed hosts, but let the Cluster Autoscaler reduce the number if there are too many. When the Cluster Autoscaler is used, the desiredSize parameter is altered by the Cluster Autoscaler (but can be out-of-date for short periods of time). the Cluster Autoscaler doesn't scale a managed node group lower than minSize or higher than maxSize .

MaxSize int
The maximum number of nodes that the managed node group can scale out to. For information about the maximum number that you can specify, see Amazon EKS service quotas in the Amazon EKS User Guide .
MinSize int
The minimum number of nodes that the managed node group can scale in to.
DesiredSize int

The current number of nodes that the managed node group should maintain.

If you use the Kubernetes Cluster Autoscaler , you shouldn't change the desiredSize value directly, as this can cause the Cluster Autoscaler to suddenly scale up or scale down.

Whenever this parameter changes, the number of worker nodes in the node group is updated to the specified size. If this parameter is given a value that is smaller than the current number of running worker nodes, the necessary number of worker nodes are terminated to match the given value. When using CloudFormation, no action occurs if you remove this parameter from your CFN template.

This parameter can be different from minSize in some cases, such as when starting with extra hosts for testing. This parameter can also be different when you want to start with an estimated number of needed hosts, but let the Cluster Autoscaler reduce the number if there are too many. When the Cluster Autoscaler is used, the desiredSize parameter is altered by the Cluster Autoscaler (but can be out-of-date for short periods of time). the Cluster Autoscaler doesn't scale a managed node group lower than minSize or higher than maxSize .

MaxSize int
The maximum number of nodes that the managed node group can scale out to. For information about the maximum number that you can specify, see Amazon EKS service quotas in the Amazon EKS User Guide .
MinSize int
The minimum number of nodes that the managed node group can scale in to.
desiredSize Integer

The current number of nodes that the managed node group should maintain.

If you use the Kubernetes Cluster Autoscaler , you shouldn't change the desiredSize value directly, as this can cause the Cluster Autoscaler to suddenly scale up or scale down.

Whenever this parameter changes, the number of worker nodes in the node group is updated to the specified size. If this parameter is given a value that is smaller than the current number of running worker nodes, the necessary number of worker nodes are terminated to match the given value. When using CloudFormation, no action occurs if you remove this parameter from your CFN template.

This parameter can be different from minSize in some cases, such as when starting with extra hosts for testing. This parameter can also be different when you want to start with an estimated number of needed hosts, but let the Cluster Autoscaler reduce the number if there are too many. When the Cluster Autoscaler is used, the desiredSize parameter is altered by the Cluster Autoscaler (but can be out-of-date for short periods of time). the Cluster Autoscaler doesn't scale a managed node group lower than minSize or higher than maxSize .

maxSize Integer
The maximum number of nodes that the managed node group can scale out to. For information about the maximum number that you can specify, see Amazon EKS service quotas in the Amazon EKS User Guide .
minSize Integer
The minimum number of nodes that the managed node group can scale in to.
desiredSize number

The current number of nodes that the managed node group should maintain.

If you use the Kubernetes Cluster Autoscaler , you shouldn't change the desiredSize value directly, as this can cause the Cluster Autoscaler to suddenly scale up or scale down.

Whenever this parameter changes, the number of worker nodes in the node group is updated to the specified size. If this parameter is given a value that is smaller than the current number of running worker nodes, the necessary number of worker nodes are terminated to match the given value. When using CloudFormation, no action occurs if you remove this parameter from your CFN template.

This parameter can be different from minSize in some cases, such as when starting with extra hosts for testing. This parameter can also be different when you want to start with an estimated number of needed hosts, but let the Cluster Autoscaler reduce the number if there are too many. When the Cluster Autoscaler is used, the desiredSize parameter is altered by the Cluster Autoscaler (but can be out-of-date for short periods of time). the Cluster Autoscaler doesn't scale a managed node group lower than minSize or higher than maxSize .

maxSize number
The maximum number of nodes that the managed node group can scale out to. For information about the maximum number that you can specify, see Amazon EKS service quotas in the Amazon EKS User Guide .
minSize number
The minimum number of nodes that the managed node group can scale in to.
desired_size int

The current number of nodes that the managed node group should maintain.

If you use the Kubernetes Cluster Autoscaler , you shouldn't change the desiredSize value directly, as this can cause the Cluster Autoscaler to suddenly scale up or scale down.

Whenever this parameter changes, the number of worker nodes in the node group is updated to the specified size. If this parameter is given a value that is smaller than the current number of running worker nodes, the necessary number of worker nodes are terminated to match the given value. When using CloudFormation, no action occurs if you remove this parameter from your CFN template.

This parameter can be different from minSize in some cases, such as when starting with extra hosts for testing. This parameter can also be different when you want to start with an estimated number of needed hosts, but let the Cluster Autoscaler reduce the number if there are too many. When the Cluster Autoscaler is used, the desiredSize parameter is altered by the Cluster Autoscaler (but can be out-of-date for short periods of time). the Cluster Autoscaler doesn't scale a managed node group lower than minSize or higher than maxSize .

max_size int
The maximum number of nodes that the managed node group can scale out to. For information about the maximum number that you can specify, see Amazon EKS service quotas in the Amazon EKS User Guide .
min_size int
The minimum number of nodes that the managed node group can scale in to.
desiredSize Number

The current number of nodes that the managed node group should maintain.

If you use the Kubernetes Cluster Autoscaler , you shouldn't change the desiredSize value directly, as this can cause the Cluster Autoscaler to suddenly scale up or scale down.

Whenever this parameter changes, the number of worker nodes in the node group is updated to the specified size. If this parameter is given a value that is smaller than the current number of running worker nodes, the necessary number of worker nodes are terminated to match the given value. When using CloudFormation, no action occurs if you remove this parameter from your CFN template.

This parameter can be different from minSize in some cases, such as when starting with extra hosts for testing. This parameter can also be different when you want to start with an estimated number of needed hosts, but let the Cluster Autoscaler reduce the number if there are too many. When the Cluster Autoscaler is used, the desiredSize parameter is altered by the Cluster Autoscaler (but can be out-of-date for short periods of time). the Cluster Autoscaler doesn't scale a managed node group lower than minSize or higher than maxSize .

maxSize Number
The maximum number of nodes that the managed node group can scale out to. For information about the maximum number that you can specify, see Amazon EKS service quotas in the Amazon EKS User Guide .
minSize Number
The minimum number of nodes that the managed node group can scale in to.

NodegroupTaint
, NodegroupTaintArgs

Effect string
The effect of the taint.
Key string
The key of the taint.
Value string
The value of the taint.
Effect string
The effect of the taint.
Key string
The key of the taint.
Value string
The value of the taint.
effect String
The effect of the taint.
key String
The key of the taint.
value String
The value of the taint.
effect string
The effect of the taint.
key string
The key of the taint.
value string
The value of the taint.
effect str
The effect of the taint.
key str
The key of the taint.
value str
The value of the taint.
effect String
The effect of the taint.
key String
The key of the taint.
value String
The value of the taint.

NodegroupUpdateConfig
, NodegroupUpdateConfigArgs

MaxUnavailable double
The maximum number of nodes unavailable at once during a version update. Nodes will be updated in parallel. This value or maxUnavailablePercentage is required to have a value.The maximum number is 100.
MaxUnavailablePercentage double
The maximum percentage of nodes unavailable during a version update. This percentage of nodes will be updated in parallel, up to 100 nodes at once. This value or maxUnavailable is required to have a value.
UpdateStrategy string
The configuration for the behavior to follow during an node group version update of this managed node group. You choose between two possible strategies for replacing nodes during an UpdateNodegroupVersion action.
MaxUnavailable float64
The maximum number of nodes unavailable at once during a version update. Nodes will be updated in parallel. This value or maxUnavailablePercentage is required to have a value.The maximum number is 100.
MaxUnavailablePercentage float64
The maximum percentage of nodes unavailable during a version update. This percentage of nodes will be updated in parallel, up to 100 nodes at once. This value or maxUnavailable is required to have a value.
UpdateStrategy string
The configuration for the behavior to follow during an node group version update of this managed node group. You choose between two possible strategies for replacing nodes during an UpdateNodegroupVersion action.
maxUnavailable Double
The maximum number of nodes unavailable at once during a version update. Nodes will be updated in parallel. This value or maxUnavailablePercentage is required to have a value.The maximum number is 100.
maxUnavailablePercentage Double
The maximum percentage of nodes unavailable during a version update. This percentage of nodes will be updated in parallel, up to 100 nodes at once. This value or maxUnavailable is required to have a value.
updateStrategy String
The configuration for the behavior to follow during an node group version update of this managed node group. You choose between two possible strategies for replacing nodes during an UpdateNodegroupVersion action.
maxUnavailable number
The maximum number of nodes unavailable at once during a version update. Nodes will be updated in parallel. This value or maxUnavailablePercentage is required to have a value.The maximum number is 100.
maxUnavailablePercentage number
The maximum percentage of nodes unavailable during a version update. This percentage of nodes will be updated in parallel, up to 100 nodes at once. This value or maxUnavailable is required to have a value.
updateStrategy string
The configuration for the behavior to follow during an node group version update of this managed node group. You choose between two possible strategies for replacing nodes during an UpdateNodegroupVersion action.
max_unavailable float
The maximum number of nodes unavailable at once during a version update. Nodes will be updated in parallel. This value or maxUnavailablePercentage is required to have a value.The maximum number is 100.
max_unavailable_percentage float
The maximum percentage of nodes unavailable during a version update. This percentage of nodes will be updated in parallel, up to 100 nodes at once. This value or maxUnavailable is required to have a value.
update_strategy str
The configuration for the behavior to follow during an node group version update of this managed node group. You choose between two possible strategies for replacing nodes during an UpdateNodegroupVersion action.
maxUnavailable Number
The maximum number of nodes unavailable at once during a version update. Nodes will be updated in parallel. This value or maxUnavailablePercentage is required to have a value.The maximum number is 100.
maxUnavailablePercentage Number
The maximum percentage of nodes unavailable during a version update. This percentage of nodes will be updated in parallel, up to 100 nodes at once. This value or maxUnavailable is required to have a value.
updateStrategy String
The configuration for the behavior to follow during an node group version update of this managed node group. You choose between two possible strategies for replacing nodes during an UpdateNodegroupVersion action.

Package Details

Repository
AWS Native pulumi/pulumi-aws-native
License
Apache-2.0

We recommend new projects start with resources from the AWS provider.

AWS Cloud Control v1.27.0 published on Monday, Apr 14, 2025 by Pulumi