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/v1kind: EC2NodeClassmetadata:name: privatespec:metadataOptions:# Set the hop limit to 2 to allow containers to contact the Instance Metadata# Service (IMDS) https://github.com/kubernetes-sigs/karpenter/issues/1769httpPutResponseHopLimit: 2blockDeviceMappings:# Use encrypted, gp3, 50Gi root volumes- deviceName: /dev/xvdaebs:volumeSize: 50GivolumeType: gp3encrypted: true# Required: Use an specific Amazon Linux 2023 AMI release compatible with the instance type# https://github.com/awslabs/amazon-eks-ami/releasesamiFamily: AL2023amiSelectorTerms:- alias: al2023@v20250317# IAM role name to use as the node rolerole: KarpenterNode# Don't associate a public IP address with the node, even if the subnet defaults to doing soassociatePublicIPAddress: falsesubnetSelectorTerms:# Required: Launch nodes in subnets with the following tags- tags:karpenter.sh/discovery: cluster-privatekarpenter.sh/discovery/private: "true"securityGroupSelectorTerms:# Required: Launch nodes in security groups with the following tags- tags:karpenter.sh/discovery: cluster-worketags:# Propagate AWS tags to the EC2 instances launched using this classkarpenter.sh/discovery: cluster-private