Nodegroup
eks.services.k8s.aws/v1alpha1
Type | Link |
---|---|
GoDoc | eks-controller/apis/v1alpha1#Nodegroup |
Metadata
Property | Value |
---|---|
Scope | Namespaced |
Kind | Nodegroup |
ListKind | NodegroupList |
Plural | nodegroups |
Singular | nodegroup |
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
Field | Description |
---|---|
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
Field | Description |
---|---|
ackResourceMetadata Optional | object All CRs managed by ACK have a common Status.ACKResourceMetadata memberthat 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 thatcontains a collection of ackv1alpha1.Condition objects that describethe 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. |