Karpenter Workflow — from Unschedulable Pod to Node Provisioning

Karpenter Workflow — from Unschedulable Pod to Node Provisioning A sequence diagram generated by Archify. Pod creation (unschedulable) Pod event notification Inside Karpenter: analyze pod requirements → evaluate NodePool and EC2NodeClass Query instance types/prices Return instance information Request node provisioning Create instance Node registration Node event notification Set node labels and taints Schedule pod 1. Detect · analyze requirements · evaluate NodePool and EC2NodeClass 2. Provision 3. Register and schedule Pod · pending scheduling · Sequence participant Pod pending scheduling Kubernetes API · Sequence participant Kubernetes API Karpenter · Controller · Sequence participant Karpenter Controller AWS EC2 API · Sequence participant AWS EC2 API New Node · new EC2 instance · Sequence participant New Node new EC2 instance Legend request return default message

Inside Karpenter

  • • Analyze pod requirements (resources, node selectors, tolerations)
  • • Decide the node type from the NodePool and EC2NodeClass configuration