eks.NodeGroupV2
Explore with Pulumi AI
NodeGroup is a component that wraps the AWS EC2 instances that provide compute capacity for an EKS cluster.
Create NodeGroupV2 Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new NodeGroupV2(name: string, args: NodeGroupV2Args, opts?: CustomResourceOptions);
@overload
def NodeGroupV2(resource_name: str,
args: NodeGroupV2Args,
opts: Optional[ResourceOptions] = None)
@overload
def NodeGroupV2(resource_name: str,
opts: Optional[ResourceOptions] = None,
cluster: Optional[Union[Cluster, CoreDataArgs]] = None,
kubelet_extra_args: Optional[str] = None,
ami_type: Optional[str] = None,
labels: Optional[Mapping[str, str]] = None,
cloud_formation_tags: Optional[Mapping[str, str]] = None,
launch_template_tag_specifications: Optional[Sequence[pulumi_aws.ec2.LaunchTemplateTagSpecificationArgs]] = None,
cluster_ingress_rule: Optional[pulumi_aws.ec2.SecurityGroupRule] = None,
desired_capacity: Optional[int] = None,
encrypt_root_block_device: Optional[bool] = None,
extra_node_security_groups: Optional[Sequence[pulumi_aws.ec2.SecurityGroup]] = None,
gpu: Optional[bool] = None,
instance_profile: Optional[pulumi_aws.iam.InstanceProfile] = None,
max_size: Optional[int] = None,
key_name: Optional[str] = None,
ami_id: Optional[str] = None,
bootstrap_extra_args: Optional[str] = None,
auto_scaling_group_tags: Optional[Mapping[str, str]] = None,
instance_type: Optional[str] = None,
min_refresh_percentage: Optional[int] = None,
min_size: Optional[int] = None,
node_associate_public_ip_address: Optional[bool] = None,
node_public_key: Optional[str] = None,
node_root_volume_size: Optional[int] = None,
node_security_group: Optional[pulumi_aws.ec2.SecurityGroup] = None,
node_subnet_ids: Optional[Sequence[str]] = None,
node_user_data: Optional[str] = None,
node_user_data_override: Optional[str] = None,
spot_price: Optional[str] = None,
taints: Optional[Mapping[str, TaintArgs]] = None,
version: Optional[str] = None)
func NewNodeGroupV2(ctx *Context, name string, args NodeGroupV2Args, opts ...ResourceOption) (*NodeGroupV2, error)
public NodeGroupV2(string name, NodeGroupV2Args args, CustomResourceOptions? opts = null)
public NodeGroupV2(String name, NodeGroupV2Args args)
public NodeGroupV2(String name, NodeGroupV2Args args, CustomResourceOptions options)
type: eks:NodeGroupV2
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args NodeGroupV2Args
- 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 NodeGroupV2Args
- 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 NodeGroupV2Args
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args NodeGroupV2Args
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args NodeGroupV2Args
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Example
The following reference example uses placeholder values for all input properties.
var nodeGroupV2Resource = new Eks.NodeGroupV2("nodeGroupV2Resource", new()
{
Cluster = cluster,
KubeletExtraArgs = "string",
AmiType = "string",
Labels =
{
{ "string", "string" },
},
CloudFormationTags =
{
{ "string", "string" },
},
LaunchTemplateTagSpecifications = new[]
{
new Aws.Ec2.Inputs.LaunchTemplateTagSpecificationArgs
{
ResourceType = "string",
Tags =
{
{ "string", "string" },
},
},
},
ClusterIngressRule = securityGroupRule,
DesiredCapacity = 0,
EncryptRootBlockDevice = false,
ExtraNodeSecurityGroups = new[]
{
securityGroup,
},
Gpu = false,
InstanceProfile = instanceProfile,
MaxSize = 0,
KeyName = "string",
AmiId = "string",
BootstrapExtraArgs = "string",
AutoScalingGroupTags =
{
{ "string", "string" },
},
InstanceType = "string",
MinRefreshPercentage = 0,
MinSize = 0,
NodeAssociatePublicIpAddress = false,
NodePublicKey = "string",
NodeRootVolumeSize = 0,
NodeSecurityGroup = securityGroup,
NodeSubnetIds = new[]
{
"string",
},
NodeUserData = "string",
NodeUserDataOverride = "string",
SpotPrice = "string",
Taints =
{
{ "string", new Eks.Inputs.TaintArgs
{
Effect = "string",
Value = "string",
} },
},
Version = "string",
});
example, err := eks.NewNodeGroupV2(ctx, "nodeGroupV2Resource", &eks.NodeGroupV2Args{
Cluster: pulumi.Any(cluster),
KubeletExtraArgs: "string",
AmiType: pulumi.String("string"),
Labels: map[string]interface{}{
"string": "string",
},
CloudFormationTags: pulumi.StringMap{
"string": pulumi.String("string"),
},
LaunchTemplateTagSpecifications: ec2.LaunchTemplateTagSpecificationArray{
&ec2.LaunchTemplateTagSpecificationArgs{
ResourceType: pulumi.String("string"),
Tags: pulumi.StringMap{
"string": pulumi.String("string"),
},
},
},
ClusterIngressRule: pulumi.Any(securityGroupRule),
DesiredCapacity: pulumi.Int(0),
EncryptRootBlockDevice: pulumi.Bool(false),
ExtraNodeSecurityGroups: ec2.SecurityGroupArray{
securityGroup,
},
Gpu: pulumi.Bool(false),
InstanceProfile: instanceProfile,
MaxSize: pulumi.Int(0),
KeyName: pulumi.String("string"),
AmiId: pulumi.String("string"),
BootstrapExtraArgs: "string",
AutoScalingGroupTags: pulumi.StringMap{
"string": pulumi.String("string"),
},
InstanceType: pulumi.String("string"),
MinRefreshPercentage: pulumi.Int(0),
MinSize: pulumi.Int(0),
NodeAssociatePublicIpAddress: false,
NodePublicKey: pulumi.String("string"),
NodeRootVolumeSize: pulumi.Int(0),
NodeSecurityGroup: pulumi.Any(securityGroup),
NodeSubnetIds: pulumi.StringArray{
pulumi.String("string"),
},
NodeUserData: pulumi.String("string"),
NodeUserDataOverride: pulumi.String("string"),
SpotPrice: pulumi.String("string"),
Taints: interface{}{
String: &eks.TaintArgs{
Effect: "string",
Value: "string",
},
},
Version: pulumi.String("string"),
})
var nodeGroupV2Resource = new NodeGroupV2("nodeGroupV2Resource", NodeGroupV2Args.builder()
.cluster(cluster)
.kubeletExtraArgs("string")
.amiType("string")
.labels(Map.of("string", "string"))
.cloudFormationTags(Map.of("string", "string"))
.launchTemplateTagSpecifications(LaunchTemplateTagSpecificationArgs.builder()
.resourceType("string")
.tags(Map.of("string", "string"))
.build())
.clusterIngressRule(securityGroupRule)
.desiredCapacity(0)
.encryptRootBlockDevice(false)
.extraNodeSecurityGroups(securityGroup)
.gpu(false)
.instanceProfile(instanceProfile)
.maxSize(0)
.keyName("string")
.amiId("string")
.bootstrapExtraArgs("string")
.autoScalingGroupTags(Map.of("string", "string"))
.instanceType("string")
.minRefreshPercentage(0)
.minSize(0)
.nodeAssociatePublicIpAddress(false)
.nodePublicKey("string")
.nodeRootVolumeSize(0)
.nodeSecurityGroup(securityGroup)
.nodeSubnetIds("string")
.nodeUserData("string")
.nodeUserDataOverride("string")
.spotPrice("string")
.taints(Map.of("string", Map.ofEntries(
Map.entry("effect", "string"),
Map.entry("value", "string")
)))
.version("string")
.build());
node_group_v2_resource = eks.NodeGroupV2("nodeGroupV2Resource",
cluster=cluster,
kubelet_extra_args="string",
ami_type="string",
labels={
"string": "string",
},
cloud_formation_tags={
"string": "string",
},
launch_template_tag_specifications=[aws.ec2.LaunchTemplateTagSpecificationArgs(
resource_type="string",
tags={
"string": "string",
},
)],
cluster_ingress_rule=security_group_rule,
desired_capacity=0,
encrypt_root_block_device=False,
extra_node_security_groups=[security_group],
gpu=False,
instance_profile=instance_profile,
max_size=0,
key_name="string",
ami_id="string",
bootstrap_extra_args="string",
auto_scaling_group_tags={
"string": "string",
},
instance_type="string",
min_refresh_percentage=0,
min_size=0,
node_associate_public_ip_address=False,
node_public_key="string",
node_root_volume_size=0,
node_security_group=security_group,
node_subnet_ids=["string"],
node_user_data="string",
node_user_data_override="string",
spot_price="string",
taints={
"string": eks.TaintArgs(
effect="string",
value="string",
),
},
version="string")
const nodeGroupV2Resource = new eks.NodeGroupV2("nodeGroupV2Resource", {
cluster: cluster,
kubeletExtraArgs: "string",
amiType: "string",
labels: {
string: "string",
},
cloudFormationTags: {
string: "string",
},
launchTemplateTagSpecifications: [{
resourceType: "string",
tags: {
string: "string",
},
}],
clusterIngressRule: securityGroupRule,
desiredCapacity: 0,
encryptRootBlockDevice: false,
extraNodeSecurityGroups: [securityGroup],
gpu: false,
instanceProfile: instanceProfile,
maxSize: 0,
keyName: "string",
amiId: "string",
bootstrapExtraArgs: "string",
autoScalingGroupTags: {
string: "string",
},
instanceType: "string",
minRefreshPercentage: 0,
minSize: 0,
nodeAssociatePublicIpAddress: false,
nodePublicKey: "string",
nodeRootVolumeSize: 0,
nodeSecurityGroup: securityGroup,
nodeSubnetIds: ["string"],
nodeUserData: "string",
nodeUserDataOverride: "string",
spotPrice: "string",
taints: {
string: {
effect: "string",
value: "string",
},
},
version: "string",
});
type: eks:NodeGroupV2
properties:
amiId: string
amiType: string
autoScalingGroupTags:
string: string
bootstrapExtraArgs: string
cloudFormationTags:
string: string
cluster: ${cluster}
clusterIngressRule: ${securityGroupRule}
desiredCapacity: 0
encryptRootBlockDevice: false
extraNodeSecurityGroups:
- ${securityGroup}
gpu: false
instanceProfile: ${instanceProfile}
instanceType: string
keyName: string
kubeletExtraArgs: string
labels:
string: string
launchTemplateTagSpecifications:
- resourceType: string
tags:
string: string
maxSize: 0
minRefreshPercentage: 0
minSize: 0
nodeAssociatePublicIpAddress: false
nodePublicKey: string
nodeRootVolumeSize: 0
nodeSecurityGroup: ${securityGroup}
nodeSubnetIds:
- string
nodeUserData: string
nodeUserDataOverride: string
spotPrice: string
taints:
string:
effect: string
value: string
version: string
NodeGroupV2 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 NodeGroupV2 resource accepts the following input properties:
- Cluster
Pulumi.
Eks. Cluster | Core Data - The target EKS cluster.
- Ami
Id string The AMI ID to use for the worker nodes.
Defaults to the latest recommended EKS Optimized Linux AMI from the AWS Systems Manager Parameter Store.
Note:
amiId
andgpu
are mutually exclusive.See for more details:
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html.
- Ami
Type string The AMI Type to use for the worker nodes.
Only applicable when setting an AMI ID that is of type
arm64
.Note:
amiType
andgpu
are mutually exclusive.- Dictionary<string, string>
The tags to apply to the NodeGroup's AutoScalingGroup in the CloudFormation Stack.
Per AWS, all stack-level tags, including automatically created tags, and the
cloudFormationTags
option are propagated to resources that AWS CloudFormation supports, including the AutoScalingGroup. See https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.htmlNote: Given the inheritance of auto-generated CF tags and
cloudFormationTags
, you should either supply the tag inautoScalingGroupTags
orcloudFormationTags
, but not both.- Bootstrap
Extra stringArgs - Additional args to pass directly to
/etc/eks/bootstrap.sh
. For details on available options, see: https://github.com/awslabs/amazon-eks-ami/blob/master/files/bootstrap.sh. Note that the--apiserver-endpoint
,--b64-cluster-ca
and--kubelet-extra-args
flags are included automatically based on other configuration parameters. - Dictionary<string, string>
The tags to apply to the CloudFormation Stack of the Worker NodeGroup.
Note: Given the inheritance of auto-generated CF tags and
cloudFormationTags
, you should either supply the tag inautoScalingGroupTags
orcloudFormationTags
, but not both.- Cluster
Ingress Pulumi.Rule Aws. Ec2. Security Group Rule - The ingress rule that gives node group access. This type is defined in the AWS Classic package.
- Desired
Capacity int - The number of worker nodes that should be running in the cluster. Defaults to 2.
- Encrypt
Root boolBlock Device - Encrypt the root block device of the nodes in the node group.
- Extra
Node List<Pulumi.Security Groups Aws. Ec2. Security Group> Extra security groups to attach on all nodes in this worker node group.
This additional set of security groups captures any user application rules that will be needed for the nodes.
- Gpu bool
Use the latest recommended EKS Optimized Linux AMI with GPU support for the worker nodes from the AWS Systems Manager Parameter Store.
Defaults to false.
Note:
gpu
andamiId
are mutually exclusive.See for more details:
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
- https://docs.aws.amazon.com/eks/latest/userguide/retrieve-ami-id.html
- Instance
Profile Pulumi.Aws. Iam. Instance Profile - The ingress rule that gives node group access. This type is defined in the AWS Classic package.
- Instance
Type string - The instance type to use for the cluster's nodes. Defaults to "t2.medium".
- Key
Name string - Name of the key pair to use for SSH access to worker nodes.
- Kubelet
Extra stringArgs - Extra args to pass to the Kubelet. Corresponds to the options passed in the
--kubeletExtraArgs
flag to/etc/eks/bootstrap.sh
. For example, '--port=10251 --address=0.0.0.0'. Note that thelabels
andtaints
properties will be applied to this list (using--node-labels
and--register-with-taints
respectively) after to the explicitkubeletExtraArgs
. - Labels Dictionary<string, string>
- Custom k8s node labels to be attached to each worker node. Adds the given key/value pairs to the
--node-labels
kubelet argument. - List<Pulumi.
Aws. Ec2. Inputs. Launch Template Tag Specification> - The tag specifications to apply to the launch template.
- Max
Size int - The maximum number of worker nodes running in the cluster. Defaults to 2.
- Min
Refresh intPercentage - The minimum amount of instances that should remain available during an instance refresh, expressed as a percentage. Defaults to 50.
- Min
Size int - The minimum number of worker nodes running in the cluster. Defaults to 1.
- Node
Associate boolPublic Ip Address - Whether or not to auto-assign public IP addresses on the EKS worker nodes. If this toggle is set to true, the EKS workers will be auto-assigned public IPs. If false, they will not be auto-assigned public IPs.
- Node
Public stringKey - Public key material for SSH access to worker nodes. See allowed formats at: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html If not provided, no SSH access is enabled on VMs.
- Node
Root intVolume Size - The size in GiB of a cluster node's root volume. Defaults to 20.
- Node
Security Pulumi.Group Aws. Ec2. Security Group The security group for the worker node group to communicate with the cluster.
This security group requires specific inbound and outbound rules.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html
Note: The
nodeSecurityGroup
option and the cluster optionnodeSecurityGroupTags
are mutually exclusive. This type is defined in the AWS Classic package.- Node
Subnet List<string>Ids The set of subnets to override and use for the worker node group.
Setting this option overrides which subnets to use for the worker node group, regardless if the cluster's
subnetIds
is set, or ifpublicSubnetIds
and/orprivateSubnetIds
were set.- Node
User stringData - Extra code to run on node startup. This code will run after the AWS EKS bootstrapping code and before the node signals its readiness to the managing CloudFormation stack. This code must be a typical user data script: critically it must begin with an interpreter directive (i.e. a
#!
). - Node
User stringData Override User specified code to run on node startup. This code is expected to handle the full AWS EKS bootstrapping code and signal node readiness to the managing CloudFormation stack. This code must be a complete and executable user data script in bash (Linux) or powershell (Windows).
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/worker.html
- Spot
Price string - Bidding price for spot instance. If set, only spot instances will be added as worker node.
- Taints
Dictionary<string, Taint
Args> - Custom k8s node taints to be attached to each worker node. Adds the given taints to the
--register-with-taints
kubelet argument - Version string
- Desired Kubernetes master / control plane version. If you do not specify a value, the latest available version is used.
- Cluster
Cluster | Core
Data Args - The target EKS cluster.
- Ami
Id string The AMI ID to use for the worker nodes.
Defaults to the latest recommended EKS Optimized Linux AMI from the AWS Systems Manager Parameter Store.
Note:
amiId
andgpu
are mutually exclusive.See for more details:
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html.
- Ami
Type string The AMI Type to use for the worker nodes.
Only applicable when setting an AMI ID that is of type
arm64
.Note:
amiType
andgpu
are mutually exclusive.- map[string]string
The tags to apply to the NodeGroup's AutoScalingGroup in the CloudFormation Stack.
Per AWS, all stack-level tags, including automatically created tags, and the
cloudFormationTags
option are propagated to resources that AWS CloudFormation supports, including the AutoScalingGroup. See https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.htmlNote: Given the inheritance of auto-generated CF tags and
cloudFormationTags
, you should either supply the tag inautoScalingGroupTags
orcloudFormationTags
, but not both.- Bootstrap
Extra stringArgs - Additional args to pass directly to
/etc/eks/bootstrap.sh
. For details on available options, see: https://github.com/awslabs/amazon-eks-ami/blob/master/files/bootstrap.sh. Note that the--apiserver-endpoint
,--b64-cluster-ca
and--kubelet-extra-args
flags are included automatically based on other configuration parameters. - map[string]string
The tags to apply to the CloudFormation Stack of the Worker NodeGroup.
Note: Given the inheritance of auto-generated CF tags and
cloudFormationTags
, you should either supply the tag inautoScalingGroupTags
orcloudFormationTags
, but not both.- Cluster
Ingress SecurityRule Group Rule - The ingress rule that gives node group access. This type is defined in the AWS Classic package.
- Desired
Capacity int - The number of worker nodes that should be running in the cluster. Defaults to 2.
- Encrypt
Root boolBlock Device - Encrypt the root block device of the nodes in the node group.
- Extra
Node SecuritySecurity Groups Group Extra security groups to attach on all nodes in this worker node group.
This additional set of security groups captures any user application rules that will be needed for the nodes.
- Gpu bool
Use the latest recommended EKS Optimized Linux AMI with GPU support for the worker nodes from the AWS Systems Manager Parameter Store.
Defaults to false.
Note:
gpu
andamiId
are mutually exclusive.See for more details:
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
- https://docs.aws.amazon.com/eks/latest/userguide/retrieve-ami-id.html
- Instance
Profile InstanceProfile - The ingress rule that gives node group access. This type is defined in the AWS Classic package.
- Instance
Type string - The instance type to use for the cluster's nodes. Defaults to "t2.medium".
- Key
Name string - Name of the key pair to use for SSH access to worker nodes.
- Kubelet
Extra stringArgs - Extra args to pass to the Kubelet. Corresponds to the options passed in the
--kubeletExtraArgs
flag to/etc/eks/bootstrap.sh
. For example, '--port=10251 --address=0.0.0.0'. Note that thelabels
andtaints
properties will be applied to this list (using--node-labels
and--register-with-taints
respectively) after to the explicitkubeletExtraArgs
. - Labels map[string]string
- Custom k8s node labels to be attached to each worker node. Adds the given key/value pairs to the
--node-labels
kubelet argument. - Launch
Template Tag Specification Args - The tag specifications to apply to the launch template.
- Max
Size int - The maximum number of worker nodes running in the cluster. Defaults to 2.
- Min
Refresh intPercentage - The minimum amount of instances that should remain available during an instance refresh, expressed as a percentage. Defaults to 50.
- Min
Size int - The minimum number of worker nodes running in the cluster. Defaults to 1.
- Node
Associate boolPublic Ip Address - Whether or not to auto-assign public IP addresses on the EKS worker nodes. If this toggle is set to true, the EKS workers will be auto-assigned public IPs. If false, they will not be auto-assigned public IPs.
- Node
Public stringKey - Public key material for SSH access to worker nodes. See allowed formats at: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html If not provided, no SSH access is enabled on VMs.
- Node
Root intVolume Size - The size in GiB of a cluster node's root volume. Defaults to 20.
- Node
Security SecurityGroup Group The security group for the worker node group to communicate with the cluster.
This security group requires specific inbound and outbound rules.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html
Note: The
nodeSecurityGroup
option and the cluster optionnodeSecurityGroupTags
are mutually exclusive. This type is defined in the AWS Classic package.- Node
Subnet []stringIds The set of subnets to override and use for the worker node group.
Setting this option overrides which subnets to use for the worker node group, regardless if the cluster's
subnetIds
is set, or ifpublicSubnetIds
and/orprivateSubnetIds
were set.- Node
User stringData - Extra code to run on node startup. This code will run after the AWS EKS bootstrapping code and before the node signals its readiness to the managing CloudFormation stack. This code must be a typical user data script: critically it must begin with an interpreter directive (i.e. a
#!
). - Node
User stringData Override User specified code to run on node startup. This code is expected to handle the full AWS EKS bootstrapping code and signal node readiness to the managing CloudFormation stack. This code must be a complete and executable user data script in bash (Linux) or powershell (Windows).
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/worker.html
- Spot
Price string - Bidding price for spot instance. If set, only spot instances will be added as worker node.
- Taints
map[string]Taint
Args - Custom k8s node taints to be attached to each worker node. Adds the given taints to the
--register-with-taints
kubelet argument - Version string
- Desired Kubernetes master / control plane version. If you do not specify a value, the latest available version is used.
- cluster
Cluster | Core
Data - The target EKS cluster.
- ami
Id String The AMI ID to use for the worker nodes.
Defaults to the latest recommended EKS Optimized Linux AMI from the AWS Systems Manager Parameter Store.
Note:
amiId
andgpu
are mutually exclusive.See for more details:
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html.
- ami
Type String The AMI Type to use for the worker nodes.
Only applicable when setting an AMI ID that is of type
arm64
.Note:
amiType
andgpu
are mutually exclusive.- Map<String,String>
The tags to apply to the NodeGroup's AutoScalingGroup in the CloudFormation Stack.
Per AWS, all stack-level tags, including automatically created tags, and the
cloudFormationTags
option are propagated to resources that AWS CloudFormation supports, including the AutoScalingGroup. See https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.htmlNote: Given the inheritance of auto-generated CF tags and
cloudFormationTags
, you should either supply the tag inautoScalingGroupTags
orcloudFormationTags
, but not both.- bootstrap
Extra StringArgs - Additional args to pass directly to
/etc/eks/bootstrap.sh
. For details on available options, see: https://github.com/awslabs/amazon-eks-ami/blob/master/files/bootstrap.sh. Note that the--apiserver-endpoint
,--b64-cluster-ca
and--kubelet-extra-args
flags are included automatically based on other configuration parameters. - Map<String,String>
The tags to apply to the CloudFormation Stack of the Worker NodeGroup.
Note: Given the inheritance of auto-generated CF tags and
cloudFormationTags
, you should either supply the tag inautoScalingGroupTags
orcloudFormationTags
, but not both.- cluster
Ingress SecurityRule Group Rule - The ingress rule that gives node group access. This type is defined in the AWS Classic package.
- desired
Capacity Integer - The number of worker nodes that should be running in the cluster. Defaults to 2.
- encrypt
Root BooleanBlock Device - Encrypt the root block device of the nodes in the node group.
- extra
Node List<SecuritySecurity Groups Group> Extra security groups to attach on all nodes in this worker node group.
This additional set of security groups captures any user application rules that will be needed for the nodes.
- gpu Boolean
Use the latest recommended EKS Optimized Linux AMI with GPU support for the worker nodes from the AWS Systems Manager Parameter Store.
Defaults to false.
Note:
gpu
andamiId
are mutually exclusive.See for more details:
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
- https://docs.aws.amazon.com/eks/latest/userguide/retrieve-ami-id.html
- instance
Profile InstanceProfile - The ingress rule that gives node group access. This type is defined in the AWS Classic package.
- instance
Type String - The instance type to use for the cluster's nodes. Defaults to "t2.medium".
- key
Name String - Name of the key pair to use for SSH access to worker nodes.
- kubelet
Extra StringArgs - Extra args to pass to the Kubelet. Corresponds to the options passed in the
--kubeletExtraArgs
flag to/etc/eks/bootstrap.sh
. For example, '--port=10251 --address=0.0.0.0'. Note that thelabels
andtaints
properties will be applied to this list (using--node-labels
and--register-with-taints
respectively) after to the explicitkubeletExtraArgs
. - labels Map<String,String>
- Custom k8s node labels to be attached to each worker node. Adds the given key/value pairs to the
--node-labels
kubelet argument. - List<Launch
Template Tag Specification> - The tag specifications to apply to the launch template.
- max
Size Integer - The maximum number of worker nodes running in the cluster. Defaults to 2.
- min
Refresh IntegerPercentage - The minimum amount of instances that should remain available during an instance refresh, expressed as a percentage. Defaults to 50.
- min
Size Integer - The minimum number of worker nodes running in the cluster. Defaults to 1.
- node
Associate BooleanPublic Ip Address - Whether or not to auto-assign public IP addresses on the EKS worker nodes. If this toggle is set to true, the EKS workers will be auto-assigned public IPs. If false, they will not be auto-assigned public IPs.
- node
Public StringKey - Public key material for SSH access to worker nodes. See allowed formats at: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html If not provided, no SSH access is enabled on VMs.
- node
Root IntegerVolume Size - The size in GiB of a cluster node's root volume. Defaults to 20.
- node
Security SecurityGroup Group The security group for the worker node group to communicate with the cluster.
This security group requires specific inbound and outbound rules.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html
Note: The
nodeSecurityGroup
option and the cluster optionnodeSecurityGroupTags
are mutually exclusive. This type is defined in the AWS Classic package.- node
Subnet List<String>Ids The set of subnets to override and use for the worker node group.
Setting this option overrides which subnets to use for the worker node group, regardless if the cluster's
subnetIds
is set, or ifpublicSubnetIds
and/orprivateSubnetIds
were set.- node
User StringData - Extra code to run on node startup. This code will run after the AWS EKS bootstrapping code and before the node signals its readiness to the managing CloudFormation stack. This code must be a typical user data script: critically it must begin with an interpreter directive (i.e. a
#!
). - node
User StringData Override User specified code to run on node startup. This code is expected to handle the full AWS EKS bootstrapping code and signal node readiness to the managing CloudFormation stack. This code must be a complete and executable user data script in bash (Linux) or powershell (Windows).
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/worker.html
- spot
Price String - Bidding price for spot instance. If set, only spot instances will be added as worker node.
- taints
Map<String,Taint
Args> - Custom k8s node taints to be attached to each worker node. Adds the given taints to the
--register-with-taints
kubelet argument - version String
- Desired Kubernetes master / control plane version. If you do not specify a value, the latest available version is used.
- cluster
Cluster | Core
Data - The target EKS cluster.
- ami
Id string The AMI ID to use for the worker nodes.
Defaults to the latest recommended EKS Optimized Linux AMI from the AWS Systems Manager Parameter Store.
Note:
amiId
andgpu
are mutually exclusive.See for more details:
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html.
- ami
Type string The AMI Type to use for the worker nodes.
Only applicable when setting an AMI ID that is of type
arm64
.Note:
amiType
andgpu
are mutually exclusive.- {[key: string]: string}
The tags to apply to the NodeGroup's AutoScalingGroup in the CloudFormation Stack.
Per AWS, all stack-level tags, including automatically created tags, and the
cloudFormationTags
option are propagated to resources that AWS CloudFormation supports, including the AutoScalingGroup. See https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.htmlNote: Given the inheritance of auto-generated CF tags and
cloudFormationTags
, you should either supply the tag inautoScalingGroupTags
orcloudFormationTags
, but not both.- bootstrap
Extra stringArgs - Additional args to pass directly to
/etc/eks/bootstrap.sh
. For details on available options, see: https://github.com/awslabs/amazon-eks-ami/blob/master/files/bootstrap.sh. Note that the--apiserver-endpoint
,--b64-cluster-ca
and--kubelet-extra-args
flags are included automatically based on other configuration parameters. - {[key: string]: string}
The tags to apply to the CloudFormation Stack of the Worker NodeGroup.
Note: Given the inheritance of auto-generated CF tags and
cloudFormationTags
, you should either supply the tag inautoScalingGroupTags
orcloudFormationTags
, but not both.- cluster
Ingress pulumiRule Awsec2Security Group Rule - The ingress rule that gives node group access. This type is defined in the AWS Classic package.
- desired
Capacity number - The number of worker nodes that should be running in the cluster. Defaults to 2.
- encrypt
Root booleanBlock Device - Encrypt the root block device of the nodes in the node group.
- extra
Node pulumiSecurity Groups Awsec2Security Group[] Extra security groups to attach on all nodes in this worker node group.
This additional set of security groups captures any user application rules that will be needed for the nodes.
- gpu boolean
Use the latest recommended EKS Optimized Linux AMI with GPU support for the worker nodes from the AWS Systems Manager Parameter Store.
Defaults to false.
Note:
gpu
andamiId
are mutually exclusive.See for more details:
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
- https://docs.aws.amazon.com/eks/latest/userguide/retrieve-ami-id.html
- instance
Profile pulumiAwsiam Instance Profile - The ingress rule that gives node group access. This type is defined in the AWS Classic package.
- instance
Type string - The instance type to use for the cluster's nodes. Defaults to "t2.medium".
- key
Name string - Name of the key pair to use for SSH access to worker nodes.
- kubelet
Extra stringArgs - Extra args to pass to the Kubelet. Corresponds to the options passed in the
--kubeletExtraArgs
flag to/etc/eks/bootstrap.sh
. For example, '--port=10251 --address=0.0.0.0'. Note that thelabels
andtaints
properties will be applied to this list (using--node-labels
and--register-with-taints
respectively) after to the explicitkubeletExtraArgs
. - labels {[key: string]: string}
- Custom k8s node labels to be attached to each worker node. Adds the given key/value pairs to the
--node-labels
kubelet argument. - pulumi
Awstypesinputec2Launch Template Tag Specification[] - The tag specifications to apply to the launch template.
- max
Size number - The maximum number of worker nodes running in the cluster. Defaults to 2.
- min
Refresh numberPercentage - The minimum amount of instances that should remain available during an instance refresh, expressed as a percentage. Defaults to 50.
- min
Size number - The minimum number of worker nodes running in the cluster. Defaults to 1.
- node
Associate booleanPublic Ip Address - Whether or not to auto-assign public IP addresses on the EKS worker nodes. If this toggle is set to true, the EKS workers will be auto-assigned public IPs. If false, they will not be auto-assigned public IPs.
- node
Public stringKey - Public key material for SSH access to worker nodes. See allowed formats at: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html If not provided, no SSH access is enabled on VMs.
- node
Root numberVolume Size - The size in GiB of a cluster node's root volume. Defaults to 20.
- node
Security pulumiGroup Awsec2Security Group The security group for the worker node group to communicate with the cluster.
This security group requires specific inbound and outbound rules.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html
Note: The
nodeSecurityGroup
option and the cluster optionnodeSecurityGroupTags
are mutually exclusive. This type is defined in the AWS Classic package.- node
Subnet string[]Ids The set of subnets to override and use for the worker node group.
Setting this option overrides which subnets to use for the worker node group, regardless if the cluster's
subnetIds
is set, or ifpublicSubnetIds
and/orprivateSubnetIds
were set.- node
User stringData - Extra code to run on node startup. This code will run after the AWS EKS bootstrapping code and before the node signals its readiness to the managing CloudFormation stack. This code must be a typical user data script: critically it must begin with an interpreter directive (i.e. a
#!
). - node
User stringData Override User specified code to run on node startup. This code is expected to handle the full AWS EKS bootstrapping code and signal node readiness to the managing CloudFormation stack. This code must be a complete and executable user data script in bash (Linux) or powershell (Windows).
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/worker.html
- spot
Price string - Bidding price for spot instance. If set, only spot instances will be added as worker node.
- taints
{[key: string]: Taint
Args} - Custom k8s node taints to be attached to each worker node. Adds the given taints to the
--register-with-taints
kubelet argument - version string
- Desired Kubernetes master / control plane version. If you do not specify a value, the latest available version is used.
- cluster
Cluster | Core
Data Args - The target EKS cluster.
- ami_
id str The AMI ID to use for the worker nodes.
Defaults to the latest recommended EKS Optimized Linux AMI from the AWS Systems Manager Parameter Store.
Note:
amiId
andgpu
are mutually exclusive.See for more details:
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html.
- ami_
type str The AMI Type to use for the worker nodes.
Only applicable when setting an AMI ID that is of type
arm64
.Note:
amiType
andgpu
are mutually exclusive.- Mapping[str, str]
The tags to apply to the NodeGroup's AutoScalingGroup in the CloudFormation Stack.
Per AWS, all stack-level tags, including automatically created tags, and the
cloudFormationTags
option are propagated to resources that AWS CloudFormation supports, including the AutoScalingGroup. See https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.htmlNote: Given the inheritance of auto-generated CF tags and
cloudFormationTags
, you should either supply the tag inautoScalingGroupTags
orcloudFormationTags
, but not both.- bootstrap_
extra_ strargs - Additional args to pass directly to
/etc/eks/bootstrap.sh
. For details on available options, see: https://github.com/awslabs/amazon-eks-ami/blob/master/files/bootstrap.sh. Note that the--apiserver-endpoint
,--b64-cluster-ca
and--kubelet-extra-args
flags are included automatically based on other configuration parameters. - Mapping[str, str]
The tags to apply to the CloudFormation Stack of the Worker NodeGroup.
Note: Given the inheritance of auto-generated CF tags and
cloudFormationTags
, you should either supply the tag inautoScalingGroupTags
orcloudFormationTags
, but not both.- cluster_
ingress_ pulumi_rule aws.ec2. Security Group Rule - The ingress rule that gives node group access. This type is defined in the AWS Classic package.
- desired_
capacity int - The number of worker nodes that should be running in the cluster. Defaults to 2.
- encrypt_
root_ boolblock_ device - Encrypt the root block device of the nodes in the node group.
- extra_
node_ Sequence[pulumi_security_ groups aws.ec2. Security Group] Extra security groups to attach on all nodes in this worker node group.
This additional set of security groups captures any user application rules that will be needed for the nodes.
- gpu bool
Use the latest recommended EKS Optimized Linux AMI with GPU support for the worker nodes from the AWS Systems Manager Parameter Store.
Defaults to false.
Note:
gpu
andamiId
are mutually exclusive.See for more details:
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
- https://docs.aws.amazon.com/eks/latest/userguide/retrieve-ami-id.html
- instance_
profile pulumi_aws.iam. Instance Profile - The ingress rule that gives node group access. This type is defined in the AWS Classic package.
- instance_
type str - The instance type to use for the cluster's nodes. Defaults to "t2.medium".
- key_
name str - Name of the key pair to use for SSH access to worker nodes.
- kubelet_
extra_ strargs - Extra args to pass to the Kubelet. Corresponds to the options passed in the
--kubeletExtraArgs
flag to/etc/eks/bootstrap.sh
. For example, '--port=10251 --address=0.0.0.0'. Note that thelabels
andtaints
properties will be applied to this list (using--node-labels
and--register-with-taints
respectively) after to the explicitkubeletExtraArgs
. - labels Mapping[str, str]
- Custom k8s node labels to be attached to each worker node. Adds the given key/value pairs to the
--node-labels
kubelet argument. - launch_
template_ Sequence[pulumi_tag_ specifications aws.ec2. Launch Template Tag Specification Args] - The tag specifications to apply to the launch template.
- max_
size int - The maximum number of worker nodes running in the cluster. Defaults to 2.
- min_
refresh_ intpercentage - The minimum amount of instances that should remain available during an instance refresh, expressed as a percentage. Defaults to 50.
- min_
size int - The minimum number of worker nodes running in the cluster. Defaults to 1.
- node_
associate_ boolpublic_ ip_ address - Whether or not to auto-assign public IP addresses on the EKS worker nodes. If this toggle is set to true, the EKS workers will be auto-assigned public IPs. If false, they will not be auto-assigned public IPs.
- node_
public_ strkey - Public key material for SSH access to worker nodes. See allowed formats at: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html If not provided, no SSH access is enabled on VMs.
- node_
root_ intvolume_ size - The size in GiB of a cluster node's root volume. Defaults to 20.
- node_
security_ pulumi_group aws.ec2. Security Group The security group for the worker node group to communicate with the cluster.
This security group requires specific inbound and outbound rules.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html
Note: The
nodeSecurityGroup
option and the cluster optionnodeSecurityGroupTags
are mutually exclusive. This type is defined in the AWS Classic package.- node_
subnet_ Sequence[str]ids The set of subnets to override and use for the worker node group.
Setting this option overrides which subnets to use for the worker node group, regardless if the cluster's
subnetIds
is set, or ifpublicSubnetIds
and/orprivateSubnetIds
were set.- node_
user_ strdata - Extra code to run on node startup. This code will run after the AWS EKS bootstrapping code and before the node signals its readiness to the managing CloudFormation stack. This code must be a typical user data script: critically it must begin with an interpreter directive (i.e. a
#!
). - node_
user_ strdata_ override User specified code to run on node startup. This code is expected to handle the full AWS EKS bootstrapping code and signal node readiness to the managing CloudFormation stack. This code must be a complete and executable user data script in bash (Linux) or powershell (Windows).
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/worker.html
- spot_
price str - Bidding price for spot instance. If set, only spot instances will be added as worker node.
- taints
Mapping[str, Taint
Args] - Custom k8s node taints to be attached to each worker node. Adds the given taints to the
--register-with-taints
kubelet argument - version str
- Desired Kubernetes master / control plane version. If you do not specify a value, the latest available version is used.
- cluster eks:Cluster | Property Map
- The target EKS cluster.
- ami
Id String The AMI ID to use for the worker nodes.
Defaults to the latest recommended EKS Optimized Linux AMI from the AWS Systems Manager Parameter Store.
Note:
amiId
andgpu
are mutually exclusive.See for more details:
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html.
- ami
Type String The AMI Type to use for the worker nodes.
Only applicable when setting an AMI ID that is of type
arm64
.Note:
amiType
andgpu
are mutually exclusive.- Map<String>
The tags to apply to the NodeGroup's AutoScalingGroup in the CloudFormation Stack.
Per AWS, all stack-level tags, including automatically created tags, and the
cloudFormationTags
option are propagated to resources that AWS CloudFormation supports, including the AutoScalingGroup. See https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.htmlNote: Given the inheritance of auto-generated CF tags and
cloudFormationTags
, you should either supply the tag inautoScalingGroupTags
orcloudFormationTags
, but not both.- bootstrap
Extra StringArgs - Additional args to pass directly to
/etc/eks/bootstrap.sh
. For details on available options, see: https://github.com/awslabs/amazon-eks-ami/blob/master/files/bootstrap.sh. Note that the--apiserver-endpoint
,--b64-cluster-ca
and--kubelet-extra-args
flags are included automatically based on other configuration parameters. - Map<String>
The tags to apply to the CloudFormation Stack of the Worker NodeGroup.
Note: Given the inheritance of auto-generated CF tags and
cloudFormationTags
, you should either supply the tag inautoScalingGroupTags
orcloudFormationTags
, but not both.- cluster
Ingress aws:ec2:SecurityRule Group Rule - The ingress rule that gives node group access. This type is defined in the AWS Classic package.
- desired
Capacity Number - The number of worker nodes that should be running in the cluster. Defaults to 2.
- encrypt
Root BooleanBlock Device - Encrypt the root block device of the nodes in the node group.
- extra
Node List<aws:ec2:SecuritySecurity Groups Group> Extra security groups to attach on all nodes in this worker node group.
This additional set of security groups captures any user application rules that will be needed for the nodes.
- gpu Boolean
Use the latest recommended EKS Optimized Linux AMI with GPU support for the worker nodes from the AWS Systems Manager Parameter Store.
Defaults to false.
Note:
gpu
andamiId
are mutually exclusive.See for more details:
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
- https://docs.aws.amazon.com/eks/latest/userguide/retrieve-ami-id.html
- instance
Profile aws:iam:InstanceProfile - The ingress rule that gives node group access. This type is defined in the AWS Classic package.
- instance
Type String - The instance type to use for the cluster's nodes. Defaults to "t2.medium".
- key
Name String - Name of the key pair to use for SSH access to worker nodes.
- kubelet
Extra StringArgs - Extra args to pass to the Kubelet. Corresponds to the options passed in the
--kubeletExtraArgs
flag to/etc/eks/bootstrap.sh
. For example, '--port=10251 --address=0.0.0.0'. Note that thelabels
andtaints
properties will be applied to this list (using--node-labels
and--register-with-taints
respectively) after to the explicitkubeletExtraArgs
. - labels Map<String>
- Custom k8s node labels to be attached to each worker node. Adds the given key/value pairs to the
--node-labels
kubelet argument. - List<Property Map>
- The tag specifications to apply to the launch template.
- max
Size Number - The maximum number of worker nodes running in the cluster. Defaults to 2.
- min
Refresh NumberPercentage - The minimum amount of instances that should remain available during an instance refresh, expressed as a percentage. Defaults to 50.
- min
Size Number - The minimum number of worker nodes running in the cluster. Defaults to 1.
- node
Associate BooleanPublic Ip Address - Whether or not to auto-assign public IP addresses on the EKS worker nodes. If this toggle is set to true, the EKS workers will be auto-assigned public IPs. If false, they will not be auto-assigned public IPs.
- node
Public StringKey - Public key material for SSH access to worker nodes. See allowed formats at: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html If not provided, no SSH access is enabled on VMs.
- node
Root NumberVolume Size - The size in GiB of a cluster node's root volume. Defaults to 20.
- node
Security aws:ec2:SecurityGroup Group The security group for the worker node group to communicate with the cluster.
This security group requires specific inbound and outbound rules.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html
Note: The
nodeSecurityGroup
option and the cluster optionnodeSecurityGroupTags
are mutually exclusive. This type is defined in the AWS Classic package.- node
Subnet List<String>Ids The set of subnets to override and use for the worker node group.
Setting this option overrides which subnets to use for the worker node group, regardless if the cluster's
subnetIds
is set, or ifpublicSubnetIds
and/orprivateSubnetIds
were set.- node
User StringData - Extra code to run on node startup. This code will run after the AWS EKS bootstrapping code and before the node signals its readiness to the managing CloudFormation stack. This code must be a typical user data script: critically it must begin with an interpreter directive (i.e. a
#!
). - node
User StringData Override User specified code to run on node startup. This code is expected to handle the full AWS EKS bootstrapping code and signal node readiness to the managing CloudFormation stack. This code must be a complete and executable user data script in bash (Linux) or powershell (Windows).
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/worker.html
- spot
Price String - Bidding price for spot instance. If set, only spot instances will be added as worker node.
- taints Map<Property Map>
- Custom k8s node taints to be attached to each worker node. Adds the given taints to the
--register-with-taints
kubelet argument - version String
- Desired Kubernetes master / control plane version. If you do not specify a value, the latest available version is used.
Outputs
All input properties are implicitly available as output properties. Additionally, the NodeGroupV2 resource produces the following output properties:
- Auto
Scaling Pulumi.Group Aws. Auto Scaling. Group - The AutoScalingGroup for the Node group. This type is defined in the AWS Classic package.
- Auto
Scaling GroupGroup - The AutoScalingGroup for the Node group. This type is defined in the AWS Classic package.
- auto
Scaling GroupGroup - The AutoScalingGroup for the Node group. This type is defined in the AWS Classic package.
- auto
Scaling pulumiGroup Awsautoscaling Group - The AutoScalingGroup for the Node group. This type is defined in the AWS Classic package.
- auto_
scaling_ pulumi_group aws.autoscaling. Group - The AutoScalingGroup for the Node group. This type is defined in the AWS Classic package.
- auto
Scaling aws:autoscaling:GroupGroup - The AutoScalingGroup for the Node group. This type is defined in the AWS Classic package.
Supporting Types
ClusterNodeGroupOptions, ClusterNodeGroupOptionsArgs
- Ami
Id string The AMI ID to use for the worker nodes.
Defaults to the latest recommended EKS Optimized Linux AMI from the AWS Systems Manager Parameter Store.
Note:
amiId
andgpu
are mutually exclusive.See for more details:
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html.
- Ami
Type string The AMI Type to use for the worker nodes.
Only applicable when setting an AMI ID that is of type
arm64
.Note:
amiType
andgpu
are mutually exclusive.- Dictionary<string, string>
The tags to apply to the NodeGroup's AutoScalingGroup in the CloudFormation Stack.
Per AWS, all stack-level tags, including automatically created tags, and the
cloudFormationTags
option are propagated to resources that AWS CloudFormation supports, including the AutoScalingGroup. See https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.htmlNote: Given the inheritance of auto-generated CF tags and
cloudFormationTags
, you should either supply the tag inautoScalingGroupTags
orcloudFormationTags
, but not both.- Bootstrap
Extra stringArgs - Additional args to pass directly to
/etc/eks/bootstrap.sh
. For details on available options, see: https://github.com/awslabs/amazon-eks-ami/blob/master/files/bootstrap.sh. Note that the--apiserver-endpoint
,--b64-cluster-ca
and--kubelet-extra-args
flags are included automatically based on other configuration parameters. - Dictionary<string, string>
The tags to apply to the CloudFormation Stack of the Worker NodeGroup.
Note: Given the inheritance of auto-generated CF tags and
cloudFormationTags
, you should either supply the tag inautoScalingGroupTags
orcloudFormationTags
, but not both.- Cluster
Ingress Pulumi.Rule Aws. Ec2. Security Group Rule - The ingress rule that gives node group access. This type is defined in the AWS Classic package.
- Desired
Capacity int - The number of worker nodes that should be running in the cluster. Defaults to 2.
- Encrypt
Root boolBlock Device - Encrypt the root block device of the nodes in the node group.
- Extra
Node List<Pulumi.Security Groups Aws. Ec2. Security Group> Extra security groups to attach on all nodes in this worker node group.
This additional set of security groups captures any user application rules that will be needed for the nodes.
- Gpu bool
Use the latest recommended EKS Optimized Linux AMI with GPU support for the worker nodes from the AWS Systems Manager Parameter Store.
Defaults to false.
Note:
gpu
andamiId
are mutually exclusive.See for more details:
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
- https://docs.aws.amazon.com/eks/latest/userguide/retrieve-ami-id.html
- Instance
Profile Pulumi.Aws. Iam. Instance Profile - The ingress rule that gives node group access. This type is defined in the AWS Classic package.
- Instance
Type string - The instance type to use for the cluster's nodes. Defaults to "t2.medium".
- Key
Name string - Name of the key pair to use for SSH access to worker nodes.
- Kubelet
Extra stringArgs - Extra args to pass to the Kubelet. Corresponds to the options passed in the
--kubeletExtraArgs
flag to/etc/eks/bootstrap.sh
. For example, '--port=10251 --address=0.0.0.0'. Note that thelabels
andtaints
properties will be applied to this list (using--node-labels
and--register-with-taints
respectively) after to the explicitkubeletExtraArgs
. - Labels Dictionary<string, string>
- Custom k8s node labels to be attached to each worker node. Adds the given key/value pairs to the
--node-labels
kubelet argument. - Max
Size int - The maximum number of worker nodes running in the cluster. Defaults to 2.
- Min
Size int - The minimum number of worker nodes running in the cluster. Defaults to 1.
- Node
Associate boolPublic Ip Address - Whether or not to auto-assign public IP addresses on the EKS worker nodes. If this toggle is set to true, the EKS workers will be auto-assigned public IPs. If false, they will not be auto-assigned public IPs.
- Node
Public stringKey - Public key material for SSH access to worker nodes. See allowed formats at: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html If not provided, no SSH access is enabled on VMs.
- Node
Root intVolume Size - The size in GiB of a cluster node's root volume. Defaults to 20.
- Node
Security Pulumi.Group Aws. Ec2. Security Group The security group for the worker node group to communicate with the cluster.
This security group requires specific inbound and outbound rules.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html
Note: The
nodeSecurityGroup
option and the cluster optionnodeSecurityGroupTags
are mutually exclusive. This type is defined in the AWS Classic package.- Node
Subnet List<string>Ids The set of subnets to override and use for the worker node group.
Setting this option overrides which subnets to use for the worker node group, regardless if the cluster's
subnetIds
is set, or ifpublicSubnetIds
and/orprivateSubnetIds
were set.- Node
User stringData - Extra code to run on node startup. This code will run after the AWS EKS bootstrapping code and before the node signals its readiness to the managing CloudFormation stack. This code must be a typical user data script: critically it must begin with an interpreter directive (i.e. a
#!
). - Node
User stringData Override User specified code to run on node startup. This code is expected to handle the full AWS EKS bootstrapping code and signal node readiness to the managing CloudFormation stack. This code must be a complete and executable user data script in bash (Linux) or powershell (Windows).
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/worker.html
- Spot
Price string - Bidding price for spot instance. If set, only spot instances will be added as worker node.
- Taints Dictionary<string, Taint>
- Custom k8s node taints to be attached to each worker node. Adds the given taints to the
--register-with-taints
kubelet argument - Version string
- Desired Kubernetes master / control plane version. If you do not specify a value, the latest available version is used.
- Ami
Id string The AMI ID to use for the worker nodes.
Defaults to the latest recommended EKS Optimized Linux AMI from the AWS Systems Manager Parameter Store.
Note:
amiId
andgpu
are mutually exclusive.See for more details:
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html.
- Ami
Type string The AMI Type to use for the worker nodes.
Only applicable when setting an AMI ID that is of type
arm64
.Note:
amiType
andgpu
are mutually exclusive.- map[string]string
The tags to apply to the NodeGroup's AutoScalingGroup in the CloudFormation Stack.
Per AWS, all stack-level tags, including automatically created tags, and the
cloudFormationTags
option are propagated to resources that AWS CloudFormation supports, including the AutoScalingGroup. See https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.htmlNote: Given the inheritance of auto-generated CF tags and
cloudFormationTags
, you should either supply the tag inautoScalingGroupTags
orcloudFormationTags
, but not both.- Bootstrap
Extra stringArgs - Additional args to pass directly to
/etc/eks/bootstrap.sh
. For details on available options, see: https://github.com/awslabs/amazon-eks-ami/blob/master/files/bootstrap.sh. Note that the--apiserver-endpoint
,--b64-cluster-ca
and--kubelet-extra-args
flags are included automatically based on other configuration parameters. - map[string]string
The tags to apply to the CloudFormation Stack of the Worker NodeGroup.
Note: Given the inheritance of auto-generated CF tags and
cloudFormationTags
, you should either supply the tag inautoScalingGroupTags
orcloudFormationTags
, but not both.- Cluster
Ingress SecurityRule Group Rule - The ingress rule that gives node group access. This type is defined in the AWS Classic package.
- Desired
Capacity int - The number of worker nodes that should be running in the cluster. Defaults to 2.
- Encrypt
Root boolBlock Device - Encrypt the root block device of the nodes in the node group.
- Extra
Node SecuritySecurity Groups Group Extra security groups to attach on all nodes in this worker node group.
This additional set of security groups captures any user application rules that will be needed for the nodes.
- Gpu bool
Use the latest recommended EKS Optimized Linux AMI with GPU support for the worker nodes from the AWS Systems Manager Parameter Store.
Defaults to false.
Note:
gpu
andamiId
are mutually exclusive.See for more details:
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
- https://docs.aws.amazon.com/eks/latest/userguide/retrieve-ami-id.html
- Instance
Profile InstanceProfile - The ingress rule that gives node group access. This type is defined in the AWS Classic package.
- Instance
Type string - The instance type to use for the cluster's nodes. Defaults to "t2.medium".
- Key
Name string - Name of the key pair to use for SSH access to worker nodes.
- Kubelet
Extra stringArgs - Extra args to pass to the Kubelet. Corresponds to the options passed in the
--kubeletExtraArgs
flag to/etc/eks/bootstrap.sh
. For example, '--port=10251 --address=0.0.0.0'. Note that thelabels
andtaints
properties will be applied to this list (using--node-labels
and--register-with-taints
respectively) after to the explicitkubeletExtraArgs
. - Labels map[string]string
- Custom k8s node labels to be attached to each worker node. Adds the given key/value pairs to the
--node-labels
kubelet argument. - Max
Size int - The maximum number of worker nodes running in the cluster. Defaults to 2.
- Min
Size int - The minimum number of worker nodes running in the cluster. Defaults to 1.
- Node
Associate boolPublic Ip Address - Whether or not to auto-assign public IP addresses on the EKS worker nodes. If this toggle is set to true, the EKS workers will be auto-assigned public IPs. If false, they will not be auto-assigned public IPs.
- Node
Public stringKey - Public key material for SSH access to worker nodes. See allowed formats at: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html If not provided, no SSH access is enabled on VMs.
- Node
Root intVolume Size - The size in GiB of a cluster node's root volume. Defaults to 20.
- Node
Security SecurityGroup Group The security group for the worker node group to communicate with the cluster.
This security group requires specific inbound and outbound rules.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html
Note: The
nodeSecurityGroup
option and the cluster optionnodeSecurityGroupTags
are mutually exclusive. This type is defined in the AWS Classic package.- Node
Subnet []stringIds The set of subnets to override and use for the worker node group.
Setting this option overrides which subnets to use for the worker node group, regardless if the cluster's
subnetIds
is set, or ifpublicSubnetIds
and/orprivateSubnetIds
were set.- Node
User stringData - Extra code to run on node startup. This code will run after the AWS EKS bootstrapping code and before the node signals its readiness to the managing CloudFormation stack. This code must be a typical user data script: critically it must begin with an interpreter directive (i.e. a
#!
). - Node
User stringData Override User specified code to run on node startup. This code is expected to handle the full AWS EKS bootstrapping code and signal node readiness to the managing CloudFormation stack. This code must be a complete and executable user data script in bash (Linux) or powershell (Windows).
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/worker.html
- Spot
Price string - Bidding price for spot instance. If set, only spot instances will be added as worker node.
- Taints map[string]Taint
- Custom k8s node taints to be attached to each worker node. Adds the given taints to the
--register-with-taints
kubelet argument - Version string
- Desired Kubernetes master / control plane version. If you do not specify a value, the latest available version is used.
- ami
Id String The AMI ID to use for the worker nodes.
Defaults to the latest recommended EKS Optimized Linux AMI from the AWS Systems Manager Parameter Store.
Note:
amiId
andgpu
are mutually exclusive.See for more details:
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html.
- ami
Type String The AMI Type to use for the worker nodes.
Only applicable when setting an AMI ID that is of type
arm64
.Note:
amiType
andgpu
are mutually exclusive.- Map<String,String>
The tags to apply to the NodeGroup's AutoScalingGroup in the CloudFormation Stack.
Per AWS, all stack-level tags, including automatically created tags, and the
cloudFormationTags
option are propagated to resources that AWS CloudFormation supports, including the AutoScalingGroup. See https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.htmlNote: Given the inheritance of auto-generated CF tags and
cloudFormationTags
, you should either supply the tag inautoScalingGroupTags
orcloudFormationTags
, but not both.- bootstrap
Extra StringArgs - Additional args to pass directly to
/etc/eks/bootstrap.sh
. For details on available options, see: https://github.com/awslabs/amazon-eks-ami/blob/master/files/bootstrap.sh. Note that the--apiserver-endpoint
,--b64-cluster-ca
and--kubelet-extra-args
flags are included automatically based on other configuration parameters. - Map<String,String>
The tags to apply to the CloudFormation Stack of the Worker NodeGroup.
Note: Given the inheritance of auto-generated CF tags and
cloudFormationTags
, you should either supply the tag inautoScalingGroupTags
orcloudFormationTags
, but not both.- cluster
Ingress SecurityRule Group Rule - The ingress rule that gives node group access. This type is defined in the AWS Classic package.
- desired
Capacity Integer - The number of worker nodes that should be running in the cluster. Defaults to 2.
- encrypt
Root BooleanBlock Device - Encrypt the root block device of the nodes in the node group.
- extra
Node List<SecuritySecurity Groups Group> Extra security groups to attach on all nodes in this worker node group.
This additional set of security groups captures any user application rules that will be needed for the nodes.
- gpu Boolean
Use the latest recommended EKS Optimized Linux AMI with GPU support for the worker nodes from the AWS Systems Manager Parameter Store.
Defaults to false.
Note:
gpu
andamiId
are mutually exclusive.See for more details:
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
- https://docs.aws.amazon.com/eks/latest/userguide/retrieve-ami-id.html
- instance
Profile InstanceProfile - The ingress rule that gives node group access. This type is defined in the AWS Classic package.
- instance
Type String - The instance type to use for the cluster's nodes. Defaults to "t2.medium".
- key
Name String - Name of the key pair to use for SSH access to worker nodes.
- kubelet
Extra StringArgs - Extra args to pass to the Kubelet. Corresponds to the options passed in the
--kubeletExtraArgs
flag to/etc/eks/bootstrap.sh
. For example, '--port=10251 --address=0.0.0.0'. Note that thelabels
andtaints
properties will be applied to this list (using--node-labels
and--register-with-taints
respectively) after to the explicitkubeletExtraArgs
. - labels Map<String,String>
- Custom k8s node labels to be attached to each worker node. Adds the given key/value pairs to the
--node-labels
kubelet argument. - max
Size Integer - The maximum number of worker nodes running in the cluster. Defaults to 2.
- min
Size Integer - The minimum number of worker nodes running in the cluster. Defaults to 1.
- node
Associate BooleanPublic Ip Address - Whether or not to auto-assign public IP addresses on the EKS worker nodes. If this toggle is set to true, the EKS workers will be auto-assigned public IPs. If false, they will not be auto-assigned public IPs.
- node
Public StringKey - Public key material for SSH access to worker nodes. See allowed formats at: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html If not provided, no SSH access is enabled on VMs.
- node
Root IntegerVolume Size - The size in GiB of a cluster node's root volume. Defaults to 20.
- node
Security SecurityGroup Group The security group for the worker node group to communicate with the cluster.
This security group requires specific inbound and outbound rules.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html
Note: The
nodeSecurityGroup
option and the cluster optionnodeSecurityGroupTags
are mutually exclusive. This type is defined in the AWS Classic package.- node
Subnet List<String>Ids The set of subnets to override and use for the worker node group.
Setting this option overrides which subnets to use for the worker node group, regardless if the cluster's
subnetIds
is set, or ifpublicSubnetIds
and/orprivateSubnetIds
were set.- node
User StringData - Extra code to run on node startup. This code will run after the AWS EKS bootstrapping code and before the node signals its readiness to the managing CloudFormation stack. This code must be a typical user data script: critically it must begin with an interpreter directive (i.e. a
#!
). - node
User StringData Override User specified code to run on node startup. This code is expected to handle the full AWS EKS bootstrapping code and signal node readiness to the managing CloudFormation stack. This code must be a complete and executable user data script in bash (Linux) or powershell (Windows).
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/worker.html
- spot
Price String - Bidding price for spot instance. If set, only spot instances will be added as worker node.
- taints Map<String,Taint>
- Custom k8s node taints to be attached to each worker node. Adds the given taints to the
--register-with-taints
kubelet argument - version String
- Desired Kubernetes master / control plane version. If you do not specify a value, the latest available version is used.
- ami
Id string The AMI ID to use for the worker nodes.
Defaults to the latest recommended EKS Optimized Linux AMI from the AWS Systems Manager Parameter Store.
Note:
amiId
andgpu
are mutually exclusive.See for more details:
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html.
- ami
Type string The AMI Type to use for the worker nodes.
Only applicable when setting an AMI ID that is of type
arm64
.Note:
amiType
andgpu
are mutually exclusive.- {[key: string]: string}
The tags to apply to the NodeGroup's AutoScalingGroup in the CloudFormation Stack.
Per AWS, all stack-level tags, including automatically created tags, and the
cloudFormationTags
option are propagated to resources that AWS CloudFormation supports, including the AutoScalingGroup. See https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.htmlNote: Given the inheritance of auto-generated CF tags and
cloudFormationTags
, you should either supply the tag inautoScalingGroupTags
orcloudFormationTags
, but not both.- bootstrap
Extra stringArgs - Additional args to pass directly to
/etc/eks/bootstrap.sh
. For details on available options, see: https://github.com/awslabs/amazon-eks-ami/blob/master/files/bootstrap.sh. Note that the--apiserver-endpoint
,--b64-cluster-ca
and--kubelet-extra-args
flags are included automatically based on other configuration parameters. - {[key: string]: string}
The tags to apply to the CloudFormation Stack of the Worker NodeGroup.
Note: Given the inheritance of auto-generated CF tags and
cloudFormationTags
, you should either supply the tag inautoScalingGroupTags
orcloudFormationTags
, but not both.- cluster
Ingress pulumiRule Awsec2Security Group Rule - The ingress rule that gives node group access. This type is defined in the AWS Classic package.
- desired
Capacity number - The number of worker nodes that should be running in the cluster. Defaults to 2.
- encrypt
Root booleanBlock Device - Encrypt the root block device of the nodes in the node group.
- extra
Node pulumiSecurity Groups Awsec2Security Group[] Extra security groups to attach on all nodes in this worker node group.
This additional set of security groups captures any user application rules that will be needed for the nodes.
- gpu boolean
Use the latest recommended EKS Optimized Linux AMI with GPU support for the worker nodes from the AWS Systems Manager Parameter Store.
Defaults to false.
Note:
gpu
andamiId
are mutually exclusive.See for more details:
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
- https://docs.aws.amazon.com/eks/latest/userguide/retrieve-ami-id.html
- instance
Profile pulumiAwsiam Instance Profile - The ingress rule that gives node group access. This type is defined in the AWS Classic package.
- instance
Type string - The instance type to use for the cluster's nodes. Defaults to "t2.medium".
- key
Name string - Name of the key pair to use for SSH access to worker nodes.
- kubelet
Extra stringArgs - Extra args to pass to the Kubelet. Corresponds to the options passed in the
--kubeletExtraArgs
flag to/etc/eks/bootstrap.sh
. For example, '--port=10251 --address=0.0.0.0'. Note that thelabels
andtaints
properties will be applied to this list (using--node-labels
and--register-with-taints
respectively) after to the explicitkubeletExtraArgs
. - labels {[key: string]: string}
- Custom k8s node labels to be attached to each worker node. Adds the given key/value pairs to the
--node-labels
kubelet argument. - max
Size number - The maximum number of worker nodes running in the cluster. Defaults to 2.
- min
Size number - The minimum number of worker nodes running in the cluster. Defaults to 1.
- node
Associate booleanPublic Ip Address - Whether or not to auto-assign public IP addresses on the EKS worker nodes. If this toggle is set to true, the EKS workers will be auto-assigned public IPs. If false, they will not be auto-assigned public IPs.
- node
Public stringKey - Public key material for SSH access to worker nodes. See allowed formats at: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html If not provided, no SSH access is enabled on VMs.
- node
Root numberVolume Size - The size in GiB of a cluster node's root volume. Defaults to 20.
- node
Security pulumiGroup Awsec2Security Group The security group for the worker node group to communicate with the cluster.
This security group requires specific inbound and outbound rules.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html
Note: The
nodeSecurityGroup
option and the cluster optionnodeSecurityGroupTags
are mutually exclusive. This type is defined in the AWS Classic package.- node
Subnet string[]Ids The set of subnets to override and use for the worker node group.
Setting this option overrides which subnets to use for the worker node group, regardless if the cluster's
subnetIds
is set, or ifpublicSubnetIds
and/orprivateSubnetIds
were set.- node
User stringData - Extra code to run on node startup. This code will run after the AWS EKS bootstrapping code and before the node signals its readiness to the managing CloudFormation stack. This code must be a typical user data script: critically it must begin with an interpreter directive (i.e. a
#!
). - node
User stringData Override User specified code to run on node startup. This code is expected to handle the full AWS EKS bootstrapping code and signal node readiness to the managing CloudFormation stack. This code must be a complete and executable user data script in bash (Linux) or powershell (Windows).
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/worker.html
- spot
Price string - Bidding price for spot instance. If set, only spot instances will be added as worker node.
- taints {[key: string]: Taint}
- Custom k8s node taints to be attached to each worker node. Adds the given taints to the
--register-with-taints
kubelet argument - version string
- Desired Kubernetes master / control plane version. If you do not specify a value, the latest available version is used.
- ami_
id str The AMI ID to use for the worker nodes.
Defaults to the latest recommended EKS Optimized Linux AMI from the AWS Systems Manager Parameter Store.
Note:
amiId
andgpu
are mutually exclusive.See for more details:
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html.
- ami_
type str The AMI Type to use for the worker nodes.
Only applicable when setting an AMI ID that is of type
arm64
.Note:
amiType
andgpu
are mutually exclusive.- Mapping[str, str]
The tags to apply to the NodeGroup's AutoScalingGroup in the CloudFormation Stack.
Per AWS, all stack-level tags, including automatically created tags, and the
cloudFormationTags
option are propagated to resources that AWS CloudFormation supports, including the AutoScalingGroup. See https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.htmlNote: Given the inheritance of auto-generated CF tags and
cloudFormationTags
, you should either supply the tag inautoScalingGroupTags
orcloudFormationTags
, but not both.- bootstrap_
extra_ strargs - Additional args to pass directly to
/etc/eks/bootstrap.sh
. For details on available options, see: https://github.com/awslabs/amazon-eks-ami/blob/master/files/bootstrap.sh. Note that the--apiserver-endpoint
,--b64-cluster-ca
and--kubelet-extra-args
flags are included automatically based on other configuration parameters. - Mapping[str, str]
The tags to apply to the CloudFormation Stack of the Worker NodeGroup.
Note: Given the inheritance of auto-generated CF tags and
cloudFormationTags
, you should either supply the tag inautoScalingGroupTags
orcloudFormationTags
, but not both.- cluster_
ingress_ pulumi_rule aws.ec2. Security Group Rule - The ingress rule that gives node group access. This type is defined in the AWS Classic package.
- desired_
capacity int - The number of worker nodes that should be running in the cluster. Defaults to 2.
- encrypt_
root_ boolblock_ device - Encrypt the root block device of the nodes in the node group.
- extra_
node_ Sequence[pulumi_security_ groups aws.ec2. Security Group] Extra security groups to attach on all nodes in this worker node group.
This additional set of security groups captures any user application rules that will be needed for the nodes.
- gpu bool
Use the latest recommended EKS Optimized Linux AMI with GPU support for the worker nodes from the AWS Systems Manager Parameter Store.
Defaults to false.
Note:
gpu
andamiId
are mutually exclusive.See for more details:
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
- https://docs.aws.amazon.com/eks/latest/userguide/retrieve-ami-id.html
- instance_
profile pulumi_aws.iam. Instance Profile - The ingress rule that gives node group access. This type is defined in the AWS Classic package.
- instance_
type str - The instance type to use for the cluster's nodes. Defaults to "t2.medium".
- key_
name str - Name of the key pair to use for SSH access to worker nodes.
- kubelet_
extra_ strargs - Extra args to pass to the Kubelet. Corresponds to the options passed in the
--kubeletExtraArgs
flag to/etc/eks/bootstrap.sh
. For example, '--port=10251 --address=0.0.0.0'. Note that thelabels
andtaints
properties will be applied to this list (using--node-labels
and--register-with-taints
respectively) after to the explicitkubeletExtraArgs
. - labels Mapping[str, str]
- Custom k8s node labels to be attached to each worker node. Adds the given key/value pairs to the
--node-labels
kubelet argument. - max_
size int - The maximum number of worker nodes running in the cluster. Defaults to 2.
- min_
size int - The minimum number of worker nodes running in the cluster. Defaults to 1.
- node_
associate_ boolpublic_ ip_ address - Whether or not to auto-assign public IP addresses on the EKS worker nodes. If this toggle is set to true, the EKS workers will be auto-assigned public IPs. If false, they will not be auto-assigned public IPs.
- node_
public_ strkey - Public key material for SSH access to worker nodes. See allowed formats at: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html If not provided, no SSH access is enabled on VMs.
- node_
root_ intvolume_ size - The size in GiB of a cluster node's root volume. Defaults to 20.
- node_
security_ pulumi_group aws.ec2. Security Group The security group for the worker node group to communicate with the cluster.
This security group requires specific inbound and outbound rules.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html
Note: The
nodeSecurityGroup
option and the cluster optionnodeSecurityGroupTags
are mutually exclusive. This type is defined in the AWS Classic package.- node_
subnet_ Sequence[str]ids The set of subnets to override and use for the worker node group.
Setting this option overrides which subnets to use for the worker node group, regardless if the cluster's
subnetIds
is set, or ifpublicSubnetIds
and/orprivateSubnetIds
were set.- node_
user_ strdata - Extra code to run on node startup. This code will run after the AWS EKS bootstrapping code and before the node signals its readiness to the managing CloudFormation stack. This code must be a typical user data script: critically it must begin with an interpreter directive (i.e. a
#!
). - node_
user_ strdata_ override User specified code to run on node startup. This code is expected to handle the full AWS EKS bootstrapping code and signal node readiness to the managing CloudFormation stack. This code must be a complete and executable user data script in bash (Linux) or powershell (Windows).
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/worker.html
- spot_
price str - Bidding price for spot instance. If set, only spot instances will be added as worker node.
- taints Mapping[str, Taint]
- Custom k8s node taints to be attached to each worker node. Adds the given taints to the
--register-with-taints
kubelet argument - version str
- Desired Kubernetes master / control plane version. If you do not specify a value, the latest available version is used.
- ami
Id String The AMI ID to use for the worker nodes.
Defaults to the latest recommended EKS Optimized Linux AMI from the AWS Systems Manager Parameter Store.
Note:
amiId
andgpu
are mutually exclusive.See for more details:
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html.
- ami
Type String The AMI Type to use for the worker nodes.
Only applicable when setting an AMI ID that is of type
arm64
.Note:
amiType
andgpu
are mutually exclusive.- Map<String>
The tags to apply to the NodeGroup's AutoScalingGroup in the CloudFormation Stack.
Per AWS, all stack-level tags, including automatically created tags, and the
cloudFormationTags
option are propagated to resources that AWS CloudFormation supports, including the AutoScalingGroup. See https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.htmlNote: Given the inheritance of auto-generated CF tags and
cloudFormationTags
, you should either supply the tag inautoScalingGroupTags
orcloudFormationTags
, but not both.- bootstrap
Extra StringArgs - Additional args to pass directly to
/etc/eks/bootstrap.sh
. For details on available options, see: https://github.com/awslabs/amazon-eks-ami/blob/master/files/bootstrap.sh. Note that the--apiserver-endpoint
,--b64-cluster-ca
and--kubelet-extra-args
flags are included automatically based on other configuration parameters. - Map<String>
The tags to apply to the CloudFormation Stack of the Worker NodeGroup.
Note: Given the inheritance of auto-generated CF tags and
cloudFormationTags
, you should either supply the tag inautoScalingGroupTags
orcloudFormationTags
, but not both.- cluster
Ingress aws:ec2:SecurityRule Group Rule - The ingress rule that gives node group access. This type is defined in the AWS Classic package.
- desired
Capacity Number - The number of worker nodes that should be running in the cluster. Defaults to 2.
- encrypt
Root BooleanBlock Device - Encrypt the root block device of the nodes in the node group.
- extra
Node List<aws:ec2:SecuritySecurity Groups Group> Extra security groups to attach on all nodes in this worker node group.
This additional set of security groups captures any user application rules that will be needed for the nodes.
- gpu Boolean
Use the latest recommended EKS Optimized Linux AMI with GPU support for the worker nodes from the AWS Systems Manager Parameter Store.
Defaults to false.
Note:
gpu
andamiId
are mutually exclusive.See for more details:
- https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
- https://docs.aws.amazon.com/eks/latest/userguide/retrieve-ami-id.html
- instance
Profile aws:iam:InstanceProfile - The ingress rule that gives node group access. This type is defined in the AWS Classic package.
- instance
Type String - The instance type to use for the cluster's nodes. Defaults to "t2.medium".
- key
Name String - Name of the key pair to use for SSH access to worker nodes.
- kubelet
Extra StringArgs - Extra args to pass to the Kubelet. Corresponds to the options passed in the
--kubeletExtraArgs
flag to/etc/eks/bootstrap.sh
. For example, '--port=10251 --address=0.0.0.0'. Note that thelabels
andtaints
properties will be applied to this list (using--node-labels
and--register-with-taints
respectively) after to the explicitkubeletExtraArgs
. - labels Map<String>
- Custom k8s node labels to be attached to each worker node. Adds the given key/value pairs to the
--node-labels
kubelet argument. - max
Size Number - The maximum number of worker nodes running in the cluster. Defaults to 2.
- min
Size Number - The minimum number of worker nodes running in the cluster. Defaults to 1.
- node
Associate BooleanPublic Ip Address - Whether or not to auto-assign public IP addresses on the EKS worker nodes. If this toggle is set to true, the EKS workers will be auto-assigned public IPs. If false, they will not be auto-assigned public IPs.
- node
Public StringKey - Public key material for SSH access to worker nodes. See allowed formats at: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html If not provided, no SSH access is enabled on VMs.
- node
Root NumberVolume Size - The size in GiB of a cluster node's root volume. Defaults to 20.
- node
Security aws:ec2:SecurityGroup Group The security group for the worker node group to communicate with the cluster.
This security group requires specific inbound and outbound rules.
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html
Note: The
nodeSecurityGroup
option and the cluster optionnodeSecurityGroupTags
are mutually exclusive. This type is defined in the AWS Classic package.- node
Subnet List<String>Ids The set of subnets to override and use for the worker node group.
Setting this option overrides which subnets to use for the worker node group, regardless if the cluster's
subnetIds
is set, or ifpublicSubnetIds
and/orprivateSubnetIds
were set.- node
User StringData - Extra code to run on node startup. This code will run after the AWS EKS bootstrapping code and before the node signals its readiness to the managing CloudFormation stack. This code must be a typical user data script: critically it must begin with an interpreter directive (i.e. a
#!
). - node
User StringData Override User specified code to run on node startup. This code is expected to handle the full AWS EKS bootstrapping code and signal node readiness to the managing CloudFormation stack. This code must be a complete and executable user data script in bash (Linux) or powershell (Windows).
See for more details: https://docs.aws.amazon.com/eks/latest/userguide/worker.html
- spot
Price String - Bidding price for spot instance. If set, only spot instances will be added as worker node.
- taints Map<Property Map>
- Custom k8s node taints to be attached to each worker node. Adds the given taints to the
--register-with-taints
kubelet argument - version String
- Desired Kubernetes master / control plane version. If you do not specify a value, the latest available version is used.
CoreData, CoreDataArgs
- Cluster
Pulumi.
Aws. Eks. Cluster - This type is defined in the AWS Classic package.
- Cluster
Iam Pulumi.Role Aws. Iam. Role - The IAM Role attached to the EKS Cluster This type is defined in the AWS Classic package.
- Cluster
Security Pulumi.Group Aws. Ec2. Security Group - This type is defined in the AWS Classic package.
- Endpoint string
- Instance
Roles List<Pulumi.Aws. Iam. Role> - Node
Group ClusterOptions Node Group Options - Provider
Pulumi.
Kubernetes. Provider - This type is defined in the pulumi package.
- Subnet
Ids List<string> - Vpc
Id string - Aws
Provider Pulumi.Aws. Provider - This type is defined in the pulumi package.
- Eks
Node Pulumi.Access Kubernetes. Core. V1. Config Map - This type is defined in the Kubernetes package.
- Encryption
Config Pulumi.Aws. Eks. Inputs. Cluster Encryption Config - This type is defined in the AWS Classic package.
- Fargate
Profile Pulumi.Aws. Eks. Fargate Profile - This type is defined in the AWS Classic package.
- Kubeconfig object
- Dictionary<string, string>
- Oidc
Provider Pulumi.Aws. Iam. Open Id Connect Provider - This type is defined in the AWS Classic package.
- Private
Subnet List<string>Ids - Public
Subnet List<string>Ids - Storage
Classes Dictionary<string, Pulumi.Kubernetes. Storage. V1. Storage Class> - Dictionary<string, string>
- Vpc
Cni Pulumi.Eks. Vpc Cni
- Cluster Cluster
- This type is defined in the AWS Classic package.
- Cluster
Iam RoleRole - The IAM Role attached to the EKS Cluster This type is defined in the AWS Classic package.
- Cluster
Security SecurityGroup Group - This type is defined in the AWS Classic package.
- Endpoint string
- Instance
Roles Role - Node
Group ClusterOptions Node Group Options - Provider Provider
- This type is defined in the pulumi package.
- Subnet
Ids []string - Vpc
Id string - Aws
Provider Provider - This type is defined in the pulumi package.
- Eks
Node ConfigAccess Map - This type is defined in the Kubernetes package.
- Encryption
Config ClusterEncryption Config - This type is defined in the AWS Classic package.
- Fargate
Profile FargateProfile - This type is defined in the AWS Classic package.
- Kubeconfig interface{}
- map[string]string
- Oidc
Provider OpenId Connect Provider - This type is defined in the AWS Classic package.
- Private
Subnet []stringIds - Public
Subnet []stringIds - Storage
Classes StorageClass - map[string]string
- Vpc
Cni VpcCni
- cluster Cluster
- This type is defined in the AWS Classic package.
- cluster
Iam RoleRole - The IAM Role attached to the EKS Cluster This type is defined in the AWS Classic package.
- cluster
Security SecurityGroup Group - This type is defined in the AWS Classic package.
- endpoint String
- instance
Roles List<Role> - node
Group ClusterOptions Node Group Options - provider Provider
- This type is defined in the pulumi package.
- subnet
Ids List<String> - vpc
Id String - aws
Provider Provider - This type is defined in the pulumi package.
- eks
Node ConfigAccess Map - This type is defined in the Kubernetes package.
- encryption
Config ClusterEncryption Config - This type is defined in the AWS Classic package.
- fargate
Profile FargateProfile - This type is defined in the AWS Classic package.
- kubeconfig Object
- Map<String,String>
- oidc
Provider OpenId Connect Provider - This type is defined in the AWS Classic package.
- private
Subnet List<String>Ids - public
Subnet List<String>Ids - storage
Classes Map<String,StorageClass> - Map<String,String>
- vpc
Cni VpcCni
- cluster
pulumi
Awseks Cluster - This type is defined in the AWS Classic package.
- cluster
Iam pulumiRole Awsiam Role - The IAM Role attached to the EKS Cluster This type is defined in the AWS Classic package.
- cluster
Security pulumiGroup Awsec2Security Group - This type is defined in the AWS Classic package.
- endpoint string
- instance
Roles pulumiAwsiam Role[] - node
Group ClusterOptions Node Group Options - provider
pulumi
Kubernetes Provider - This type is defined in the pulumi package.
- subnet
Ids string[] - vpc
Id string - aws
Provider pulumiAws Provider - This type is defined in the pulumi package.
- eks
Node pulumiAccess Kubernetescorev1Config Map - This type is defined in the Kubernetes package.
- encryption
Config pulumiAwstypesinputeks Cluster Encryption Config - This type is defined in the AWS Classic package.
- fargate
Profile pulumiAwseks Fargate Profile - This type is defined in the AWS Classic package.
- kubeconfig any
- {[key: string]: string}
- oidc
Provider pulumiAwsiam Open Id Connect Provider - This type is defined in the AWS Classic package.
- private
Subnet string[]Ids - public
Subnet string[]Ids - storage
Classes {[key: string]: pulumiKubernetesstoragev1Storage Class} - {[key: string]: string}
- vpc
Cni VpcCni
- cluster
pulumi_
aws.eks. Cluster - This type is defined in the AWS Classic package.
- cluster_
iam_ pulumi_role aws.iam. Role - The IAM Role attached to the EKS Cluster This type is defined in the AWS Classic package.
- cluster_
security_ pulumi_group aws.ec2. Security Group - This type is defined in the AWS Classic package.
- endpoint str
- instance_
roles Sequence[pulumi_aws.iam. Role] - node_
group_ Clusteroptions Node Group Options - provider
pulumi_
kubernetes. Provider - This type is defined in the pulumi package.
- subnet_
ids Sequence[str] - vpc_
id str - aws_
provider pulumi_aws. Provider - This type is defined in the pulumi package.
- eks_
node_ pulumi_access kubernetes.core.v1. Config Map - This type is defined in the Kubernetes package.
- encryption_
config pulumi_aws.eks. Cluster Encryption Config Args - This type is defined in the AWS Classic package.
- fargate_
profile pulumi_aws.eks. Fargate Profile - This type is defined in the AWS Classic package.
- kubeconfig Any
- Mapping[str, str]
- oidc_
provider pulumi_aws.iam. Open Id Connect Provider - This type is defined in the AWS Classic package.
- private_
subnet_ Sequence[str]ids - public_
subnet_ Sequence[str]ids - storage_
classes Mapping[str, pulumi_kubernetes.storage.v1. Storage Class] - Mapping[str, str]
- vpc_
cni VpcCni
- cluster aws:eks:Cluster
- This type is defined in the AWS Classic package.
- cluster
Iam aws:iam:RoleRole - The IAM Role attached to the EKS Cluster This type is defined in the AWS Classic package.
- cluster
Security aws:ec2:SecurityGroup Group - This type is defined in the AWS Classic package.
- endpoint String
- instance
Roles List<aws:iam:Role> - node
Group Property MapOptions - provider pulumi:providers:kubernetes
- This type is defined in the pulumi package.
- subnet
Ids List<String> - vpc
Id String - aws
Provider pulumi:providers:aws - This type is defined in the pulumi package.
- eks
Node kubernetes:core/v1:ConfigAccess Map - This type is defined in the Kubernetes package.
- encryption
Config Property Map - This type is defined in the AWS Classic package.
- fargate
Profile aws:eks:FargateProfile - This type is defined in the AWS Classic package.
- kubeconfig Any
- Map<String>
- oidc
Provider aws:iam:OpenId Connect Provider - This type is defined in the AWS Classic package.
- private
Subnet List<String>Ids - public
Subnet List<String>Ids - storage
Classes Map<kubernetes:storage.k8s.io/v1:StorageClass> - Map<String>
- vpc
Cni eks:VpcCni
Taint, TaintArgs
Package Details
- Repository
- Amazon EKS pulumi/pulumi-eks
- License
- Apache-2.0