You are viewing documentation for version 2 of the AWS SDK for Ruby. Version 3 documentation can be found here.
Class: Aws::EKS::Types::CreateNodegroupRequest
- Inherits:
-
Struct
- Object
- Struct
- Aws::EKS::Types::CreateNodegroupRequest
- Defined in:
- (unknown)
Overview
When passing CreateNodegroupRequest as input to an Aws::Client method, you can use a vanilla Hash:
{
cluster_name: "String", # required
nodegroup_name: "String", # required
scaling_config: {
min_size: 1,
max_size: 1,
desired_size: 1,
},
disk_size: 1,
subnets: ["String"], # required
instance_types: ["String"],
ami_type: "AL2_x86_64", # accepts AL2_x86_64, AL2_x86_64_GPU, AL2_ARM_64
remote_access: {
ec2_ssh_key: "String",
source_security_groups: ["String"],
},
node_role: "String", # required
labels: {
"labelKey" => "labelValue",
},
tags: {
"TagKey" => "TagValue",
},
client_request_token: "String",
launch_template: {
name: "String",
version: "String",
id: "String",
},
version: "String",
release_version: "String",
}
Instance Attribute Summary collapse
-
#ami_type ⇒ String
The AMI type for your node group.
-
#client_request_token ⇒ String
Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.
-
#cluster_name ⇒ String
The name of the cluster to create the node group in.
-
#disk_size ⇒ Integer
The root device disk size (in GiB) for your node group instances.
-
#instance_types ⇒ Array<String>
The instance type to use for your node group.
-
#labels ⇒ Hash<String,String>
The Kubernetes labels to be applied to the nodes in the node group when they are created.
-
#launch_template ⇒ Types::LaunchTemplateSpecification
An object representing a node group\'s launch template specification.
-
#node_role ⇒ String
The Amazon Resource Name (ARN) of the IAM role to associate with your node group.
-
#nodegroup_name ⇒ String
The unique name to give your node group.
-
#release_version ⇒ String
The AMI version of the Amazon EKS-optimized AMI to use with your node group.
-
#remote_access ⇒ Types::RemoteAccessConfig
The remote access (SSH) configuration to use with your node group.
-
#scaling_config ⇒ Types::NodegroupScalingConfig
The scaling configuration details for the Auto Scaling group that is created for your node group.
-
#subnets ⇒ Array<String>
The subnets to use for the Auto Scaling group that is created for your node group.
-
#tags ⇒ Hash<String,String>
The metadata to apply to the node group to assist with categorization and organization.
-
#version ⇒ String
The Kubernetes version to use for your managed nodes.
Instance Attribute Details
#ami_type ⇒ String
The AMI type for your node group. GPU instance types should use the
AL2_x86_64_GPU
AMI type. Non-GPU instances should use the AL2_x86_64
AMI type. Arm instances should use the AL2_ARM_64
AMI type. All types
use the Amazon EKS-optimized Amazon Linux 2 AMI. If you specify
launchTemplate
, and your launch template uses a custom AMI, then
don\'t specify amiType
, or the node group deployment will fail. For
more information about using launch templates with Amazon EKS, see
Launch template support in the Amazon EKS User Guide.
#client_request_token ⇒ String
Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.
#cluster_name ⇒ String
The name of the cluster to create the node group in.
#disk_size ⇒ Integer
The root device disk size (in GiB) for your node group instances. The
default disk size is 20 GiB. If you specify launchTemplate
, then
don\'t specify diskSize
, or the node group deployment will fail. For
more information about using launch templates with Amazon EKS, see
Launch template support in the Amazon EKS User Guide.
#instance_types ⇒ Array<String>
The instance type to use for your node group. You can specify a single
instance type for a node group. The default value for instanceTypes
is
t3.medium
. If you choose a GPU instance type, be sure to specify
AL2_x86_64_GPU
with the amiType
parameter. If you specify
launchTemplate
, then don\'t specify instanceTypes
, or the node group
deployment will fail. For more information about using launch templates
with Amazon EKS, see Launch template support in the Amazon EKS User
Guide.
#labels ⇒ Hash<String,String>
The Kubernetes labels to be applied to the nodes in the node group when they are created.
#launch_template ⇒ Types::LaunchTemplateSpecification
An object representing a node group\'s launch template specification. If
specified, then do not specify instanceTypes
, diskSize
, or
remoteAccess
and make sure that the launch template meets the
requirements in launchTemplateSpecification
.
#node_role ⇒ String
The Amazon Resource Name (ARN) of the IAM role to associate with your
node group. The Amazon EKS worker node kubelet
daemon makes calls to
AWS APIs on your behalf. Worker nodes receive permissions for these API
calls through an IAM instance profile and associated policies. Before
you can launch worker nodes and register them into a cluster, you must
create an IAM role for those worker nodes to use when they are launched.
For more information, see Amazon EKS Worker Node IAM Role in the
Amazon EKS User Guide . If you specify launchTemplate
,
then don\'t specify IamInstanceProfile
in your launch template,
or the node group deployment will fail. For more information about using
launch templates with Amazon EKS, see Launch template support in
the Amazon EKS User Guide.
#nodegroup_name ⇒ String
The unique name to give your node group.
#release_version ⇒ String
The AMI version of the Amazon EKS-optimized AMI to use with your node
group. By default, the latest available AMI version for the node
group\'s current Kubernetes version is used. For more information, see
Amazon EKS-Optimized Linux AMI Versions in the Amazon EKS User
Guide. If you specify launchTemplate
, and your launch template uses a
custom AMI, then don\'t specify releaseVersion
, or the node group
deployment will fail. For more information about using launch templates
with Amazon EKS, see Launch template support in the Amazon EKS User
Guide.
#remote_access ⇒ Types::RemoteAccessConfig
The remote access (SSH) configuration to use with your node group. If
you specify launchTemplate
, then don\'t specify remoteAccess
, or the
node group deployment will fail. For more information about using launch
templates with Amazon EKS, see Launch template support in the
Amazon EKS User Guide.
#scaling_config ⇒ Types::NodegroupScalingConfig
The scaling configuration details for the Auto Scaling group that is created for your node group.
#subnets ⇒ Array<String>
The subnets to use for the Auto Scaling group that is created for your
node group. These subnets must have the tag key
kubernetes.io/cluster/CLUSTER_NAME
with a value of shared
, where
CLUSTER_NAME
is replaced with the name of your cluster. If you specify
launchTemplate
, then don\'t specify SubnetId
in your launch
template, or the node group deployment will fail. For more information
about using launch templates with Amazon EKS, see Launch template
support in the Amazon EKS User Guide.
#tags ⇒ Hash<String,String>
The metadata to apply to the node group to assist with categorization and organization. Each tag consists of a key and an optional value, both of which you define. Node group tags do not propagate to any other resources associated with the node group, such as the Amazon EC2 instances or subnets.
#version ⇒ String
The Kubernetes version to use for your managed nodes. By default, the
Kubernetes version of the cluster is used, and this is the only accepted
specified value. If you specify launchTemplate
, and your launch
template uses a custom AMI, then don\'t specify version
, or the node
group deployment will fail. For more information about using launch
templates with Amazon EKS, see Launch template support in the
Amazon EKS User Guide.