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
diskSize: integer
instanceTypes:
- string
labels: {}
launchTemplate:
id: string
name: string
version: string
name: string
nodeRole: string
nodeRoleRef:
from:
name: string
releaseVersion: string
remoteAccess:
ec2SshKey: string
sourceSecurityGroupRefs:
from:
name: string
sourceSecurityGroups:
- string
scalingConfig:
desiredSize: integer
maxSize: integer
minSize: integer
subnetRefs:
from:
name: 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 Launch template support (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 Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. |
clusterName Optional | string The name of the cluster to create the node group in. |
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 |
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 Launch template support (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 Launch template support (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. If specified, then do not specify instanceTypes, diskSize, or remoteAccess and make sure that the launch template meets the requirements in launchTemplateSpecification. |
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 Launch template support (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 |
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 Launch template support (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 Launch template support (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.name Optional | string |
remoteAccess.sourceSecurityGroups Optional | array |
remoteAccess.sourceSecurityGroups.[] Required | string |
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.name 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 Launch template support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) in the Amazon EKS User Guide. |
subnets.[] Required | string |
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 set of pods. 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.[].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 Launch template support (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 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. TODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse 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 in seconds for when the managed node group was created. |
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. |