Karpenter¶
This toolset lets HolmesGPT investigate Karpenter node autoscaling — why pods stay Pending, why a NodeClaim never becomes a real Node, and why Karpenter is disrupting (consolidating, expiring, drifting) nodes you didn't expect.
The integration is split into two toolsets:
karpenter/core— cloud-agnostic tools: NodePools, NodeClaims, disruption events, controller logs, pending pods. Works on any cluster running upstream Karpenter (AWS, Azure, GCP, on-prem).karpenter/aws— AWS-specific tools for inspectingEC2NodeClassresources (AMI selectors, subnets, security groups, IAM instance profile, userdata). Requires the Karpenter AWS provider CRDs.
Prerequisites¶
kubectlconfigured against a cluster where Karpenter is installed- Karpenter CRDs present in the cluster (
nodepools.karpenter.sh) forkarpenter/core - Karpenter AWS provider CRDs (
ec2nodeclasses.karpenter.k8s.aws) forkarpenter/aws
Each toolset runs its own CRD health check on startup. On AKS/GKE clusters, karpenter/aws stays disabled automatically when the AWS provider is not installed.
By default karpenter_controller_logs reads from the karpenter namespace (the upstream Helm chart default). On EKS managed add-on installs — where Karpenter runs in kube-system — Holmes will pass ns: kube-system to the tool.