Template Known Karpenter Values into Custom AMIFamily UserData

Author: yogeekCreated Nov 21, 2023Updated Sep 15, 2026
Labelsfeature

Description

Observed Behavior:

As explained in this Slack thread, I have an error when I do not specify the clusterEndpoint argument when installing karpenter

{"level":"FATAL","time":"2023-11-03T16:41:24.082Z","logger":"controller","message":"unable to detect the cluster endpoint, failed to resolve cluster endpoint,

The "clusterEndpoint" seems to be mandatory but in a non-EKS case, I do not see the use of such a parameter.

What exactly is the role of this argument please ?

If it is used for the node to be able to join the cluster, in my case, all the elements to do the "join" are all included in the user-data script that I specify in the nodepool.

If it is for karpenter need to communicate with the API server, as Karpenter is already inside the cluster, I imagined it would be able to talk the the API server through the internal endpoint (https://kubernetes.default.svc/) without needing the external endpoint URL...

Expected Behavior:

I expected the "clusterEndpoint" to be optional.

Versions:

  • Chart Version: 0.32.1
  • Kubernetes Version: 1.25

Source: aws/karpenter-provider-aws