Nodegroup

eks.services.k8s.aws/v1alpha1

TypeLink
GoDoceks-controller/apis/v1alpha1#Nodegroup

Metadata

PropertyValue
ScopeNamespaced
KindNodegroup
ListKindNodegroupList
Pluralnodegroups
Singularnodegroup

An object representing an Amazon EKS managed node group.

Spec

amiType: string
capacityType: string
clientRequestToken: string
clusterName: string
clusterRef: 
  from: 
    name: string
    namespace: string
diskSize: integer
instanceTypes:
- string
labels: {}
launchTemplate: 
  id: string
  name: string
  version: string
name: string
nodeRole: string
nodeRoleRef: 
  from: 
    name: string
    namespace: string
releaseVersion: string
remoteAccess: 
  ec2SshKey: string
  sourceSecurityGroupRefs:
    from: 
      name: string
      namespace: string
  sourceSecurityGroups:
  - string
scalingConfig: 
  desiredSize: integer
  maxSize: integer
  minSize: integer
subnetRefs:
  from: 
    name: string
    namespace: string
subnets:
- string
tags: {}
taints:
- effect: string
  key: string
  value: string
updateConfig: 
  maxUnavailable: integer
  maxUnavailablePercentage: integer
version: string
FieldDescription
amiType
Optional
string
The AMI type for your node group. If you specify launchTemplate, and your
launch template uses a custom AMI, then don’t specify amiType, or the node
group deployment will fail. If your launch template uses a Windows custom
AMI, then add eks:kube-proxy-windows to your Windows nodes rolearn in the
aws-auth ConfigMap. For more information about using launch templates with
Amazon EKS, see Customizing managed nodes with launch templates (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html)
in the Amazon EKS User Guide.
capacityType
Optional
string
The capacity type for your node group.
clientRequestToken
Optional
string
A unique, case-sensitive identifier that you provide to ensure the idempotency
of the request.
clusterName
Optional
string
The name of your cluster.
clusterRef
Optional
object
AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference
type to provide more user friendly syntax for references using ‘from’ field
Ex:
APIIDRef:

from:
name: my-api
clusterRef.from
Optional
object
AWSResourceReference provides all the values necessary to reference another
k8s resource for finding the identifier(Id/ARN/Name)
clusterRef.from.name
Optional
string
clusterRef.from.namespace
Optional
string
diskSize
Optional
integer
The root device disk size (in GiB) for your node group instances. The default
disk size is 20 GiB for Linux and Bottlerocket. The default disk size is
50 GiB for Windows. 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 Customizing managed nodes with launch
templates (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html)
in the Amazon EKS User Guide.
instanceTypes
Optional
array
Specify the instance types for a node group. If you specify a GPU instance
type, make sure to also specify an applicable GPU AMI type with the amiType
parameter. If you specify launchTemplate, then you can specify zero or one
instance type in your launch template or you can specify 0-20 instance types
for instanceTypes. If however, you specify an instance type in your launch
template and specify any instanceTypes, the node group deployment will fail.
If you don’t specify an instance type in a launch template or for instanceTypes,
then t3.medium is used, by default. If you specify Spot for capacityType,
then we recommend specifying multiple values for instanceTypes. For more
information, see Managed node group capacity types (https://docs.aws.amazon.com/eks/latest/userguide/managed-node-groups.html#managed-node-group-capacity-types)
and Customizing managed nodes with launch templates (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html)
in the Amazon EKS User Guide.
instanceTypes.[]
Required
string
launchTemplate
Optional
object
An object representing a node group’s launch template specification. When
using this object, don’t directly specify instanceTypes, diskSize, or remoteAccess.
Make sure that the launch template meets the requirements in launchTemplateSpecification.
Also refer to Customizing managed nodes with launch templates (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html)
in the Amazon EKS User Guide.
launchTemplate.id
Optional
string
launchTemplate.name
Optional
string
launchTemplate.version
Optional
string
name
Required
string
The unique name to give your node group.
nodeRole
Optional
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 Amazon Web
Services APIs on your behalf. Nodes receive permissions for these API calls
through an IAM instance profile and associated policies. Before you can launch
nodes and register them into a cluster, you must create an IAM role for those
nodes to use when they are launched. For more information, see Amazon EKS
node IAM role (https://docs.aws.amazon.com/eks/latest/userguide/create-node-role.html)
in the Amazon EKS User Guide . If you specify launchTemplate, then don’t
specify IamInstanceProfile (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_IamInstanceProfile.html)
in your launch template, or the node group deployment will fail. For more
information about using launch templates with Amazon EKS, see Customizing
managed nodes with launch templates (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html)
in the Amazon EKS User Guide.
nodeRoleRef
Optional
object
AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference
type to provide more user friendly syntax for references using ‘from’ field
Ex:
APIIDRef:

from:
name: my-api
nodeRoleRef.from
Optional
object
AWSResourceReference provides all the values necessary to reference another
k8s resource for finding the identifier(Id/ARN/Name)
nodeRoleRef.from.name
Optional
string
nodeRoleRef.from.namespace
Optional
string
releaseVersion
Optional
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 information about Linux versions, see Amazon
EKS optimized Amazon Linux AMI versions (https://docs.aws.amazon.com/eks/latest/userguide/eks-linux-ami-versions.html)
in the Amazon EKS User Guide. Amazon EKS managed node groups support the
November 2022 and later releases of the Windows AMIs. For information about
Windows versions, see Amazon EKS optimized Windows AMI versions (https://docs.aws.amazon.com/eks/latest/userguide/eks-ami-versions-windows.html)
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 Customizing
managed nodes with launch templates (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html)
in the Amazon EKS User Guide.
remoteAccess
Optional
object
The remote access configuration to use with your node group. For Linux, the
protocol is SSH. For Windows, the protocol is RDP. 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 Customizing
managed nodes with launch templates (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html)
in the Amazon EKS User Guide.
remoteAccess.ec2SshKey
Optional
string
remoteAccess.sourceSecurityGroupRefs
Optional
array
Reference field for SourceSecurityGroups
remoteAccess.sourceSecurityGroupRefs.[]
Required
object
AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference
type to provide more user friendly syntax for references using ‘from’ field
Ex:
APIIDRef:
from:
  name: my-api || **remoteAccess.sourceSecurityGroupRefs.[].from**<br/>Optional | **object**<br/>AWSResourceReference provides all the values necessary to reference another<br/>k8s resource for finding the identifier(Id/ARN/Name) |

| remoteAccess.sourceSecurityGroupRefs.[].from.name
Optional | string
| | remoteAccess.sourceSecurityGroupRefs.[].from.namespace
Optional | string
| | remoteAccess.sourceSecurityGroups
Optional | array
| | remoteAccess.sourceSecurityGroups.[]
Required | string
|| scalingConfig
Optional | object
The scaling configuration details for the Auto Scaling group that is created
for your node group. | | scalingConfig.desiredSize
Optional | integer
| | scalingConfig.maxSize
Optional | integer
| | scalingConfig.minSize
Optional | integer
| | subnetRefs
Optional | array
| | subnetRefs.[]
Required | object
AWSResourceReferenceWrapper provides a wrapper around *AWSResourceReference type to provide more user friendly syntax for references using ‘from’ field Ex: APIIDRef:

from:
  name: my-api || **subnetRefs.[].from**<br/>Optional | **object**<br/>AWSResourceReference provides all the values necessary to reference another<br/>k8s resource for finding the identifier(Id/ARN/Name) |

| subnetRefs.[].from.name
Optional | string
| | subnetRefs.[].from.namespace
Optional | string
| | subnets
Optional | array
The subnets to use for the Auto Scaling group that is created for your node
group. If you specify launchTemplate, then don’t specify SubnetId (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateNetworkInterface.html)
in your launch template, or the node group deployment will fail. For more
information about using launch templates with Amazon EKS, see Customizing
managed nodes with launch templates (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html)
in the Amazon EKS User Guide. | | subnets.[]
Required | string
|| tags
Optional | object
Metadata that assists with categorization and organization. Each tag consists
of a key and an optional value. You define both. Tags don’t propagate to
any other cluster or Amazon Web Services resources. | | taints
Optional | array
The Kubernetes taints to be applied to the nodes in the node group. For more
information, see Node taints on managed node groups (https://docs.aws.amazon.com/eks/latest/userguide/node-taints-managed-node-groups.html). | | taints.[]
Required | object
A property that allows a node to repel a Pod. For more information, see Node taints on managed node groups (https://docs.aws.amazon.com/eks/latest/userguide/node-taints-managed-node-groups.html) in the Amazon EKS User Guide. || taints.[].effect
Optional | string
| | taints.[].key
Optional | string
| | taints.[].value
Optional | string
| | updateConfig
Optional | object
The node group update configuration. | | updateConfig.maxUnavailable
Optional | integer
| | updateConfig.maxUnavailablePercentage
Optional | integer
| | version
Optional | 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 Customizing
managed nodes with launch templates (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html)
in the Amazon EKS User Guide. |

Status

ackResourceMetadata: 
  arn: string
  ownerAccountID: string
  region: string
conditions:
- lastTransitionTime: string
  message: string
  reason: string
  status: string
  type: string
createdAt: string
health: 
  issues:
  - code: string
    message: string
    resourceIDs:
    - string
modifiedAt: string
resources: 
  autoScalingGroups:
  - name: string
  remoteAccessSecurityGroup: string
status: string
FieldDescription
ackResourceMetadata
Optional
object
All CRs managed by ACK have a common Status.ACKResourceMetadata member
that is used to contain resource sync state, account ownership,
constructed ARN for the resource
ackResourceMetadata.arn
Optional
string
ARN is the Amazon Resource Name for the resource. This is a
globally-unique identifier and is set only by the ACK service controller
once the controller has orchestrated the creation of the resource OR
when it has verified that an “adopted” resource (a resource where the
ARN annotation was set by the Kubernetes user on the CR) exists and
matches the supplied CR’s Spec field values.
https://github.com/aws/aws-controllers-k8s/issues/270
ackResourceMetadata.ownerAccountID
Required
string
OwnerAccountID is the AWS Account ID of the account that owns the
backend AWS service API resource.
ackResourceMetadata.region
Required
string
Region is the AWS region in which the resource exists or will exist.
conditions
Optional
array
All CRS managed by ACK have a common Status.Conditions member that
contains a collection of ackv1alpha1.Condition objects that describe
the various terminal states of the CR and its backend AWS service API
resource
conditions.[]
Required
object
Condition is the common struct used by all CRDs managed by ACK service
controllers to indicate terminal states of the CR and its backend AWS
service API resource
conditions.[].message
Optional
string
A human readable message indicating details about the transition.
conditions.[].reason
Optional
string
The reason for the condition’s last transition.
conditions.[].status
Optional
string
Status of the condition, one of True, False, Unknown.
conditions.[].type
Optional
string
Type is the type of the Condition
createdAt
Optional
string
The Unix epoch timestamp at object creation.
health
Optional
object
The health status of the node group. If there are issues with your node group’s
health, they are listed here.
health.issues
Optional
array
health.issues.[]
Required
object
An object representing an issue with an Amazon EKS resource.
health.issues.[].message
Optional
string
health.issues.[].resourceIDs
Optional
array
health.issues.[].resourceIDs.[]
Required
string
resources
Optional
object
The resources associated with the node group, such as Auto Scaling groups
and security groups for remote access.
resources.autoScalingGroups
Optional
array
resources.autoScalingGroups.[]
Required
object
An Auto Scaling group that is associated with an Amazon EKS managed node
group.
resources.remoteAccessSecurityGroup
Optional
string
status
Optional
string
The current status of the managed node group.