Skip to content

[PLT-3962] Add MachinePool support for EKS in cloud-provisioner#907

Open
iamjanr wants to merge 10 commits into
Stratio:masterfrom
iamjanr:PLT-3962-MP-01
Open

[PLT-3962] Add MachinePool support for EKS in cloud-provisioner#907
iamjanr wants to merge 10 commits into
Stratio:masterfrom
iamjanr:PLT-3962-MP-01

Conversation

@iamjanr
Copy link
Copy Markdown
Collaborator

@iamjanr iamjanr commented May 4, 2026

PLT-3962 Add MachinePool support for EKS managed node groups

Description

Adds native support for AWSManagedMachinePool (EKS managed node groups / MachinePools) in cluster-operator, while maintaining full backwards compatibility with MachineDeployment-based worker nodes.

Detection logic (field-based, implicit):

  • node_image present → MachineDeployment + AWSMachineTemplate + EKSConfigTemplate
  • ami_type present, or no image field → MachinePool + AWSManagedMachinePool (default: BOTTLEROCKET_x86_64)

Type of Change

  • New feature

Related Pull Requests

iamjanr and others added 2 commits April 28, 2026 13:56
- Detect MP vs MD per node (node_image absence → MachinePool)
- Generate AWSManagedMachinePool manifests for MP nodes
- Add autoscaler RBAC for MachinePool resources
- Add validation for EKS managed node group constraints
- Update cluster struct to carry MP node kind info

Install and MD lifecycle verified OK. MP scale/delete fix pending.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…y doc

aws-load-balancer-controller v2.14.x calls DescribeListenerAttributes during
NLB reconciliation. The IRSA policy reference in the installation guide was
missing this action, causing AccessDenied errors in controller logs.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@iamjanr iamjanr requested a review from tperez-stratio as a code owner May 4, 2026 14:26
@iamjanr iamjanr added wip Work In Progress master labels May 4, 2026
iamjanr and others added 2 commits May 4, 2026 17:26
Add CAPALaunchTemplates and CAPAAutoScalingGroups statements required
for the deployment user when managing EKS MachinePools (managed node groups).
Also add iam:UntagRole alongside the existing iam:TagRole.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown
Collaborator

@tperez-stratio tperez-stratio left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

…onfig for MachinePools

- Add MPRoleName field to AWSCP struct to pass pre-existing IAM role to AWSManagedMachinePools
- Add managedMachinePool block to AWSIAMConfiguration: creates eks-nodegroup role with AmazonEBSCSIDriverPolicy when create_iam: true
- Add .claude/ to .gitignore
@iamjanr iamjanr added ok-to-test and removed wip Work In Progress labels May 11, 2026
iamjanr added 5 commits May 13, 2026 10:08
Adds a new script to assist migration of existing EKS clusters from
MachineDeployments to MachinePools. The script:
- Validates prerequisites (provider, CAPA >= v2.9.2, CO >= 0.6.1, status.ready)
- Patches CAPA feature gates (MachinePool=true, EKSAllowAddRoles=true) idempotently
- Updates cluster-operator to the target version
- Provides a --check-ready assistant mode that validates MP capacity and
  prints drain commands for the equivalent MD worker (client executes manually)
Default is now TARGET_CLUSTER_OPERATOR_VERSION (0.9.0-PR907-SNAPSHOT)
so clients can run the migration script without specifying the version manually.
Before running preparation mode, the script now prints a reminder to verify
that the cluster-operator image and Helm chart are accessible in the
cluster's configured registry and Helm repository.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants