liveBook · Manning

EC2NodeClass

As explained in Effective Platform Engineering

An EC2NodeClass is a Karpenter resource that defines the AWS compute configuration from which Kubernetes nodes are launched.

EC2NodeClass is a Karpenter resource that defines the AWS compute configuration used to launch Kubernetes nodes. A default class centralizes the AMI family, IAM role, subnets, and security groups for shared platform capacity. section 7.4.5

A practical default configuration:

  • Supports separate node pools for architectures, capacity types, instance categories, families, and sizes. section 7.4.5

Default node class

Apply a default-node-class manifest alongside NodePool resources; the NodePool references it through nodeClassRef, separating AWS infrastructure settings from scheduling requirements.

How Effective Platform Engineering covers it

How deep it goes
Specifies AMI, IAM, subnet, and security-group selectors, while deferring workload-specific constraints to NodePool resources.
Examples
Uses a Bottlerocket class with discovery-tag selectors and separate ARM and Intel pool definitions.
What it assumes
Assumes Kubernetes and Karpenter resource familiarity while establishing shared AWS node defaults.
What you can do after
Operate Karpenter capacity by applying an EC2NodeClass and referencing it from NodePool resources.
How it connects
Links Karpenter, NodePool, Kubernetes nodes, IAM roles, AMIs, subnets, and security groups.

This explainer was generated by Manning's knowledge graph from the text of Effective Platform Engineering. The section links point to the parts of the book it draws on.