cluster-api-provider-aws icon indicating copy to clipboard operation
cluster-api-provider-aws copied to clipboard

Add support for EKSConfig LaunchTemplate bootstrapping for AL2023 using nodeadm

Open pavansokkenagaraj opened this issue 5 months ago • 2 comments
trafficstars

/kind feature

Describe the solution you'd like Add support for bootstrapping Amazon Linux 2023 (AL2023) nodes in EKSConfig LaunchTemplate mode using nodeadm.

Currently, the Cluster API Provider for AWS (CAPA/CABPE) uses bootstrap.sh tailored for AL2: https://github.com/kubernetes-sigs/cluster-api-provider-aws/blob/main/bootstrap/eks/internal/userdata/node.go#L29-L32 https://github.com/kubernetes-sigs/cluster-api-provider-aws/blob/e7dddb6440cd21f0a0913fab924442244627abd2/bootstrap/eks/internal/userdata/node.go#L29-L32

To support AL2023, the provider should be enhanced to optionally use nodeadm, which is the new method for AL2023 bootstrapping.

Anything else you would like to add:

  • nodeadm is already part of the upstream EKS AMIs for AL2023.
  • This will allow CAPA users to build node groups using the latest Amazon Linux distribution.

Environment:

  • Cluster-api-provider-aws version: latest
  • Kubernetes version: (use kubectl version): All
  • OS (e.g. from /etc/os-release): AL2023

nodeadm bootstrapping example:

MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="//"

--//
Content-Type: application/node.eks.aws

---
apiVersion: node.eks.aws/v1alpha1
kind: NodeConfig
spec:
  cluster:
    apiServerEndpoint: https://4BEC49F1E8ECD359C3F598CCC9.gr7.us-west-2.eks.amazonaws.com
    certificateAuthority: LS0t....tLS0K
    cidr: 10.96.0.0/12
    name: eks-al2023-custom
  kubelet:
    config:
      maxPods: 58
      clusterDNS:
      - 10.96.0.10
    flags:
    - "--node-labels=eks.amazonaws.com/nodegroup-image=ami-09ef91d9ab1f3f76c,eks.amazonaws.com/capacityType=ON_DEMAND,eks.amazonaws.com/nodegroup=al2023-worker-pool"

--//--%

pavansokkenagaraj avatar Jun 11 '25 23:06 pavansokkenagaraj

This issue is currently awaiting triage.

If CAPA/CAPI contributors determines this is a relevant issue, they will accept it by applying the triage/accepted label and provide further guidance.

The triage/accepted label can be added by org members by writing /triage accepted in a comment.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

k8s-ci-robot avatar Jun 11 '25 23:06 k8s-ci-robot

/assign

AmitSahastra avatar Jun 17 '25 04:06 AmitSahastra

The Kubernetes project currently lacks enough contributors to adequately respond to all issues.

This bot triages un-triaged issues according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue as fresh with /remove-lifecycle stale
  • Close this issue with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

k8s-triage-robot avatar Sep 15 '25 05:09 k8s-triage-robot

The deadline for upgrading from Amazon EKS Amazon Linux 2 (AL2) to Amazon Linux 2023 (AL2023) is November 26, 2025. I'm assuming there is no workaround for people using managed nodegroups and AL2.

dsanders1234 avatar Sep 19 '25 19:09 dsanders1234

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues.

This bot triages un-triaged issues according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue as fresh with /remove-lifecycle rotten
  • Close this issue with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle rotten

k8s-triage-robot avatar Oct 19 '25 20:10 k8s-triage-robot

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.

This bot triages issues according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Reopen this issue with /reopen
  • Mark this issue as fresh with /remove-lifecycle rotten
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/close not-planned

k8s-triage-robot avatar Nov 18 '25 20:11 k8s-triage-robot

@k8s-triage-robot: Closing this issue, marking it as "Not Planned".

In response to this:

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.

This bot triages issues according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Reopen this issue with /reopen
  • Mark this issue as fresh with /remove-lifecycle rotten
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/close not-planned

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

k8s-ci-robot avatar Nov 18 '25 20:11 k8s-ci-robot