karpenter.k8s.aws/v1
·EC2NodeClass
EC2NodeClass is the Schema for the EC2NodeClass API
Click on Property Name to show the description, and Pink Types to expand schema.
Required properties are marked with *
Change History
Karpenter v1.3.3
Karpenter v1.3.2
Karpenter v1.3.1
Karpenter v1.3.0
2 properties have been added on this version
- .spec.capacityReservationSelectorTerms
- .status.capacityReservations
2 properties have changed the description
- .spec.securityGroupSelectorTerms
- .spec.subnetSelectorTerms
Karpenter v1.2.3
Karpenter v1.2.2
Karpenter v1.2.1
Karpenter v1.2.0
Karpenter v1.1.5
Karpenter v1.1.4
Karpenter v1.1.3
Karpenter v1.1.2
Karpenter v1.1.1
1 property has been added on this version
- .status.amis.deprecated
4 properties have changed the description
- .spec.amiSelectorTerms.tags
- .spec.securityGroupSelectorTerms.tags
- .status.securityGroups
- .status.subnets
Karpenter v1.1.0
Karpenter v1.0.9
Karpenter v1.0.8
Karpenter v1.0.7
Karpenter v1.0.6
Karpenter v1.0.5
Karpenter v1.0.4
Karpenter v1.0.3
Karpenter v1.0.2
4 properties have changed the description
- .spec.blockDeviceMappings.ebs.iops
- .spec.blockDeviceMappings.ebs.volumeSize
- .spec.metadataOptions
- .status.conditions.type
Karpenter v1.0.1
Examples
There is 1 example of EC2NodeClass that you can use as a starting point to create your own.
apiVersion: karpenter.k8s.aws/v1 kind: EC2NodeClass metadata: name: private spec: metadataOptions: # Set the hop limit to 2 to allow containers to contact the Instance Metadata # Service (IMDS) https://github.com/kubernetes-sigs/karpenter/issues/1769 httpPutResponseHopLimit: 2 blockDeviceMappings: # Use encrypted, gp3, 50Gi root volumes - deviceName: /dev/xvda ebs: volumeSize: 50Gi volumeType: gp3 encrypted: true # Required: Use an specific Amazon Linux 2023 AMI release compatible with the instance type # https://github.com/awslabs/amazon-eks-ami/releases amiFamily: AL2023 amiSelectorTerms: - alias: al2023@v20250317 # IAM role name to use as the node role role: KarpenterNode # Don't associate a public IP address with the node, even if the subnet defaults to doing so associatePublicIPAddress: false subnetSelectorTerms: # Required: Launch nodes in subnets with the following tags - tags: karpenter.sh/discovery: cluster-private karpenter.sh/discovery/private: "true" securityGroupSelectorTerms: # Required: Launch nodes in security groups with the following tags - tags: karpenter.sh/discovery: cluster-worke tags: # Propagate AWS tags to the EC2 instances launched using this class karpenter.sh/discovery: cluster-private